@@ -7,8 +7,6 @@ if (CMAKE_BINARY_DIR STREQUAL CMAKE_SOURCE_DIR)
77 message (FATAL_ERROR "\n In-source builds are not allowed.\n " )
88endif ()
99
10- set (CMAKE_CXX_STANDARD 17)
11-
1210if (NOT CMAKE_BUILD_TYPE )
1311 set (CMAKE_CONFIGURATION_TYPES "Release;Debug;MinSizeRel;RelWithDebInfo" )
1412 set (CMAKE_BUILD_TYPE Release
@@ -22,7 +20,6 @@ if (ENABLE_CUDA)
2220 set (AMREXPR_USE_CUDA 1)
2321 find_package (CUDAToolkit REQUIRED)
2422 enable_language (CUDA)
25- set (CMAKE_CUDA_STANDARD 17)
2623endif ()
2724
2825option (ENABLE_HIP "Enable HIP support" OFF )
@@ -31,7 +28,6 @@ if (ENABLE_HIP)
3128 set (AMREXPR_USE_HIP 1)
3229 find_package (hip REQUIRED)
3330 enable_language (HIP)
34- set (CMAKE_HIP_STANDARD 17)
3531endif ()
3632
3733option (ENABLE_SYCL "Enable SYCL support" OFF )
@@ -44,6 +40,8 @@ endif()
4440add_library (amrexpr)
4541add_subdirectory (Src)
4642
43+ target_compile_features (amrexpr PUBLIC cxx_std_17)
44+
4745configure_file (${PROJECT_SOURCE_DIR} /Tools/CMake/amrexpr_Config.H.in
4846 ${CMAKE_BINARY_DIR} /amrexpr_Config.H)
4947
@@ -61,16 +59,21 @@ if (ENABLE_CUDA)
6159 set_target_properties (amrexpr PROPERTIES CUDA_ARCHITECTURES native)
6260 endif ()
6361 set_target_properties (amrexpr PROPERTIES CUDA_SEPARABLE_COMPILATION ON )
64- target_compile_options (amrexpr PRIVATE
62+ target_compile_features (amrexpr PUBLIC cuda_std_17)
63+ target_compile_options (amrexpr PUBLIC
6564 $<$<COMPILE_LANGUAGE:CUDA>:-m64>
6665 $<$<COMPILE_LANGUAGE:CUDA>:--expt-relaxed-constexpr>
6766 $<$<COMPILE_LANGUAGE:CUDA>:--expt-extended-lambda>
6867 $<$<COMPILE_LANGUAGE:CUDA>:--use_fast_math>)
69- target_link_libraries (amrexpr PRIVATE CUDA::cudart)
68+ target_link_libraries (amrexpr PUBLIC CUDA::cudart)
69+ endif ()
70+
71+ if (ENABLE_HIP)
72+ target_compile_features (amrexpr PUBLIC hip_std_17)
7073endif ()
7174
7275if (ENABLE_SYCL)
73- target_compile_options (amrexpr PRIVATE -fsycl)
76+ target_compile_options (amrexpr PUBLIC -fsycl)
7477endif ()
7578
7679install (TARGETS amrexpr EXPORT amrexprTargets)
@@ -80,9 +83,6 @@ install(DIRECTORY ${PROJECT_SOURCE_DIR}/Src/ DESTINATION include
8083
8184install (FILES ${CMAKE_BINARY_DIR} /amrexpr_Config.H DESTINATION include )
8285
83- set (PACKAGE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX} )
84- set (PACKAGE_INCLUDE_INSTALL_DIR "include" )
85-
8686set (amrexpr_FIND_DEPENDENCIES "" )
8787if (ENABLE_CUDA)
8888 set (amrexpr_FIND_DEPENDENCIES "${amrexpr_FIND_DEPENDENCIES} \n find_dependency(CUDAToolkit REQUIRED)" )
@@ -102,6 +102,9 @@ write_basic_package_version_file(
102102 COMPATIBILITY AnyNewerVersion
103103)
104104
105+ set (PACKAGE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX} )
106+ set (PACKAGE_INCLUDE_INSTALL_DIR "include" )
107+
105108configure_package_config_file(
106109 "${CMAKE_CURRENT_SOURCE_DIR} /Tools/CMake/amrexprConfig.cmake.in"
107110 "${CMAKE_CURRENT_BINARY_DIR} /amrexprConfig.cmake"
@@ -121,10 +124,8 @@ install(EXPORT amrexprTargets
121124 DESTINATION lib/cmake/amrexpr
122125)
123126
124- # tests
125- # enable_testing
126- # add_subdirectory(Tests)
127-
128- # cofig:
129- # AMREXPR_USE_SYCL, HIP, CUDA, GPU
130- # NDEBUG
127+ option (ENABLE_TESTS "Enable Tests" OFF )
128+ if (ENABLE_TESTS)
129+ enable_testing ()
130+ add_subdirectory (Tests)
131+ endif ()
0 commit comments