1
1
################################################################################
2
2
# THIS FILE IS 100% GENERATED BY ZPROJECT; DO NOT EDIT EXCEPT EXPERIMENTALLY #
3
- # Please refer to the README for information about making permanent changes. #
3
+ # Read the zproject/ README.md for information about making permanent changes. #
4
4
################################################################################
5
5
6
6
########################################################################
@@ -12,6 +12,12 @@ enable_language(C)
12
12
enable_testing ()
13
13
14
14
set (SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR} " )
15
+ set (CMAKE_EXPORT_COMPILE_COMMANDS 1)
16
+ # Select flags
17
+ SET (CMAKE_C_FLAGS_RELEASE "-O3" )
18
+
19
+ # Will be used to add flags to pkg-config useful when apps want to statically link
20
+ set (pkg_config_libs_private "" )
15
21
16
22
########################################################################
17
23
# options
@@ -80,6 +86,7 @@ find_package(libzmq REQUIRED)
80
86
IF (LIBZMQ_FOUND)
81
87
include_directories (${LIBZMQ_INCLUDE_DIRS} )
82
88
list (APPEND MORE_LIBRARIES ${LIBZMQ_LIBRARIES} )
89
+ set (pkg_config_libs_private "${pkg_config_libs_private} -lzmq" )
83
90
ELSE (LIBZMQ_FOUND)
84
91
message ( FATAL_ERROR "libzmq not found." )
85
92
ENDIF (LIBZMQ_FOUND)
@@ -91,6 +98,7 @@ find_package(czmq REQUIRED)
91
98
IF (CZMQ_FOUND)
92
99
include_directories (${CZMQ_INCLUDE_DIRS} )
93
100
list (APPEND MORE_LIBRARIES ${CZMQ_LIBRARIES} )
101
+ set (pkg_config_libs_private "${pkg_config_libs_private} -lczmq" )
94
102
ELSE (CZMQ_FOUND)
95
103
message ( FATAL_ERROR "czmq not found." )
96
104
ENDIF (CZMQ_FOUND)
@@ -102,6 +110,7 @@ find_package(zyre REQUIRED)
102
110
IF (ZYRE_FOUND)
103
111
include_directories (${ZYRE_INCLUDE_DIRS} )
104
112
list (APPEND MORE_LIBRARIES ${ZYRE_LIBRARIES} )
113
+ set (pkg_config_libs_private "${pkg_config_libs_private} -lzyre" )
105
114
ELSE (ZYRE_FOUND)
106
115
message ( FATAL_ERROR "zyre not found." )
107
116
ENDIF (ZYRE_FOUND)
@@ -142,16 +151,22 @@ IF (ENABLE_DRAFTS)
142
151
)
143
152
ENDIF (ENABLE_DRAFTS)
144
153
154
+ IF (ENABLE_DRAFTS)
155
+ list (APPEND glar_sources
156
+ src/glar_private_selftest.c
157
+ )
158
+ ENDIF (ENABLE_DRAFTS)
159
+
145
160
source_group ("Source Files" FILES ${glar_sources} )
146
161
if (NOT DEFINED BUILD_SHARED_LIBS )
147
162
SET (BUILD_SHARED_LIBS ON )
148
163
endif ()
149
164
add_library (glar ${glar_sources} )
150
165
set_target_properties (glar
151
- PROPERTIES DEFINE_SYMBOL "LIBGLAR_EXPORTS "
166
+ PROPERTIES DEFINE_SYMBOL "GLAR_EXPORTS "
152
167
)
153
- set_target_properties (glar
154
- PROPERTIES LIBRARY_OUTPUT_DIRECTORY " ${SOURCE_DIR} /src "
168
+ set_target_properties (glar
169
+ PROPERTIES SOVERSION "0.0.0 "
155
170
)
156
171
target_link_libraries (glar
157
172
${ZEROMQ_LIBRARIES} ${MORE_LIBRARIES}
@@ -201,9 +216,8 @@ target_link_libraries(
201
216
${ZYRE_LIBRARIES}
202
217
${OPTIONAL_LIBRARIES}
203
218
)
204
- set_target_properties (
205
- glard
206
- PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${SOURCE_DIR} /src"
219
+ install (TARGETS glard
220
+ RUNTIME DESTINATION bin
207
221
)
208
222
add_executable (
209
223
glar_selftest
@@ -217,16 +231,19 @@ target_link_libraries(
217
231
${ZYRE_LIBRARIES}
218
232
${OPTIONAL_LIBRARIES}
219
233
)
220
- set_target_properties (
221
- glar_selftest
222
- PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${SOURCE_DIR} /src"
223
- )
224
234
225
235
########################################################################
226
236
# tests
227
237
########################################################################
228
- set (CLASSTEST_TIMEOUT 5 CACHE STRING "Timeout of the selftest of a class" )
229
- set (TOTAL_TIMEOUT 20 CACHE STRING "Timout of the total testsuite" )
238
+ set (CLASSTEST_TIMEOUT 60 CACHE STRING "Timeout of the selftest of a class" )
239
+ set (TOTAL_TIMEOUT 600 CACHE STRING "Timout of the total testsuite" )
240
+
241
+ if (UNIX )
242
+ find_program (MEMORYCHECK_COMMAND valgrind)
243
+ set (MEMORYCHECK_COMMAND_OPTIONS "--leak-check=full --show-reachable=yes
244
+ --error-exitcode=1
245
+ --suppressions=src/.valgrind.supp" )
246
+ endif ()
230
247
231
248
set (TEST_CLASSES
232
249
)
@@ -239,6 +256,12 @@ IF (ENABLE_DRAFTS)
239
256
)
240
257
ENDIF (ENABLE_DRAFTS)
241
258
259
+ IF (ENABLE_DRAFTS)
260
+ list (APPEND TEST_CLASSES
261
+ private_classes
262
+ )
263
+ ENDIF (ENABLE_DRAFTS)
264
+
242
265
foreach (TEST_CLASS ${TEST_CLASSES} )
243
266
add_test (
244
267
NAME ${TEST_CLASS}
@@ -250,14 +273,79 @@ foreach(TEST_CLASS ${TEST_CLASSES})
250
273
)
251
274
endforeach (TEST_CLASS)
252
275
276
+ include (CTest)
277
+
278
+ ########################################################################
279
+ # cleanup
280
+ ########################################################################
281
+ add_custom_target (distclean @echo Cleaning for source distribution)
282
+
283
+ set (cmake_generated ${CMAKE_BINARY_DIR} /CMakeCache.txt
284
+ ${CMAKE_BINARY_DIR} /cmake_install.cmake
285
+ ${CMAKE_BINARY_DIR} /Makefile
286
+ ${CMAKE_BINARY_DIR} /CMakeFiles
287
+ ${CMAKE_BINARY_DIR} /CTestTestfile.cmake
288
+ ${CMAKE_BINARY_DIR} /DartConfiguration.tcl
289
+ ${CMAKE_BINARY_DIR} /Testing
290
+ ${CMAKE_BINARY_DIR} /compile_commands.json
291
+ ${CMAKE_BINARY_DIR} /src/platform.h
292
+ ${CMAKE_BINARY_DIR} /src/libglar.pc
293
+ ${CMAKE_BINARY_DIR} /src/libglar.so
294
+ ${CMAKE_BINARY_DIR} /src/glar150_selftest
295
+ ${CMAKE_BINARY_DIR} /src/glard
296
+ ${CMAKE_BINARY_DIR} /src/glar_selftest
297
+ )
298
+
299
+ add_custom_command (
300
+ DEPENDS clean
301
+ COMMENT "distribution clean"
302
+ COMMAND rm
303
+ ARGS -rf CMakeTmp ${cmake_generated}
304
+ TARGET distclean
305
+ )
253
306
254
307
########################################################################
255
308
# summary
256
309
########################################################################
257
- message (STATUS "*** Version number: ${VERSION} " )
258
- message (STATUS "*** Install target: ${CMAKE_INSTALL_PREFIX} " )
310
+ message ("" )
311
+ message (STATUS "******************* Configuration Summary *******************" )
312
+ message (STATUS "General:" )
313
+ message (STATUS " Version : ${VERSION} " )
314
+ message (STATUS " System : ${CMAKE_SYSTEM_NAME} " )
315
+ message (STATUS " C compiler : ${CMAKE_C_COMPILER} " )
316
+ message (STATUS " Debug C flags : ${CMAKE_C_FLAGS_DEBUG} ${CMAKE_C_FLAGS} " )
317
+ message (STATUS " Release C flags : ${CMAKE_C_FLAGS_RELEASE} ${CMAKE_C_FLAGS} " )
318
+ message (STATUS " Build type : ${CMAKE_BUILD_TYPE} " )
319
+ IF (ENABLE_DRAFTS)
320
+ message (STATUS " Draft API : Yes" )
321
+ ELSE (ENABLE_DRAFTS)
322
+ message (STATUS " Draft API : No" )
323
+ ENDIF (ENABLE_DRAFTS)
324
+ message (STATUS "" )
325
+ message (STATUS "Dependencies:" )
326
+ include (FeatureSummary)
327
+ feature_summary (WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
328
+ message (STATUS "" )
329
+ message (STATUS "Install:" )
330
+ message (STATUS " Install prefix :" "${CMAKE_INSTALL_PREFIX} " )
331
+ message (STATUS "" )
332
+ message (STATUS "************************* Options ***************************" )
333
+ message (STATUS "Options:" )
334
+ message (STATUS " Use the Draft API (default = yes):" )
335
+ message (STATUS " -DENABLE-DRAFTS=[yes|no]" )
336
+ message (STATUS "" )
337
+ message (STATUS "*************************************************************" )
338
+ message (STATUS "Configuration complete! Now procced with:" )
339
+ message (STATUS " 'make' compile the project" )
340
+ message (STATUS " 'make test' run the project's selftest" )
341
+ message (STATUS " 'make install' install the project to ${CMAKE_INSTALL_PREFIX} " )
342
+ message (STATUS "" )
343
+ message (STATUS "Further options are:" )
344
+ message (STATUS " 'ctest -T memcheck' run the project's selftest with" )
345
+ message (STATUS " valgrind to check for memory leaks" )
346
+ message (STATUS "" )
259
347
260
348
################################################################################
261
349
# THIS FILE IS 100% GENERATED BY ZPROJECT; DO NOT EDIT EXCEPT EXPERIMENTALLY #
262
- # Please refer to the README for information about making permanent changes. #
350
+ # Read the zproject/ README.md for information about making permanent changes. #
263
351
################################################################################
0 commit comments