-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
39 lines (37 loc) · 1.65 KB
/
Copy pathCMakeLists.txt
File metadata and controls
39 lines (37 loc) · 1.65 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
cmake_minimum_required(VERSION 3.22)
project(Kokkos_Nums VERSION 0.0.1 LANGUAGES CXX)
list(PREPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/tpls/kokkos/cmake")
set(Kokkos_Nums_VERSION ${PROJECT_VERSION})
set(Kokkos_Nums_VERSION_MAJOR ${PROJECT_VERSION_MAJOR})
set(Kokkos_Nums_VERSION_MINOR ${PROJECT_VERSION_MINOR})
set(Kokkos_Nums_VERSION_PATCH ${PROJECT_VERSION_PATCH})
set(KOKKOS_REQUIRED_VERSION 5.2)
option(Kokkos_Nums_ENABLE_TESTS "Enable tests" ON)
option(Kokkos_Nums_ENABLE_INTERNAL_KOKKOS "Enable internal Kokkos build" OFF)
option(Kokkos_Nums_USE_find_package "Use find_package to locate Kokkos" OFF)
option(Kokkos_Nums_GYSELALIBXX_USE "Use GyselaLibxx" ON)
if(Kokkos_Nums_USE_find_package)
if(NOT TARGET Kokkos::kokkos)
find_package(Kokkos ${KOKKOS_REQUIRED_VERSION} REQUIRED)
endif()
else()
add_subdirectory(tpls/kokkos)
endif()
message(STATUS "Kokkos_Nums_ENABLE_TESTS: ${Kokkos_Nums_ENABLE_TESTS}")
message(STATUS "Kokkos_Nums_ENABLE_INTERNAL_KOKKOS: ${Kokkos_Nums_ENABLE_INTERNAL_KOKKOS}")
message(STATUS "Kokkos version: ${Kokkos_VERSION}")
message(STATUS "Kokkos_Nums version major: ${Kokkos_Nums_VERSION_MAJOR}")
message(STATUS "Kokkos_Nums version minor: ${Kokkos_Nums_VERSION_MINOR}")
message(STATUS "Kokkos_Nums version patch: ${Kokkos_Nums_VERSION_PATCH}")
add_library(kokkos_num INTERFACE)
target_link_libraries(kokkos_num INTERFACE Kokkos::kokkos)
target_include_directories(kokkos_num INTERFACE ${CMAKE_CURRENT_SOURCE_DIR})
if(Kokkos_Nums_ENABLE_TESTS)
include(CTest)
find_package(GTest CONFIG)
if(NOT GTest_FOUND)
add_subdirectory(tpls/googletest)
endif()
endif()
add_subdirectory(Tests)
add_subdirectory(src)