-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
55 lines (39 loc) · 1.6 KB
/
CMakeLists.txt
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
cmake_minimum_required(VERSION 3.20)
project(hashy)
file(GLOB sources ${CMAKE_CURRENT_SOURCE_DIR}/src/*.c)
add_library(hashy SHARED ${sources})
add_library(hashy_static STATIC ${sources})
add_executable(hashy_e ${sources})
target_compile_options(hashy PUBLIC -fPIC)
target_compile_options(hashy_static PUBLIC -fPIC)
target_compile_options(hashy_e PUBLIC -fPIC)
set(HASHY_LIBS m pthread)
target_link_libraries(hashy PUBLIC ${HASHY_LIBS})
target_link_libraries(hashy_static PUBLIC ${HASHY_LIBS})
target_link_libraries(hashy_e PUBLIC ${HASHY_LIBS})
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/src/include)
target_include_directories(
hashy_e
PUBLIC
$<INSTALL_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/include>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
${CMAKE_CURRENT_BINARY_DIR}/include
${CMAKE_CURRENT_SOURCE_DIR}/include)
target_include_directories(
hashy
PUBLIC
$<INSTALL_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/include>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
${CMAKE_CURRENT_BINARY_DIR}/include
${CMAKE_CURRENT_SOURCE_DIR}/include)
target_include_directories(
hashy_static
PUBLIC
$<INSTALL_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/include>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
${CMAKE_CURRENT_BINARY_DIR}/include
${CMAKE_CURRENT_SOURCE_DIR}/include)
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/bench)