Mercurial > hg > freeDiameter
changeset 316:aa8f41bca657
Fixed libraries dependencies
author | Sebastien Decugis <sdecugis@nict.go.jp> |
---|---|
date | Wed, 19 May 2010 11:54:55 +0900 |
parents | 2725e68bc78d |
children | c21a2e345c4d |
files | freeDiameter/CMakeLists.txt freeDiameter/tests/CMakeLists.txt include/freeDiameter/CMakeLists.txt libfreeDiameter/CMakeLists.txt |
diffstat | 4 files changed, 30 insertions(+), 27 deletions(-) [+] |
line wrap: on
line diff
--- a/freeDiameter/CMakeLists.txt Wed May 19 11:36:03 2010 +0900 +++ b/freeDiameter/CMakeLists.txt Wed May 19 11:54:55 2010 +0900 @@ -73,10 +73,6 @@ IF ( NOT SKIP_TESTS ) SUBDIRS(tests) ENDIF ( NOT SKIP_TESTS ) -IF (NOT CMAKE_BUILD_TYPE MATCHES "Debug") - MARK_AS_ADVANCED(SKIP_TESTS) -ENDIF (NOT CMAKE_BUILD_TYPE MATCHES "Debug") - #### ## INSTALL section ##
--- a/freeDiameter/tests/CMakeLists.txt Wed May 19 11:36:03 2010 +0900 +++ b/freeDiameter/tests/CMakeLists.txt Wed May 19 11:54:55 2010 +0900 @@ -49,6 +49,7 @@ # Create an archive with the daemon common files (all but main) ADD_LIBRARY(fDcore STATIC ${TEST_COMMON_SRC}) + ############################## # App_acct test @@ -106,7 +107,7 @@ # Compile each test FOREACH( TEST ${TEST_LIST} ) ADD_EXECUTABLE(${TEST} ${TEST}.c tests.h ${${TEST}_ADDITIONAL}) - TARGET_LINK_LIBRARIES(${TEST} fDcore ${FD_LIBS} ${${TEST}_ADDITIONAL_LIB}) + TARGET_LINK_LIBRARIES(${TEST} fDcore ${FD_LIBS} ${LFD_LIBS} ${${TEST}_ADDITIONAL_LIB}) ADD_TEST(${TEST} ${EXECUTABLE_OUTPUT_PATH}/${TEST}) ENDFOREACH( TEST )
--- a/include/freeDiameter/CMakeLists.txt Wed May 19 11:36:03 2010 +0900 +++ b/include/freeDiameter/CMakeLists.txt Wed May 19 11:54:55 2010 +0900 @@ -27,14 +27,26 @@ INCLUDE (CheckCSourceCompiles) INCLUDE (TestBigEndian) -# We use dlopen and dlclose -SET(FD_LIBS ${FD_LIBS} ${CMAKE_DL_LIBS}) +# Check byte ordering +TEST_BIG_ENDIAN(HOST_BIG_ENDIAN) + +# We need the getopt_long function +CHECK_FUNCTION_EXISTS (getopt_long HAVE_LONG_OPTIONS) +IF (NOT HAVE_LONG_OPTIONS) + MESSAGE(SEND_ERROR "The getopt_long function is not found, please add needed library in build system") +ENDIF (NOT HAVE_LONG_OPTIONS) -# We need the threads library (pthread) +# Check if ntohll is provided on the system +CHECK_SYMBOL_EXISTS(ntohll "" HAVE_NTOHLL) + +# malloc.h ? +CHECK_INCLUDE_FILES (malloc.h HAVE_MALLOC_H) + + +# pthreads INCLUDE(FindThreads) -SET(FD_LIBS ${FD_LIBS} ${CMAKE_THREAD_LIBS_INIT}) -# We need the clock_gettime function ( -lrt, -lposix4 ) +# clock_gettime CHECK_FUNCTION_EXISTS (clock_gettime HAVE_CLOCK_GETTIME) IF (HAVE_CLOCK_GETTIME) SET(CLOCK_GETTIME_LIBS "") @@ -49,7 +61,12 @@ ENDIF (HAVE_LIBPOSIX4) ENDIF (HAVE_LIBRT) ENDIF (HAVE_CLOCK_GETTIME) -SET(FD_LIBS ${FD_LIBS} ${CLOCK_GETTIME_LIBS}) + +# LFD_LIBS = libraries required by the libfreeDiameter. +SET(LFD_LIBS ${CLOCK_GETTIME_LIBS} ${CMAKE_THREAD_LIBS_INIT}) + + +# dlopen and dlclose: CMAKE_DL_LIBS # We need the sctp_connectx function among others # We need the IPPROTO_SCTP symbol from sys/socket.h, netinet/in.h or netinet/sctp.h @@ -58,7 +75,6 @@ IF(NOT HAVE_NATIVE_SCTP) FIND_PACKAGE(SCTP REQUIRED) INCLUDE_DIRECTORIES(${SCTP_INCLUDE_DIRS}) - SET(FD_LIBS ${FD_LIBS} ${SCTP_LIBRARIES}) ENDIF(NOT HAVE_NATIVE_SCTP) # Now check the number of args of this function, since it changed between Ubuntu 9.04 and 9.10 SET(CHECK_SCTP_CONNECTX_4_ARGS_SOURCE_CODE " @@ -74,20 +90,9 @@ MESSAGE(STATUS "Disabled SCTP support.") ENDIF(NOT DISABLE_SCTP) -# Check byte ordering -TEST_BIG_ENDIAN(HOST_BIG_ENDIAN) -# We need the getopt_long function -CHECK_FUNCTION_EXISTS (getopt_long HAVE_LONG_OPTIONS) -IF (NOT HAVE_LONG_OPTIONS) - MESSAGE(SEND_ERROR "The getopt_long function is not found, please add needed library in build system") -ENDIF (NOT HAVE_LONG_OPTIONS) - -# Check if ntohll is provided on the system -CHECK_SYMBOL_EXISTS(ntohll "" HAVE_NTOHLL) - -# malloc.h ? -CHECK_INCLUDE_FILES (malloc.h HAVE_MALLOC_H) +# FD_LIBS = libraries required by the daemon +SET(FD_LIBS ${CMAKE_DL_LIBS} ${SCTP_LIBRARIES}) ########################## # Create the absolute path for searching extensions @@ -99,7 +104,8 @@ CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/freeDiameter-host.h.in ${CMAKE_CURRENT_BINARY_DIR}/freeDiameter-host.h) # Save some variables for the other directories -SET(FD_LIBS ${FD_LIBS} PARENT_SCOPE) +SET(FD_LIBS ${FD_LIBS} PARENT_SCOPE) +SET(LFD_LIBS ${LFD_LIBS} PARENT_SCOPE) #### ## INSTALL section ##
--- a/libfreeDiameter/CMakeLists.txt Wed May 19 11:36:03 2010 +0900 +++ b/libfreeDiameter/CMakeLists.txt Wed May 19 11:54:55 2010 +0900 @@ -23,7 +23,7 @@ SET_TARGET_PROPERTIES(libfreeDiameter PROPERTIES OUTPUT_NAME "freeDiameter") # The library itself needs other libraries -TARGET_LINK_LIBRARIES(libfreeDiameter ${FD_LIBS}) +TARGET_LINK_LIBRARIES(libfreeDiameter ${LFD_LIBS}) # Save the list of files for testcases in the daemon's directory SET(LFD_SRC ${LFD_SRC} PARENT_SCOPE)