/
CMakeLists.txt
132 lines (104 loc) · 2.86 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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
PROJECT(Dealer)
SET(DEALER_VERSION 0.8)
SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
#SET(CMAKE_INSTALL_PREFIX /usr)
MESSAGE("-- prefix='${CMAKE_INSTALL_PREFIX}'")
CONFIGURE_FILE(
"${PROJECT_SOURCE_DIR}/config.hpp.in"
"${PROJECT_SOURCE_DIR}/include/cocaine/dealer/config.hpp")
FIND_PACKAGE(Boost 1.34.1 REQUIRED
COMPONENTS
program_options
thread)
FIND_PACKAGE(OpenSSL REQUIRED)
FIND_PACKAGE(CURL REQUIRED)
INCLUDE(cmake/locate_library.cmake)
LOCATE_LIBRARY(LIBMSGPACK "msgpack.hpp" "msgpack")
LOCATE_LIBRARY(LIBZMQ "zmq.hpp" "zmq")
IF(NOT APPLE)
LOCATE_LIBRARY(LIBUUID "uuid/uuid.h" "uuid")
SET(LIBUUID_LIBRARY "uuid")
ENDIF()
IF(Boost_MINOR_VERSION GREATER 34)
SET(Boost_SYSTEM_LIBRARY "boost_system-mt")
ENDIF()
INCLUDE_DIRECTORIES(
${Boost_INCLUDE_DIRS}
${OPENSSL_INCLUDE_DIR}
${LIBMSGPACK_INCLUDE_DIRS}
${LIBZMQ_INCLUDE_DIRS})
LINK_DIRECTORIES(
${Boost_LIBRARY_DIRS}
${LIBMSGPACK_LIBRARY_DIRS}
${LIBZMQ_LIBRARY_DIRS})
INCLUDE_DIRECTORIES(BEFORE ${PROJECT_SOURCE_DIR}/foreign/jsoncpp-0.6.0-rc2/include)
INCLUDE_DIRECTORIES(BEFORE ${PROJECT_SOURCE_DIR}/include)
ADD_LIBRARY(json
foreign/jsoncpp-0.6.0-rc2/src/lib_json/json_value
foreign/jsoncpp-0.6.0-rc2/src/lib_json/json_reader
foreign/jsoncpp-0.6.0-rc2/src/lib_json/json_writer)
SET_TARGET_PROPERTIES(json PROPERTIES
COMPILE_FLAGS -fPIC)
FILE(GLOB DEALER_SOURCES
"src/*.cpp")
ADD_LIBRARY(cocaine-dealer SHARED
${DEALER_SOURCES})
TARGET_LINK_LIBRARIES(cocaine-dealer
boost_thread-mt
boost_regex-mt
crypto
curl
json
msgpack
zmq
eblob_cpp
eblob
${Boost_SYSTEM_LIBRARY}
${LIBUUID_LIBRARY})
SET_TARGET_PROPERTIES(cocaine-dealer PROPERTIES
VERSION 1)
ADD_EXECUTABLE(dealer_test_app
tests/dealer_test_app.cpp)
TARGET_LINK_LIBRARIES(dealer_test_app
boost_program_options-mt
cocaine-dealer
zmq)
ADD_EXECUTABLE(overseer
utils/main.cpp
utils/overseer.cpp
src/file_hosts_fetcher.cpp
src/cocaine_node_info.cpp
src/cocaine_node_app_info.cpp
src/cocaine_node_task_info.cpp
src/progress_timer.cpp
src/time_value.cpp
src/networking.cpp)
TARGET_LINK_LIBRARIES(overseer
boost_program_options-mt
json
zmq
msgpack)
INSTALL(
TARGETS
cocaine-dealer
RUNTIME DESTINATION bin COMPONENT runtime
LIBRARY DESTINATION lib COMPONENT runtime
ARCHIVE DESTINATION lib COMPONENT developement)
FILE(GLOB DEALER_DEV_HEADERS
"include/cocaine/dealer/*.hpp")
INSTALL(
FILES
${DEALER_DEV_HEADERS}
DESTINATION include/cocaine/dealer
COMPONENT development)
INSTALL(
DIRECTORY
include/cocaine/dealer/utils
DESTINATION include/cocaine/dealer
COMPONENT development)
INSTALL(
DIRECTORY
foreign/jsoncpp-0.6.0-rc2/include/
DESTINATION include
COMPONENT development)