-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
30 lines (22 loc) · 900 Bytes
/
CMakeLists.txt
File metadata and controls
30 lines (22 loc) · 900 Bytes
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
cmake_minimum_required(VERSION 3.12)
project(cuXtra)
string(TOLOWER "${CMAKE_SYSTEM_NAME}" OS_NAME_LOWER)
string(TOLOWER "${CMAKE_SYSTEM_PROCESSOR}" ARCH_NAME_LOWER)
set(CUXTRA_LIB ${CMAKE_CURRENT_LIST_DIR}/lib/libcuxtra_${OS_NAME_LOWER}_${ARCH_NAME_LOWER}.a)
if(NOT EXISTS ${CUXTRA_LIB})
message(FATAL_ERROR "cuXtra does not support ${CMAKE_SYSTEM_PROCESSOR} on ${CMAKE_SYSTEM_NAME}")
endif()
add_library(cuxtra INTERFACE)
target_include_directories(cuxtra INTERFACE
${CMAKE_CURRENT_LIST_DIR}/include
)
target_link_libraries(cuxtra INTERFACE
${CUXTRA_LIB}
)
if (CMAKE_SYSTEM_NAME MATCHES "Linux")
target_link_libraries(cuxtra INTERFACE dl)
elseif (CMAKE_SYSTEM_NAME MATCHES "Windows")
target_link_libraries(cuxtra INTERFACE shlwapi)
endif()
install(FILES ${CUXTRA_LIB} DESTINATION lib)
install(DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/include/cuxtra DESTINATION include)