From 4a76880351fd2d7e91ccbc177670f8f4aa6c1ac1 Mon Sep 17 00:00:00 2001 From: Erik Schultheis Date: Mon, 29 Nov 2021 20:24:20 +0000 Subject: [PATCH] Updated CMake This patch updates the minimum required CMake version to 3.10 and removes the EIGEN_TEST_CXX11 CMake option, including corresponding logic. --- CMakeLists.txt | 5 +- cmake/EigenTesting.cmake | 10 - unsupported/test/CMakeLists.txt | 337 ++++++++++++++++---------------- 3 files changed, 168 insertions(+), 184 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index afa52ef7f..15814a7bb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,5 @@ # cmake_minimum_require must be the first command of the file -cmake_minimum_required(VERSION 3.5.0) +cmake_minimum_required(VERSION 3.10.0) # NOTE Remove setting the policy once the minimum required CMake version is # increased to at least 3.15. Retain enabling the export to package registry. @@ -88,9 +88,6 @@ include(CMakeDependentOption) set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) - -option(EIGEN_TEST_CXX11 "Enable testing of unsupported CXX11 tests (i.e. those starting with cxx11_)." OFF) - macro(ei_add_cxx_compiler_flag FLAG) string(REGEX REPLACE "-" "" SFLAG1 ${FLAG}) string(REGEX REPLACE "\\+" "p" SFLAG ${SFLAG1}) diff --git a/cmake/EigenTesting.cmake b/cmake/EigenTesting.cmake index 3077661a8..3fce0f561 100644 --- a/cmake/EigenTesting.cmake +++ b/cmake/EigenTesting.cmake @@ -382,12 +382,6 @@ macro(ei_testing_print_summary) message(STATUS "S390X ZVECTOR: Using architecture defaults") endif() - if(EIGEN_TEST_CXX11) - message(STATUS "C++11: ON") - else() - message(STATUS "C++11: OFF") - endif() - if(EIGEN_TEST_SYCL) if(EIGEN_SYCL_TRISYCL) message(STATUS "SYCL: ON (using triSYCL)") @@ -614,10 +608,6 @@ macro(ei_set_build_string) set(TMP_BUILD_STRING ${TMP_BUILD_STRING}-64bit) endif() - if(EIGEN_TEST_CXX11) - set(TMP_BUILD_STRING ${TMP_BUILD_STRING}-cxx11) - endif() - if(EIGEN_BUILD_STRING_SUFFIX) set(TMP_BUILD_STRING ${TMP_BUILD_STRING}-${EIGEN_BUILD_STRING_SUFFIX}) endif() diff --git a/unsupported/test/CMakeLists.txt b/unsupported/test/CMakeLists.txt index 579b34e9a..f87bacd48 100644 --- a/unsupported/test/CMakeLists.txt +++ b/unsupported/test/CMakeLists.txt @@ -105,183 +105,180 @@ ei_add_test(bessel_functions) ei_add_test(special_functions) ei_add_test(special_packetmath "-DEIGEN_FAST_MATH=1") -if(EIGEN_TEST_CXX11) - if(EIGEN_TEST_SYCL) - set(EIGEN_SYCL ON) - # Forward CMake options as preprocessor definitions - if(EIGEN_SYCL_USE_DEFAULT_SELECTOR) - add_definitions(-DEIGEN_SYCL_USE_DEFAULT_SELECTOR=${EIGEN_SYCL_USE_DEFAULT_SELECTOR}) - endif() - if(EIGEN_SYCL_NO_LOCAL_MEM) - add_definitions(-DEIGEN_SYCL_NO_LOCAL_MEM=${EIGEN_SYCL_NO_LOCAL_MEM}) - endif() - if(EIGEN_SYCL_LOCAL_MEM) - add_definitions(-DEIGEN_SYCL_LOCAL_MEM=${EIGEN_SYCL_LOCAL_MEM}) - endif() - if(EIGEN_SYCL_MAX_GLOBAL_RANGE) - add_definitions(-DEIGEN_SYCL_MAX_GLOBAL_RANGE=${EIGEN_SYCL_MAX_GLOBAL_RANGE}) - endif() - if(EIGEN_SYCL_LOCAL_THREAD_DIM0) - add_definitions(-DEIGEN_SYCL_LOCAL_THREAD_DIM0=${EIGEN_SYCL_LOCAL_THREAD_DIM0}) - endif() - if(EIGEN_SYCL_LOCAL_THREAD_DIM1) - add_definitions(-DEIGEN_SYCL_LOCAL_THREAD_DIM1=${EIGEN_SYCL_LOCAL_THREAD_DIM1}) - endif() - if(EIGEN_SYCL_REG_M) - add_definitions(-DEIGEN_SYCL_REG_M=${EIGEN_SYCL_REG_M}) - endif() - if(EIGEN_SYCL_REG_N) - add_definitions(-DEIGEN_SYCL_REG_N=${EIGEN_SYCL_REG_N}) - endif() - if(EIGEN_SYCL_USE_PROGRAM_CLASS) - add_definitions(-DEIGEN_SYCL_USE_PROGRAM_CLASS=${EIGEN_SYCL_USE_PROGRAM_CLASS}) - endif() - if(EIGEN_SYCL_ASYNC_EXECUTION) - add_definitions(-DEIGEN_SYCL_ASYNC_EXECUTION=${EIGEN_SYCL_ASYNC_EXECUTION}) - endif() - if(EIGEN_SYCL_DISABLE_SKINNY) - add_definitions(-DEIGEN_SYCL_DISABLE_SKINNY=${EIGEN_SYCL_DISABLE_SKINNY}) - endif() - if(EIGEN_SYCL_DISABLE_DOUBLE_BUFFER) - add_definitions(-DEIGEN_SYCL_DISABLE_DOUBLE_BUFFER=${EIGEN_SYCL_DISABLE_DOUBLE_BUFFER}) - endif() - if(EIGEN_SYCL_DISABLE_RANK1) - add_definitions(-DEIGEN_SYCL_DISABLE_RANK1=${EIGEN_SYCL_DISABLE_RANK1}) - endif() - if(EIGEN_SYCL_DISABLE_SCALAR) - add_definitions(-DEIGEN_SYCL_DISABLE_SCALAR=${EIGEN_SYCL_DISABLE_SCALAR}) - endif() - if(EIGEN_SYCL_DISABLE_GEMV) - add_definitions(-DEIGEN_SYCL_DISABLE_GEMV=${EIGEN_SYCL_DISABLE_GEMV}) - endif() - if(EIGEN_SYCL_DISABLE_ARM_GPU_CACHE_OPTIMISATION) - add_definitions(-DEIGEN_SYCL_DISABLE_ARM_GPU_CACHE_OPTIMISATION=${EIGEN_SYCL_DISABLE_ARM_GPU_CACHE_OPTIMISATION}) - endif() +if(EIGEN_TEST_SYCL) + set(EIGEN_SYCL ON) + # Forward CMake options as preprocessor definitions + if(EIGEN_SYCL_USE_DEFAULT_SELECTOR) + add_definitions(-DEIGEN_SYCL_USE_DEFAULT_SELECTOR=${EIGEN_SYCL_USE_DEFAULT_SELECTOR}) + endif() + if(EIGEN_SYCL_NO_LOCAL_MEM) + add_definitions(-DEIGEN_SYCL_NO_LOCAL_MEM=${EIGEN_SYCL_NO_LOCAL_MEM}) + endif() + if(EIGEN_SYCL_LOCAL_MEM) + add_definitions(-DEIGEN_SYCL_LOCAL_MEM=${EIGEN_SYCL_LOCAL_MEM}) + endif() + if(EIGEN_SYCL_MAX_GLOBAL_RANGE) + add_definitions(-DEIGEN_SYCL_MAX_GLOBAL_RANGE=${EIGEN_SYCL_MAX_GLOBAL_RANGE}) + endif() + if(EIGEN_SYCL_LOCAL_THREAD_DIM0) + add_definitions(-DEIGEN_SYCL_LOCAL_THREAD_DIM0=${EIGEN_SYCL_LOCAL_THREAD_DIM0}) + endif() + if(EIGEN_SYCL_LOCAL_THREAD_DIM1) + add_definitions(-DEIGEN_SYCL_LOCAL_THREAD_DIM1=${EIGEN_SYCL_LOCAL_THREAD_DIM1}) + endif() + if(EIGEN_SYCL_REG_M) + add_definitions(-DEIGEN_SYCL_REG_M=${EIGEN_SYCL_REG_M}) + endif() + if(EIGEN_SYCL_REG_N) + add_definitions(-DEIGEN_SYCL_REG_N=${EIGEN_SYCL_REG_N}) + endif() + if(EIGEN_SYCL_USE_PROGRAM_CLASS) + add_definitions(-DEIGEN_SYCL_USE_PROGRAM_CLASS=${EIGEN_SYCL_USE_PROGRAM_CLASS}) + endif() + if(EIGEN_SYCL_ASYNC_EXECUTION) + add_definitions(-DEIGEN_SYCL_ASYNC_EXECUTION=${EIGEN_SYCL_ASYNC_EXECUTION}) + endif() + if(EIGEN_SYCL_DISABLE_SKINNY) + add_definitions(-DEIGEN_SYCL_DISABLE_SKINNY=${EIGEN_SYCL_DISABLE_SKINNY}) + endif() + if(EIGEN_SYCL_DISABLE_DOUBLE_BUFFER) + add_definitions(-DEIGEN_SYCL_DISABLE_DOUBLE_BUFFER=${EIGEN_SYCL_DISABLE_DOUBLE_BUFFER}) + endif() + if(EIGEN_SYCL_DISABLE_RANK1) + add_definitions(-DEIGEN_SYCL_DISABLE_RANK1=${EIGEN_SYCL_DISABLE_RANK1}) + endif() + if(EIGEN_SYCL_DISABLE_SCALAR) + add_definitions(-DEIGEN_SYCL_DISABLE_SCALAR=${EIGEN_SYCL_DISABLE_SCALAR}) + endif() + if(EIGEN_SYCL_DISABLE_GEMV) + add_definitions(-DEIGEN_SYCL_DISABLE_GEMV=${EIGEN_SYCL_DISABLE_GEMV}) + endif() + if(EIGEN_SYCL_DISABLE_ARM_GPU_CACHE_OPTIMISATION) + add_definitions(-DEIGEN_SYCL_DISABLE_ARM_GPU_CACHE_OPTIMISATION=${EIGEN_SYCL_DISABLE_ARM_GPU_CACHE_OPTIMISATION}) + endif() - if(EIGEN_SYCL_TRISYCL) - # triSYCL now requires c++17. - set(CMAKE_CXX_STANDARD 17) + if(EIGEN_SYCL_TRISYCL) + # triSYCL now requires c++17. + set(CMAKE_CXX_STANDARD 17) + else() + if(MSVC) + # Set the host and device compilers C++ standard to C++14. On Windows setting this to C++11 + # can cause issues with the ComputeCpp device compiler parsing Visual Studio Headers. + set(CMAKE_CXX_STANDARD 14) + list(APPEND COMPUTECPP_USER_FLAGS -DWIN32) else() - if(MSVC) - # Set the host and device compilers C++ standard to C++14. On Windows setting this to C++11 - # can cause issues with the ComputeCpp device compiler parsing Visual Studio Headers. - set(CMAKE_CXX_STANDARD 14) - list(APPEND COMPUTECPP_USER_FLAGS -DWIN32) - else() - set(CMAKE_CXX_STANDARD 11) - list(APPEND COMPUTECPP_USER_FLAGS -Wall) - endif() - # The following flags are not supported by Clang and can cause warnings - # if used with -Werror so they are removed here. - if(COMPUTECPP_USE_COMPILER_DRIVER) - set(CMAKE_CXX_COMPILER ${ComputeCpp_DEVICE_COMPILER_EXECUTABLE}) - string(REPLACE "-Wlogical-op" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) - string(REPLACE "-Wno-psabi" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) - endif() - list(APPEND COMPUTECPP_USER_FLAGS - -DEIGEN_NO_ASSERTION_CHECKING=1 - -no-serial-memop - -Xclang - -cl-mad-enable) + set(CMAKE_CXX_STANDARD 11) + list(APPEND COMPUTECPP_USER_FLAGS -Wall) endif() - - ei_add_test(cxx11_tensor_sycl ${STD_CXX_FLAG}) - ei_add_test(cxx11_tensor_image_op_sycl ${STD_CXX_FLAG}) - ei_add_test(cxx11_tensor_math_sycl ${STD_CXX_FLAG}) - ei_add_test(cxx11_tensor_forced_eval_sycl ${STD_CXX_FLAG}) - ei_add_test(cxx11_tensor_broadcast_sycl ${STD_CXX_FLAG}) - ei_add_test(cxx11_tensor_device_sycl ${STD_CXX_FLAG}) - ei_add_test(cxx11_tensor_reduction_sycl ${STD_CXX_FLAG}) - ei_add_test(cxx11_tensor_morphing_sycl ${STD_CXX_FLAG}) - ei_add_test(cxx11_tensor_shuffling_sycl ${STD_CXX_FLAG}) - ei_add_test(cxx11_tensor_padding_sycl ${STD_CXX_FLAG}) - ei_add_test(cxx11_tensor_builtins_sycl ${STD_CXX_FLAG}) - ei_add_test(cxx11_tensor_contract_sycl ${STD_CXX_FLAG}) - ei_add_test(cxx11_tensor_concatenation_sycl ${STD_CXX_FLAG}) - ei_add_test(cxx11_tensor_reverse_sycl ${STD_CXX_FLAG}) - ei_add_test(cxx11_tensor_convolution_sycl ${STD_CXX_FLAG}) - ei_add_test(cxx11_tensor_striding_sycl ${STD_CXX_FLAG}) - ei_add_test(cxx11_tensor_chipping_sycl ${STD_CXX_FLAG}) - ei_add_test(cxx11_tensor_layout_swap_sycl ${STD_CXX_FLAG}) - ei_add_test(cxx11_tensor_inflation_sycl ${STD_CXX_FLAG}) - ei_add_test(cxx11_tensor_random_sycl ${STD_CXX_FLAG}) - ei_add_test(cxx11_tensor_generator_sycl ${STD_CXX_FLAG}) - ei_add_test(cxx11_tensor_patch_sycl ${STD_CXX_FLAG}) - ei_add_test(cxx11_tensor_image_patch_sycl ${STD_CXX_FLAG}) - ei_add_test(cxx11_tensor_volume_patch_sycl ${STD_CXX_FLAG}) - ei_add_test(cxx11_tensor_argmax_sycl ${STD_CXX_FLAG}) - ei_add_test(cxx11_tensor_custom_op_sycl ${STD_CXX_FLAG}) - ei_add_test(cxx11_tensor_scan_sycl ${STD_CXX_FLAG}) - set(EIGEN_SYCL OFF) + # The following flags are not supported by Clang and can cause warnings + # if used with -Werror so they are removed here. + if(COMPUTECPP_USE_COMPILER_DRIVER) + set(CMAKE_CXX_COMPILER ${ComputeCpp_DEVICE_COMPILER_EXECUTABLE}) + string(REPLACE "-Wlogical-op" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) + string(REPLACE "-Wno-psabi" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) + endif() + list(APPEND COMPUTECPP_USER_FLAGS + -DEIGEN_NO_ASSERTION_CHECKING=1 + -no-serial-memop + -Xclang + -cl-mad-enable) endif() - ei_add_test(cxx11_eventcount "-pthread" "${CMAKE_THREAD_LIBS_INIT}") - ei_add_test(cxx11_runqueue "-pthread" "${CMAKE_THREAD_LIBS_INIT}") - ei_add_test(cxx11_non_blocking_thread_pool "-pthread" "${CMAKE_THREAD_LIBS_INIT}") + ei_add_test(cxx11_tensor_sycl) + ei_add_test(cxx11_tensor_image_op_sycl) + ei_add_test(cxx11_tensor_math_sycl) + ei_add_test(cxx11_tensor_forced_eval_sycl) + ei_add_test(cxx11_tensor_broadcast_sycl) + ei_add_test(cxx11_tensor_device_sycl) + ei_add_test(cxx11_tensor_reduction_sycl) + ei_add_test(cxx11_tensor_morphing_sycl) + ei_add_test(cxx11_tensor_shuffling_sycl) + ei_add_test(cxx11_tensor_padding_sycl) + ei_add_test(cxx11_tensor_builtins_sycl) + ei_add_test(cxx11_tensor_contract_sycl) + ei_add_test(cxx11_tensor_concatenation_sycl) + ei_add_test(cxx11_tensor_reverse_sycl) + ei_add_test(cxx11_tensor_convolution_sycl) + ei_add_test(cxx11_tensor_striding_sycl) + ei_add_test(cxx11_tensor_chipping_sycl) + ei_add_test(cxx11_tensor_layout_swap_sycl) + ei_add_test(cxx11_tensor_inflation_sycl) + ei_add_test(cxx11_tensor_random_sycl) + ei_add_test(cxx11_tensor_generator_sycl) + ei_add_test(cxx11_tensor_patch_sycl) + ei_add_test(cxx11_tensor_image_patch_sycl) + ei_add_test(cxx11_tensor_volume_patch_sycl) + ei_add_test(cxx11_tensor_argmax_sycl) + ei_add_test(cxx11_tensor_custom_op_sycl) + ei_add_test(cxx11_tensor_scan_sycl) + set(EIGEN_SYCL OFF) +endif() - ei_add_test(cxx11_meta) - ei_add_test(cxx11_maxsizevector) - ei_add_test(cxx11_tensor_argmax) - ei_add_test(cxx11_tensor_assign) - ei_add_test(cxx11_tensor_block_access) - ei_add_test(cxx11_tensor_block_eval) - ei_add_test(cxx11_tensor_block_io) - ei_add_test(cxx11_tensor_broadcasting) - ei_add_test(cxx11_tensor_casts) - ei_add_test(cxx11_tensor_chipping) - ei_add_test(cxx11_tensor_comparisons) - ei_add_test(cxx11_tensor_concatenation) - ei_add_test(cxx11_tensor_const) - ei_add_test(cxx11_tensor_contraction) - ei_add_test(cxx11_tensor_convolution) - ei_add_test(cxx11_tensor_custom_index) - ei_add_test(cxx11_tensor_custom_op) - ei_add_test(cxx11_tensor_dimension) - ei_add_test(cxx11_tensor_empty) - ei_add_test(cxx11_tensor_executor "-pthread" "${CMAKE_THREAD_LIBS_INIT}") - ei_add_test(cxx11_tensor_expr) - ei_add_test(cxx11_tensor_fft) - ei_add_test(cxx11_tensor_fixed_size) - ei_add_test(cxx11_tensor_forced_eval) - ei_add_test(cxx11_tensor_generator) - ei_add_test(cxx11_tensor_ifft) - ei_add_test(cxx11_tensor_image_patch) - ei_add_test(cxx11_tensor_index_list) - ei_add_test(cxx11_tensor_inflation) - ei_add_test(cxx11_tensor_intdiv) - ei_add_test(cxx11_tensor_io) - ei_add_test(cxx11_tensor_layout_swap) - ei_add_test(cxx11_tensor_lvalue) - ei_add_test(cxx11_tensor_map) - ei_add_test(cxx11_tensor_math) - ei_add_test(cxx11_tensor_mixed_indices) - ei_add_test(cxx11_tensor_morphing) - ei_add_test(cxx11_tensor_move) - ei_add_test(cxx11_tensor_notification "-pthread" "${CMAKE_THREAD_LIBS_INIT}") - ei_add_test(cxx11_tensor_of_complex) - ei_add_test(cxx11_tensor_of_const_values) - ei_add_test(cxx11_tensor_of_strings) - ei_add_test(cxx11_tensor_padding) - ei_add_test(cxx11_tensor_patch) - ei_add_test(cxx11_tensor_random) - ei_add_test(cxx11_tensor_reduction) - ei_add_test(cxx11_tensor_ref) - ei_add_test(cxx11_tensor_roundings) - ei_add_test(cxx11_tensor_scan) - ei_add_test(cxx11_tensor_shuffling) - ei_add_test(cxx11_tensor_simple) - ei_add_test(cxx11_tensor_striding) - ei_add_test(cxx11_tensor_sugar) - ei_add_test(cxx11_tensor_thread_local "-pthread" "${CMAKE_THREAD_LIBS_INIT}") - ei_add_test(cxx11_tensor_thread_pool "-pthread" "${CMAKE_THREAD_LIBS_INIT}") - ei_add_test(cxx11_tensor_trace) - ei_add_test(cxx11_tensor_volume_patch) - # ei_add_test(cxx11_tensor_symmetry) - if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8" AND NOT CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") - # This test requires __uint128_t which is only available on 64bit systems - ei_add_test(cxx11_tensor_uint128) - endif() +ei_add_test(cxx11_eventcount "-pthread" "${CMAKE_THREAD_LIBS_INIT}") +ei_add_test(cxx11_runqueue "-pthread" "${CMAKE_THREAD_LIBS_INIT}") +ei_add_test(cxx11_non_blocking_thread_pool "-pthread" "${CMAKE_THREAD_LIBS_INIT}") +ei_add_test(cxx11_meta) +ei_add_test(cxx11_maxsizevector) +ei_add_test(cxx11_tensor_argmax) +ei_add_test(cxx11_tensor_assign) +ei_add_test(cxx11_tensor_block_access) +ei_add_test(cxx11_tensor_block_eval) +ei_add_test(cxx11_tensor_block_io) +ei_add_test(cxx11_tensor_broadcasting) +ei_add_test(cxx11_tensor_casts) +ei_add_test(cxx11_tensor_chipping) +ei_add_test(cxx11_tensor_comparisons) +ei_add_test(cxx11_tensor_concatenation) +ei_add_test(cxx11_tensor_const) +ei_add_test(cxx11_tensor_contraction) +ei_add_test(cxx11_tensor_convolution) +ei_add_test(cxx11_tensor_custom_index) +ei_add_test(cxx11_tensor_custom_op) +ei_add_test(cxx11_tensor_dimension) +ei_add_test(cxx11_tensor_empty) +ei_add_test(cxx11_tensor_executor "-pthread" "${CMAKE_THREAD_LIBS_INIT}") +ei_add_test(cxx11_tensor_expr) +ei_add_test(cxx11_tensor_fft) +ei_add_test(cxx11_tensor_fixed_size) +ei_add_test(cxx11_tensor_forced_eval) +ei_add_test(cxx11_tensor_generator) +ei_add_test(cxx11_tensor_ifft) +ei_add_test(cxx11_tensor_image_patch) +ei_add_test(cxx11_tensor_index_list) +ei_add_test(cxx11_tensor_inflation) +ei_add_test(cxx11_tensor_intdiv) +ei_add_test(cxx11_tensor_io) +ei_add_test(cxx11_tensor_layout_swap) +ei_add_test(cxx11_tensor_lvalue) +ei_add_test(cxx11_tensor_map) +ei_add_test(cxx11_tensor_math) +ei_add_test(cxx11_tensor_mixed_indices) +ei_add_test(cxx11_tensor_morphing) +ei_add_test(cxx11_tensor_move) +ei_add_test(cxx11_tensor_notification "-pthread" "${CMAKE_THREAD_LIBS_INIT}") +ei_add_test(cxx11_tensor_of_complex) +ei_add_test(cxx11_tensor_of_const_values) +ei_add_test(cxx11_tensor_of_strings) +ei_add_test(cxx11_tensor_padding) +ei_add_test(cxx11_tensor_patch) +ei_add_test(cxx11_tensor_random) +ei_add_test(cxx11_tensor_reduction) +ei_add_test(cxx11_tensor_ref) +ei_add_test(cxx11_tensor_roundings) +ei_add_test(cxx11_tensor_scan) +ei_add_test(cxx11_tensor_shuffling) +ei_add_test(cxx11_tensor_simple) +ei_add_test(cxx11_tensor_striding) +ei_add_test(cxx11_tensor_sugar) +ei_add_test(cxx11_tensor_thread_local "-pthread" "${CMAKE_THREAD_LIBS_INIT}") +ei_add_test(cxx11_tensor_thread_pool "-pthread" "${CMAKE_THREAD_LIBS_INIT}") +ei_add_test(cxx11_tensor_trace) +ei_add_test(cxx11_tensor_volume_patch) +# ei_add_test(cxx11_tensor_symmetry) +if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8" AND NOT CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") + # This test requires __uint128_t which is only available on 64bit systems + ei_add_test(cxx11_tensor_uint128) endif() find_package(CUDA 9.0)