Add try_compile check

Signed-off-by: Steven Hahn <hahnse@ornl.gov>
This commit is contained in:
Steven Hahn 2022-06-02 16:34:48 -04:00
parent e585666f9a
commit 1b405a50ca
3 changed files with 20 additions and 7 deletions

View File

@ -0,0 +1,16 @@
set(CUDA_GNU_COMPATIBLE TRUE)
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 12.0)
if(CMAKE_CUDA_COMPILER_VERSION VERSION_LESS_EQUAL 11.7)
set(CUDA_GNU_COMPLATIBLE FALSE)
endif()
endif()
file(COPY ${PROJECT_SOURCE_DIR}/CMake/try_compile_sources/test_map.cu DESTINATION ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp)
try_compile(PASS_MAPCUDA ${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/test_map.cu
CMAKE_FLAGS "${CMAKE_CUDA_FLAGS}")
if(NOT PASS_MAPCUDA OR NOT CUDA_GNU_COMPATIBLE)
message(FATAL_ERROR
"CUDA version <=11.7 do not support GCC versions >= 12. Please change CMAKE_CXX_COMPILER"
"to an older GCC version compatible with the CUDA version ${CMAKE_CUDA_COMPILER_VERSION}")
endif()

View File

@ -0,0 +1,3 @@
#include <map>
int main()
{ }

View File

@ -723,13 +723,7 @@ if(QMC_CUDA OR ENABLE_CUDA)
set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} --allow-unsupported-compiler")
endif()
enable_language(CUDA)
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 12.0)
if(CMAKE_CUDA_COMPILER_VERSION VERSION_LESS_EQUAL 11.7)
message(FATAL_ERROR
"CUDA version <=11.7 do not support GCC versions >= 12. Please change CMAKE_CXX_COMPILER"
"to an older GCC version compatible with the CUDA version ${CMAKE_CUDA_COMPILER_VERSION}")
endif()
endif()
include(TestGNUCUDAVersion)
find_package(CUDAToolkit 11.0 REQUIRED)
if(NOT TARGET CUDA::cublas)
message(