-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathCMakeLists.txt
80 lines (59 loc) · 1.89 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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
cmake_minimum_required(VERSION 2.8)
PROJECT(CPPWRAPPERS)
SET(LIB_NAME cppwrappers)
FILE(GLOB SOURCE_FS Fs/*.cpp)
FILE(GLOB SOURCE_NET Net/*.cpp)
FILE(GLOB SOURCE_SYS System/*.cpp)
FILE(GLOB SOURCE_PARSER Parser/*.cpp)
FILE(GLOB SOURCE_DS Ds/*.cpp)
FILE(GLOB HEADERS_FS Include/Fs/*.h)
FILE(GLOB HEADERS_NET Include/Net/*.h)
FILE(GLOB HEADERS_SYS Include/System/*.h)
FILE(GLOB HEADERS_PARSER Include/Parser/*.h)
FILE(GLOB HEADERS_DS Include/Ds/*.h)
INCLUDE_DIRECTORIES(Include)
ADD_LIBRARY(
${LIB_NAME}
SHARED
${SOURCE_FS}
${SOURCE_NET}
${SOURCE_SYS}
${SOURCE_PARSER}
${SOURCE_DS}
)
FIND_PACKAGE (Threads)
target_link_libraries (${LIB_NAME} ${CMAKE_THREAD_LIBS_INIT})
#Installation of the library
INSTALL(TARGETS ${LIB_NAME}
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib)
SET_TARGET_PROPERTIES(${LIB_NAME} PROPERTIES PUBLIC_HEADER "${HEADERS_FS}")
#Installation of the headers
INSTALL(TARGETS ${LIB_NAME}
PUBLIC_HEADER DESTINATION include/Fs
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib)
SET_TARGET_PROPERTIES(${LIB_NAME} PROPERTIES PUBLIC_HEADER "${HEADERS_SYS}")
#Installation of the headers
INSTALL(TARGETS ${LIB_NAME}
PUBLIC_HEADER DESTINATION include/System
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib)
SET_TARGET_PROPERTIES(${LIB_NAME} PROPERTIES PUBLIC_HEADER "${HEADERS_NET}")
#Installation of the headers
INSTALL(TARGETS ${LIB_NAME}
PUBLIC_HEADER DESTINATION include/Net
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib)
SET_TARGET_PROPERTIES(${LIB_NAME} PROPERTIES PUBLIC_HEADER "${HEADERS_PARSER}")
#Installation of the headers
INSTALL(TARGETS ${LIB_NAME}
PUBLIC_HEADER DESTINATION include/Parser
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib)
SET_TARGET_PROPERTIES(${LIB_NAME} PROPERTIES PUBLIC_HEADER "${HEADERS_DS}")
#Installation of the headers
INSTALL(TARGETS ${LIB_NAME}
PUBLIC_HEADER DESTINATION include/Ds
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib)