-
Notifications
You must be signed in to change notification settings - Fork 20
/
Copy pathCMakeLists.txt
71 lines (54 loc) · 2.24 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
# SOURCES + HEADERS
#############################################################################
LIST(APPEND neat_socketapi_headers
neat-socketapi.h
)
LIST(APPEND neat_socketapi_sources
neat-socketapi.c
neat-socketapi-file.c
neat-socketapi-internals.c
neat-socketapi-io.c
neat-socketapi-poll.c
identifierbitmap.c
notificationqueue.c
eventsignal.c
redblacktree.c
)
#### Define *64() functions ####
ADD_DEFINITIONS(-D_LARGEFILE64_SOURCE)
#### PROGRAMS LIST ####
#############################################################################
LIST(APPEND neat_socketapi_programs
t2.cc
)
# LIBRARIES
#############################################################################
include_directories(.)
ADD_LIBRARY(neat-socketapi SHARED ${neat_socketapi_sources})
set_target_properties(neat-socketapi PROPERTIES
VERSION ${BUILD_VERSION}
SOVERSION ${BUILD_MAJOR}
)
ADD_LIBRARY(neat-socketapi-static STATIC ${neat_socketapi_sources})
TARGET_LINK_LIBRARIES (neat-socketapi neat ${neat_socketapi_libs} "${CMAKE_THREAD_LIBS_INIT}")
#### INSTALL ####
#############################################################################
MESSAGE(STATUS "Install directory: ${CMAKE_INSTALL_PREFIX}")
INSTALL(TARGETS neat-socketapi neat-socketapi-static DESTINATION ${CMAKE_INSTALL_LIBDIR})
INSTALL(FILES ${neat_socketapi_headers} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
# BUILD EACH PROGRAM
#############################################################################
FOREACH (source_file ${neat_socketapi_programs})
GET_FILENAME_COMPONENT(source_file_we ${source_file} NAME_WE)
ADD_EXECUTABLE (
${source_file_we}
${source_file}
)
TARGET_LINK_LIBRARIES(${source_file_we} neat-socketapi "${CMAKE_THREAD_LIBS_INIT}")
# INSTALL(TARGETS ${source_file_we}
# RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
# BUNDLE DESTINATION ${CMAKE_INSTALL_BINDIR})
ENDFOREACH ()
#### INCLUDE EXAMPLES AND TESTS FOLDER ####
#############################################################################
ADD_SUBDIRECTORY(examples)