annotate CMakeLists.txt @ 1327:82b386714795

Set callback data also when only setting expire callback (and not answer callback as well). It is used when calling the expire callback, so not setting it makes no sense.
author Thomas Klausner <tk@giga.or.at>
date Mon, 27 Nov 2017 15:21:20 +0100
parents 38b0e251b821
children 08a82e819513
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)
1285
1e893500dc72 updated Copyright
Sebastien Decugis <sdecugis@freediameter.net>
parents: 1269
diff changeset
9 SET(FD_PROJECT_COPYRIGHT "Copyright (c) 2008-2015, 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)
1269
c748e2439a3a Bump version number for the next release
Sebastien Decugis <sdecugis@freediameter.net>
parents: 1119
diff changeset
14 SET(FD_PROJECT_VERSION_REV 1)
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
1287
38b0e251b821 Select Debug build type by default if none specified
Sebastien Decugis <sdecugis@freediameter.net>
parents: 1285
diff changeset
43 # Set a default build type if none was specified
38b0e251b821 Select Debug build type by default if none specified
Sebastien Decugis <sdecugis@freediameter.net>
parents: 1285
diff changeset
44 if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
38b0e251b821 Select Debug build type by default if none specified
Sebastien Decugis <sdecugis@freediameter.net>
parents: 1285
diff changeset
45 message(STATUS "Setting build type to 'Debug' as none was specified.")
38b0e251b821 Select Debug build type by default if none specified
Sebastien Decugis <sdecugis@freediameter.net>
parents: 1285
diff changeset
46 set(CMAKE_BUILD_TYPE Debug CACHE STRING "Choose the type of build." FORCE)
38b0e251b821 Select Debug build type by default if none specified
Sebastien Decugis <sdecugis@freediameter.net>
parents: 1285
diff changeset
47 # Set the possible values of build type for cmake-gui
38b0e251b821 Select Debug build type by default if none specified
Sebastien Decugis <sdecugis@freediameter.net>
parents: 1285
diff changeset
48 set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release"
38b0e251b821 Select Debug build type by default if none specified
Sebastien Decugis <sdecugis@freediameter.net>
parents: 1285
diff changeset
49 "MinSizeRel" "RelWithDebInfo" "Profiling" "MaxPerformance" "DebianPackage" "DebugValgrind")
38b0e251b821 Select Debug build type by default if none specified
Sebastien Decugis <sdecugis@freediameter.net>
parents: 1285
diff changeset
50 endif()
38b0e251b821 Select Debug build type by default if none specified
Sebastien Decugis <sdecugis@freediameter.net>
parents: 1285
diff changeset
51
343
4a5211430f63 Added a Profiling build type
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 341
diff changeset
52 # Add a "Profiling" build type
357
dda9330aa711 Do not default to Profiling build type
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 343
diff changeset
53 # SET(CMAKE_BUILD_TYPE Profiling)
416
fa39aecb41c6 Fix profiling profile for FreeBSD8.0
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 397
diff changeset
54 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
55
594
0758a357a151 Added a new MaxPerformance build type for tests, not recommended for use
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 581
diff changeset
56 # 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
57 # 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
58 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
59
436
bfe99640cdfa Added documentation for app_sip in the debian package
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 416
diff changeset
60 # 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
61 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
62
1119
79dd22145f52 Fix a number of compilation warnings
Sebastien Decugis <sdecugis@freediameter.net>
parents: 1091
diff changeset
63 # Set the "Debug" flags
79dd22145f52 Fix a number of compilation warnings
Sebastien Decugis <sdecugis@freediameter.net>
parents: 1091
diff changeset
64 SET(CMAKE_C_FLAGS_DEBUG "-Wall -g -O0")
79dd22145f52 Fix a number of compilation warnings
Sebastien Decugis <sdecugis@freediameter.net>
parents: 1091
diff changeset
65
445
76a896740f94 Added a DebugValgrind configuration
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 436
diff changeset
66 # 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
67 SET(CMAKE_C_FLAGS_DEBUGVALGRIND "-Wall -g -O0")
76a896740f94 Added a DebugValgrind configuration
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 436
diff changeset
68
343
4a5211430f63 Added a Profiling build type
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 341
diff changeset
69 # 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
70 IF (CMAKE_BUILD_TYPE MATCHES "Debug|Profiling|DebugValgrind")
9
fc7c18867cf7 New extension mechanism committed
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 8
diff changeset
71 SET(DEBUG 1)
445
76a896740f94 Added a DebugValgrind configuration
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 436
diff changeset
72 ENDIF (CMAKE_BUILD_TYPE MATCHES "Debug|Profiling|DebugValgrind")
0
13530e1f02e3 Initial files imported
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff changeset
73
13530e1f02e3 Initial files imported
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff changeset
74 # some subfolders use yacc and lex parsers
13530e1f02e3 Initial files imported
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff changeset
75 SET(BISON_GENERATE_DEFINES TRUE)
13530e1f02e3 Initial files imported
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff changeset
76 SET(BISON_PREFIX_OUTPUTS TRUE)
13530e1f02e3 Initial files imported
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff changeset
77 INCLUDE(CMakeUserUseBison)
13530e1f02e3 Initial files imported
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff changeset
78 SET(FLEX_PREFIX_OUTPUTS TRUE)
13530e1f02e3 Initial files imported
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff changeset
79 INCLUDE(CMakeUserUseFlex)
13530e1f02e3 Initial files imported
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff changeset
80 IF( NOT BISON_EXECUTABLE OR NOT FLEX_EXECUTABLE )
13530e1f02e3 Initial files imported
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff changeset
81 MESSAGE( SEND_ERROR "Bison and Flex are required" )
13530e1f02e3 Initial files imported
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff changeset
82 ENDIF( NOT BISON_EXECUTABLE OR NOT FLEX_EXECUTABLE )
13530e1f02e3 Initial files imported
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff changeset
83 # 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
84 # how to do the check with cmake???
13530e1f02e3 Initial files imported
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff changeset
85
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
86 # 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
87 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
88
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
89 # 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
90 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
91 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
92 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
93 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
94
8
3e143f047f78 Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 1
diff changeset
95 # Location for the include files
3e143f047f78 Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 1
diff changeset
96 INCLUDE_DIRECTORIES(include)
3e143f047f78 Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 1
diff changeset
97 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}/include)
3e143f047f78 Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 1
diff changeset
98 SUBDIRS(include/freeDiameter)
3e143f047f78 Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 1
diff changeset
99
0
13530e1f02e3 Initial files imported
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff changeset
100 # Location for the source code
658
f198d16fa7f4 Initial commit for 1.1.0:
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 647
diff changeset
101 SUBDIRS(libfdproto)
f198d16fa7f4 Initial commit for 1.1.0:
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 647
diff changeset
102 SUBDIRS(libfdcore)
f198d16fa7f4 Initial commit for 1.1.0:
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 647
diff changeset
103 SUBDIRS(freeDiameterd)
0
13530e1f02e3 Initial files imported
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff changeset
104
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
105 # 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
106 SUBDIRS(extensions)
658
f198d16fa7f4 Initial commit for 1.1.0:
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 647
diff changeset
107
f198d16fa7f4 Initial commit for 1.1.0:
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 647
diff changeset
108 # The unary tests directory
f198d16fa7f4 Initial commit for 1.1.0:
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 647
diff changeset
109 IF ( BUILD_TESTING )
f198d16fa7f4 Initial commit for 1.1.0:
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 647
diff changeset
110 SUBDIRS(tests)
f198d16fa7f4 Initial commit for 1.1.0:
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 647
diff changeset
111 ENDIF ( BUILD_TESTING )
f198d16fa7f4 Initial commit for 1.1.0:
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 647
diff changeset
112
"Welcome to our mercurial repository"