annotate CMakeLists.txt @ 1240:0420ccc4671a

Add a counter for the sent requests for which we did not wait for an answer. It might be relevant this value contributes to the load estimate of the remote peer, but it is not very reliable
author Sebastien Decugis <sdecugis@freediameter.net>
date Thu, 10 Oct 2013 16:30:55 +0200
parents 79dd22145f52
children c748e2439a3a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
13530e1f02e3 Initial files imported
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff changeset
1 # This file is the source for generating the Makefile for the project, using cmake tool (cmake.org)
13530e1f02e3 Initial files imported
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff changeset
2
857
cea8e81967eb Generalize flags for CXX in case an extension such as _sample uses C++
Sebastien Decugis <sdecugis@freediameter.net>
parents: 845
diff changeset
3 # Name of the project
cea8e81967eb Generalize flags for CXX in case an extension such as _sample uses C++
Sebastien Decugis <sdecugis@freediameter.net>
parents: 845
diff changeset
4 PROJECT("freeDiameter")
0
13530e1f02e3 Initial files imported
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff changeset
5
8
3e143f047f78 Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 1
diff changeset
6 # Informations to display in daemon's help
3e143f047f78 Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 1
diff changeset
7 SET(FD_PROJECT_NAME freeDiameter)
3e143f047f78 Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 1
diff changeset
8 SET(FD_PROJECT_BINARY freeDiameterd)
1091
a7d8273b7506 New version will be 1.2.0 because of all the changes in the API
Sebastien Decugis <sdecugis@freediameter.net>
parents: 929
diff changeset
9 SET(FD_PROJECT_COPYRIGHT "Copyright (c) 2008-2013, WIDE Project (www.wide.ad.jp) and NICT (www.nict.go.jp)")
320
53f912ce0f4e Add shared object version information
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 313
diff changeset
10
53f912ce0f4e Add shared object version information
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 313
diff changeset
11 # Version of the source code
310
f3fb1e272529 Change version number
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 307
diff changeset
12 SET(FD_PROJECT_VERSION_MAJOR 1)
1091
a7d8273b7506 New version will be 1.2.0 because of all the changes in the API
Sebastien Decugis <sdecugis@freediameter.net>
parents: 929
diff changeset
13 SET(FD_PROJECT_VERSION_MINOR 2)
a7d8273b7506 New version will be 1.2.0 because of all the changes in the API
Sebastien Decugis <sdecugis@freediameter.net>
parents: 929
diff changeset
14 SET(FD_PROJECT_VERSION_REV 0)
320
53f912ce0f4e Add shared object version information
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 313
diff changeset
15
53f912ce0f4e Add shared object version information
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 313
diff changeset
16 # Version of the API with the library
1091
a7d8273b7506 New version will be 1.2.0 because of all the changes in the API
Sebastien Decugis <sdecugis@freediameter.net>
parents: 929
diff changeset
17 SET(FD_PROJECT_VERSION_API 6)
8
3e143f047f78 Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 1
diff changeset
18
341
2bf23d10bc6f Change the test system to use ctest more efficiently
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 339
diff changeset
19 # The test framework, using CTest and CDash.
339
ba59301627b9 Attempt to use CDash to automatize testing of the project
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 320
diff changeset
20 INCLUDE(CTest)
0
13530e1f02e3 Initial files imported
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff changeset
21
13530e1f02e3 Initial files imported
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff changeset
22 # CMake version
13530e1f02e3 Initial files imported
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff changeset
23 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
13530e1f02e3 Initial files imported
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff changeset
24
13530e1f02e3 Initial files imported
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff changeset
25 # Location of additional CMake modules
13530e1f02e3 Initial files imported
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff changeset
26 SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/")
13530e1f02e3 Initial files imported
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff changeset
27
305
61f78fdbacc2 Cleanup vars names
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 304
diff changeset
28 # The default directories
61f78fdbacc2 Cleanup vars names
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 304
diff changeset
29 SET(DEFAULT_CONF_PATH ${CMAKE_INSTALL_PREFIX}/etc/freeDiameter CACHE PATH "Default location of freeDiameter configuration files")
61f78fdbacc2 Cleanup vars names
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 304
diff changeset
30
814
84bdbd87cbd5 Patch for systems that use lib64 instead of lib
Sebastien Decugis <sdecugis@freediameter.net>
parents: 813
diff changeset
31 IF (NOT DEFINED LIB_INSTALL_DIR)
84bdbd87cbd5 Patch for systems that use lib64 instead of lib
Sebastien Decugis <sdecugis@freediameter.net>
parents: 813
diff changeset
32 SET(LIB_INSTALL_DIR lib CACHE PATH "Default library path name on the system, to accomodate RPM-based systems that use lib64")
84bdbd87cbd5 Patch for systems that use lib64 instead of lib
Sebastien Decugis <sdecugis@freediameter.net>
parents: 813
diff changeset
33 ENDIF (NOT DEFINED LIB_INSTALL_DIR)
84bdbd87cbd5 Patch for systems that use lib64 instead of lib
Sebastien Decugis <sdecugis@freediameter.net>
parents: 813
diff changeset
34
313
6fd1e6f56af5 Completed initial debianization
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 310
diff changeset
35 SET(INSTALL_HEADERS_SUFFIX include/freeDiameter CACHE PATH "Directory where the headers are installed (relative to CMAKE_INSTALL_PREFIX).")
6fd1e6f56af5 Completed initial debianization
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 310
diff changeset
36 SET(INSTALL_DAEMON_SUFFIX bin CACHE PATH "Directory where the daemon binary is installed (relative to CMAKE_INSTALL_PREFIX).")
814
84bdbd87cbd5 Patch for systems that use lib64 instead of lib
Sebastien Decugis <sdecugis@freediameter.net>
parents: 813
diff changeset
37 SET(INSTALL_LIBRARY_SUFFIX ${LIB_INSTALL_DIR} CACHE PATH "Directory where the freeDiameter libraries are installed (relative to CMAKE_INSTALL_PREFIX).")
84bdbd87cbd5 Patch for systems that use lib64 instead of lib
Sebastien Decugis <sdecugis@freediameter.net>
parents: 813
diff changeset
38 SET(INSTALL_EXTENSIONS_SUFFIX ${LIB_INSTALL_DIR}/freeDiameter CACHE PATH "Directory where the extensions are installed / searched (relative to CMAKE_INSTALL_PREFIX).")
305
61f78fdbacc2 Cleanup vars names
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 304
diff changeset
39
0
13530e1f02e3 Initial files imported
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff changeset
40 # All source code should be POSIX 200112L compatible, but some other extensions might be used, so:
13530e1f02e3 Initial files imported
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff changeset
41 ADD_DEFINITIONS(-D_GNU_SOURCE)
343
4a5211430f63 Added a Profiling build type
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 341
diff changeset
42
4a5211430f63 Added a Profiling build type
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 341
diff changeset
43 # Add a "Profiling" build type
357
dda9330aa711 Do not default to Profiling build type
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 343
diff changeset
44 # SET(CMAKE_BUILD_TYPE Profiling)
416
fa39aecb41c6 Fix profiling profile for FreeBSD8.0
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 397
diff changeset
45 SET(CMAKE_C_FLAGS_PROFILING "-fprofile-arcs -ftest-coverage -fstack-protector -g -Wall")
343
4a5211430f63 Added a Profiling build type
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 341
diff changeset
46
594
0758a357a151 Added a new MaxPerformance build type for tests, not recommended for use
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 581
diff changeset
47 # Add a "MaxPerformance" build type -- this is very silent...
0758a357a151 Added a new MaxPerformance build type for tests, not recommended for use
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 581
diff changeset
48 # SET(CMAKE_BUILD_TYPE MaxPerformance)
0758a357a151 Added a new MaxPerformance build type for tests, not recommended for use
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 581
diff changeset
49 SET(CMAKE_C_FLAGS_MAXPERFORMANCE "${CMAKE_C_FLAGS_RELEASE} -DSTRIP_DEBUG_CODE")
0758a357a151 Added a new MaxPerformance build type for tests, not recommended for use
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 581
diff changeset
50
436
bfe99640cdfa Added documentation for app_sip in the debian package
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 416
diff changeset
51 # Add a "DebianPackage" build type used when creating the Debian packages
bfe99640cdfa Added documentation for app_sip in the debian package
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 416
diff changeset
52 SET(CMAKE_C_FLAGS_DEBIANPACKAGE "${CMAKE_C_FLAGS_RELWITHDEBINFO}")
bfe99640cdfa Added documentation for app_sip in the debian package
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 416
diff changeset
53
1119
79dd22145f52 Fix a number of compilation warnings
Sebastien Decugis <sdecugis@freediameter.net>
parents: 1091
diff changeset
54 # Set the "Debug" flags
79dd22145f52 Fix a number of compilation warnings
Sebastien Decugis <sdecugis@freediameter.net>
parents: 1091
diff changeset
55 SET(CMAKE_C_FLAGS_DEBUG "-Wall -g -O0")
79dd22145f52 Fix a number of compilation warnings
Sebastien Decugis <sdecugis@freediameter.net>
parents: 1091
diff changeset
56
445
76a896740f94 Added a DebugValgrind configuration
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 436
diff changeset
57 # Add a "DebugValgrind" build type used for checking execution with Valgrind tool
76a896740f94 Added a DebugValgrind configuration
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 436
diff changeset
58 SET(CMAKE_C_FLAGS_DEBUGVALGRIND "-Wall -g -O0")
76a896740f94 Added a DebugValgrind configuration
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 436
diff changeset
59
343
4a5211430f63 Added a Profiling build type
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 341
diff changeset
60 # Set the DEBUG flag for Debug and Profiling builds
445
76a896740f94 Added a DebugValgrind configuration
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 436
diff changeset
61 IF (CMAKE_BUILD_TYPE MATCHES "Debug|Profiling|DebugValgrind")
9
fc7c18867cf7 New extension mechanism committed
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 8
diff changeset
62 SET(DEBUG 1)
445
76a896740f94 Added a DebugValgrind configuration
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 436
diff changeset
63 ENDIF (CMAKE_BUILD_TYPE MATCHES "Debug|Profiling|DebugValgrind")
0
13530e1f02e3 Initial files imported
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff changeset
64
13530e1f02e3 Initial files imported
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff changeset
65 # some subfolders use yacc and lex parsers
13530e1f02e3 Initial files imported
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff changeset
66 SET(BISON_GENERATE_DEFINES TRUE)
13530e1f02e3 Initial files imported
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff changeset
67 SET(BISON_PREFIX_OUTPUTS TRUE)
13530e1f02e3 Initial files imported
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff changeset
68 INCLUDE(CMakeUserUseBison)
13530e1f02e3 Initial files imported
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff changeset
69 SET(FLEX_PREFIX_OUTPUTS TRUE)
13530e1f02e3 Initial files imported
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff changeset
70 INCLUDE(CMakeUserUseFlex)
13530e1f02e3 Initial files imported
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff changeset
71 IF( NOT BISON_EXECUTABLE OR NOT FLEX_EXECUTABLE )
13530e1f02e3 Initial files imported
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff changeset
72 MESSAGE( SEND_ERROR "Bison and Flex are required" )
13530e1f02e3 Initial files imported
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff changeset
73 ENDIF( NOT BISON_EXECUTABLE OR NOT FLEX_EXECUTABLE )
13530e1f02e3 Initial files imported
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff changeset
74 # Check that flex is at least 2.5.20 to support bison-bridge
13530e1f02e3 Initial files imported
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff changeset
75 # how to do the check with cmake???
13530e1f02e3 Initial files imported
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff changeset
76
561
1cb9352359f4 More cleanups in the packaging. Also removed rgw_common.so which was quite useless
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 460
diff changeset
77 # Add this to workaround an apparent bug in FreeBSD cmake (already defined in Linux)
1cb9352359f4 More cleanups in the packaging. Also removed rgw_common.so which was quite useless
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 460
diff changeset
78 SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "-rdynamic")
1cb9352359f4 More cleanups in the packaging. Also removed rgw_common.so which was quite useless
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 460
diff changeset
79
845
5c4cf8d15ef0 Well this time, I hope, should be the last fix to enable compilation on Darwin systems...
Sebastien Decugis <sdecugis@freediameter.net>
parents: 814
diff changeset
80 # For Darwin systems
5c4cf8d15ef0 Well this time, I hope, should be the last fix to enable compilation on Darwin systems...
Sebastien Decugis <sdecugis@freediameter.net>
parents: 814
diff changeset
81 IF(APPLE)
857
cea8e81967eb Generalize flags for CXX in case an extension such as _sample uses C++
Sebastien Decugis <sdecugis@freediameter.net>
parents: 845
diff changeset
82 SET(CMAKE_SHARED_MODULE_CREATE_C_FLAGS "${CMAKE_SHARED_MODULE_CREATE_C_FLAGS} -flat_namespace -undefined dynamic_lookup")
cea8e81967eb Generalize flags for CXX in case an extension such as _sample uses C++
Sebastien Decugis <sdecugis@freediameter.net>
parents: 845
diff changeset
83 SET(CMAKE_SHARED_MODULE_CREATE_CXX_FLAGS "${CMAKE_SHARED_MODULE_CREATE_CXX_FLAGS} -flat_namespace -undefined dynamic_lookup")
845
5c4cf8d15ef0 Well this time, I hope, should be the last fix to enable compilation on Darwin systems...
Sebastien Decugis <sdecugis@freediameter.net>
parents: 814
diff changeset
84 ENDIF(APPLE)
5c4cf8d15ef0 Well this time, I hope, should be the last fix to enable compilation on Darwin systems...
Sebastien Decugis <sdecugis@freediameter.net>
parents: 814
diff changeset
85
8
3e143f047f78 Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 1
diff changeset
86 # Location for the include files
3e143f047f78 Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 1
diff changeset
87 INCLUDE_DIRECTORIES(include)
3e143f047f78 Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 1
diff changeset
88 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}/include)
3e143f047f78 Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 1
diff changeset
89 SUBDIRS(include/freeDiameter)
3e143f047f78 Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 1
diff changeset
90
0
13530e1f02e3 Initial files imported
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff changeset
91 # Location for the source code
658
f198d16fa7f4 Initial commit for 1.1.0:
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 647
diff changeset
92 SUBDIRS(libfdproto)
f198d16fa7f4 Initial commit for 1.1.0:
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 647
diff changeset
93 SUBDIRS(libfdcore)
f198d16fa7f4 Initial commit for 1.1.0:
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 647
diff changeset
94 SUBDIRS(freeDiameterd)
0
13530e1f02e3 Initial files imported
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff changeset
95
561
1cb9352359f4 More cleanups in the packaging. Also removed rgw_common.so which was quite useless
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 460
diff changeset
96 # Extensions (there is no use of freeDiameter without any extension)
304
ad3c46016584 Added install directives for cmake; also allow default directory to seek for extensions and configuration files
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 301
diff changeset
97 SUBDIRS(extensions)
658
f198d16fa7f4 Initial commit for 1.1.0:
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 647
diff changeset
98
f198d16fa7f4 Initial commit for 1.1.0:
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 647
diff changeset
99 # The unary tests directory
f198d16fa7f4 Initial commit for 1.1.0:
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 647
diff changeset
100 IF ( BUILD_TESTING )
f198d16fa7f4 Initial commit for 1.1.0:
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 647
diff changeset
101 SUBDIRS(tests)
f198d16fa7f4 Initial commit for 1.1.0:
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 647
diff changeset
102 ENDIF ( BUILD_TESTING )
f198d16fa7f4 Initial commit for 1.1.0:
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 647
diff changeset
103
"Welcome to our mercurial repository"