Mercurial > hg > freeDiameter
annotate include/freeDiameter/CMakeLists.txt @ 24:bd83ce9328ed
Cleanups and completed sctp code (not finished)
author | Sebastien Decugis <sdecugis@nict.go.jp> |
---|---|
date | Wed, 21 Oct 2009 18:42:45 +0900 |
parents | db6c40b8b307 |
children | 08d8cbeff30b |
rev | line source |
---|---|
1
bafb831ba688
Fix names to proper case for freeDiameter
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
0
diff
changeset
|
1 #CMake configuration for freeDiameter include directory |
0 | 2 |
1
bafb831ba688
Fix names to proper case for freeDiameter
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
0
diff
changeset
|
3 Project("freeDiameter include directory" C) |
0 | 4 |
5 ######################## | |
6 # Configurable parameters | |
7 | |
8 # Name of the default configuration file | |
9 OPTION(DEFAULT_CONF_FILE "Default path to configuration file?" OFF) | |
10 | |
11 # Disable SCTP support completly ? | |
23
db6c40b8b307
Added some code in cnxctx.c mainly
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
17
diff
changeset
|
12 OPTION(DISABLE_SCTP "Disable SCTP support?" OFF) |
db6c40b8b307
Added some code in cnxctx.c mainly
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
17
diff
changeset
|
13 IF (NOT DISABLE_SCTP) |
db6c40b8b307
Added some code in cnxctx.c mainly
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
17
diff
changeset
|
14 OPTION(DEBUG_SCTP "Verbose SCTP (for debug)?" OFF) |
24
bd83ce9328ed
Cleanups and completed sctp code (not finished)
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
23
diff
changeset
|
15 OPTION(SCTP_USE_MAPPED_ADDRESSES "Use v6-mapped v4 addresses in SCTP (workaround some SCTP limitations)?" OFF) |
23
db6c40b8b307
Added some code in cnxctx.c mainly
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
17
diff
changeset
|
16 ENDIF (NOT DISABLE_SCTP) |
0 | 17 |
17
ab3c58d88be3
Added proper gcrypt initializer
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
13
diff
changeset
|
18 # Find TODO items in the code easily ? |
13
ef9ef3bf4752
Progress on peer state machine
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
8
diff
changeset
|
19 OPTION(ERRORS_ON_TODO "(development) Generate compilation errors on TODO items ?" OFF) |
ef9ef3bf4752
Progress on peer state machine
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
8
diff
changeset
|
20 |
0 | 21 |
22 ######################## | |
23 # System checks | |
24 | |
25 INCLUDE (CheckLibraryExists) | |
26 INCLUDE (CheckFunctionExists) | |
27 INCLUDE (CheckIncludeFiles) | |
28 INCLUDE (CheckSymbolExists) | |
29 INCLUDE (TestBigEndian) | |
30 | |
31 # We use dlopen and dlclose | |
32 SET(FD_LIBS ${FD_LIBS} ${CMAKE_DL_LIBS}) | |
33 | |
34 # We need the threads library (pthread) | |
35 INCLUDE(FindThreads) | |
36 SET(FD_LIBS ${FD_LIBS} ${CMAKE_THREAD_LIBS_INIT}) | |
37 | |
38 # We need the clock_gettime function ( -lrt, -lposix4 ) | |
39 CHECK_FUNCTION_EXISTS (clock_gettime HAVE_CLOCK_GETTIME) | |
40 IF (HAVE_CLOCK_GETTIME) | |
41 SET(CLOCK_GETTIME_LIBS "") | |
42 ELSE (HAVE_CLOCK_GETTIME) | |
43 CHECK_LIBRARY_EXISTS (rt clock_gettime "" HAVE_LIBRT) | |
44 IF (HAVE_LIBRT) | |
45 SET(CLOCK_GETTIME_LIBS "-lrt") | |
46 ELSE (HAVE_LIBRT) | |
47 CHECK_LIBRARY_EXISTS (posix4 clock_gettime "" HAVE_LIBPOSIX4) | |
48 IF (HAVE_LIBPOSIX4) | |
49 SET(CLOCK_GETTIME_LIBS "-lposix4") | |
50 ENDIF (HAVE_LIBPOSIX4) | |
51 ENDIF (HAVE_LIBRT) | |
52 ENDIF (HAVE_CLOCK_GETTIME) | |
53 SET(FD_LIBS ${FD_LIBS} ${CLOCK_GETTIME_LIBS}) | |
54 | |
55 # We need the sctp_getladdrs function ( -lsctp ) | |
56 # We need the IPPROTO_SCTP symbol from sys/socket.h, netinet/in.h or netinet/sctp.h | |
57 IF(NOT DISABLE_SCTP) | |
58 CHECK_FUNCTION_EXISTS(sctp_getladdrs HAVE_NATIVE_SCTP) | |
59 IF(NOT HAVE_NATIVE_SCTP) | |
60 FIND_PACKAGE(SCTP REQUIRED) | |
61 INCLUDE_DIRECTORIES(${SCTP_INCLUDE_DIRS}) | |
62 SET(FD_LIBS ${FD_LIBS} ${SCTP_LIBRARIES}) | |
63 ENDIF(NOT HAVE_NATIVE_SCTP) | |
64 ENDIF(NOT DISABLE_SCTP) | |
65 | |
66 # Check byte ordering | |
67 TEST_BIG_ENDIAN(HOST_BIG_ENDIAN) | |
68 | |
69 # We need the getopt_long function | |
70 CHECK_FUNCTION_EXISTS (getopt_long HAVE_LONG_OPTIONS) | |
71 IF (NOT HAVE_LONG_OPTIONS) | |
72 MESSAGE(SEND_ERROR "The getopt_long function is not found, please add needed library in build system") | |
73 ENDIF (NOT HAVE_LONG_OPTIONS) | |
74 | |
75 # Check if ntohll is provided on the system | |
76 CHECK_SYMBOL_EXISTS(ntohll "" HAVE_NTOHLL) | |
77 | |
78 # malloc.h ? | |
79 CHECK_INCLUDE_FILES (malloc.h HAVE_MALLOC_H) | |
80 | |
8
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
1
diff
changeset
|
81 # signalent.h ? -- found in strace distrib; just for nice signal names... |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
1
diff
changeset
|
82 CHECK_INCLUDE_FILES (signalent.h HAVE_SIGNALENT_H) |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
1
diff
changeset
|
83 |
0 | 84 # The default configuration file name |
85 IF (NOT DEFAULT_CONF_FILE) | |
1
bafb831ba688
Fix names to proper case for freeDiameter
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
0
diff
changeset
|
86 SET(DEFAULT_CONF_FILE "freeDiameter.conf") |
0 | 87 ENDIF (NOT DEFAULT_CONF_FILE) |
88 ########################## | |
89 | |
90 # Generate the host.h file | |
1
bafb831ba688
Fix names to proper case for freeDiameter
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
0
diff
changeset
|
91 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/freeDiameter-host.h.in ${CMAKE_CURRENT_BINARY_DIR}/freeDiameter-host.h) |
0 | 92 |
93 # Save the FD_LIBS for parent scope | |
94 SET(FD_LIBS ${FD_LIBS} PARENT_SCOPE) |