Mercurial > hg > freeDiameter
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 |
rev | line source |
---|---|
0 | 1 # This file is the source for generating the Makefile for the project, using cmake tool (cmake.org) |
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 | 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 | 21 |
22 # CMake version | |
23 CMAKE_MINIMUM_REQUIRED(VERSION 2.6) | |
24 | |
25 # Location of additional CMake modules | |
26 SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/") | |
27 | |
305 | 28 # The default directories |
29 SET(DEFAULT_CONF_PATH ${CMAKE_INSTALL_PREFIX}/etc/freeDiameter CACHE PATH "Default location of freeDiameter configuration files") | |
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 | 39 |
0 | 40 # All source code should be POSIX 200112L compatible, but some other extensions might be used, so: |
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 | 73 |
74 # some subfolders use yacc and lex parsers | |
75 SET(BISON_GENERATE_DEFINES TRUE) | |
76 SET(BISON_PREFIX_OUTPUTS TRUE) | |
77 INCLUDE(CMakeUserUseBison) | |
78 SET(FLEX_PREFIX_OUTPUTS TRUE) | |
79 INCLUDE(CMakeUserUseFlex) | |
80 IF( NOT BISON_EXECUTABLE OR NOT FLEX_EXECUTABLE ) | |
81 MESSAGE( SEND_ERROR "Bison and Flex are required" ) | |
82 ENDIF( NOT BISON_EXECUTABLE OR NOT FLEX_EXECUTABLE ) | |
83 # Check that flex is at least 2.5.20 to support bison-bridge | |
84 # how to do the check with cmake??? | |
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 | 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 | 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 |