From 6940ab33b5009b79c3141dde7f98ea78a2662449 Mon Sep 17 00:00:00 2001 From: Sebastien Braun Date: Mon, 12 Jul 2010 04:15:13 +0200 Subject: Implement multicast transfer protocol. --- 3rdparty/CMakeLists.txt | 110 +++++++++++++++++++++++------------------------- 1 file changed, 53 insertions(+), 57 deletions(-) (limited to '3rdparty') diff --git a/3rdparty/CMakeLists.txt b/3rdparty/CMakeLists.txt index 84f366b..8a4cea0 100644 --- a/3rdparty/CMakeLists.txt +++ b/3rdparty/CMakeLists.txt @@ -2,15 +2,9 @@ # Build OpenPGM ################################################################################ -# We need GLib -INCLUDE(${CMAKE_ROOT}/Modules/FindPkgConfig.cmake) +INCLUDE(../OpenPGMConfig.cmake) -PKG_CHECK_MODULES(GLIB glib-2.0>=2.10) -IF(NOT GLIB_FOUND) - MESSAGE(FATAL_ERROR "You don't seem to have GLib2 installed.") -ELSE(NOT GLIB_FOUND) - MESSAGE("-- GLib2 found. Libraries: ${GLIB_LIBRARIES}, CFLAGS: ${GLIB_CFLAGS}") -ENDIF(NOT GLIB_FOUND) +ADD_DEFINITIONS(${LIBPGM_CFLAGS}) # Set up build SET(pgm_VERSION @@ -19,7 +13,7 @@ SET(pgm_VERSION # OpenPGM will be built in the binary tree SET(pgm - ${CMAKE_CURRENT_BINARY_DIR}/libpgm-${pgm_VERSION}/openpgm/pgm + ${CMAKE_CURRENT_BINARY_DIR}/libpgm-src/openpgm/pgm ) # This has been adapted from SConscript.libpgm @@ -66,6 +60,35 @@ SET(pgm_SRCS ${pgm}/histogram.c ) +SET(pgm_HDRS + ${pgm}/include/pgm/atomic.h + ${pgm}/include/pgm/backtrace.h + ${pgm}/include/pgm/engine.h + ${pgm}/include/pgm/error.h + ${pgm}/include/pgm/gsi.h + ${pgm}/include/pgm/http.h + ${pgm}/include/pgm/if.h + ${pgm}/include/pgm/list.h + ${pgm}/include/pgm/log.h + ${pgm}/include/pgm/macros.h + ${pgm}/include/pgm/mem.h + ${pgm}/include/pgm/messages.h + ${pgm}/include/pgm/msgv.h + ${pgm}/include/pgm/packet.h + ${pgm}/include/pgm/pgm.h + ${pgm}/include/pgm/signal.h + ${pgm}/include/pgm/skbuff.h + ${pgm}/include/pgm/snmp.h + ${pgm}/include/pgm/socket.h + ${pgm}/include/pgm/time.h + ${pgm}/include/pgm/tsi.h + ${pgm}/include/pgm/types.h + ${pgm}/include/pgm/version.h + ${pgm}/include/pgm/winint.h + ${pgm}/include/pgm/wininttypes.h +) + + SET(pgm_GENERATED ${CMAKE_CURRENT_BINARY_DIR}/version.c ${CMAKE_CURRENT_BINARY_DIR}/galois_tables.c @@ -86,10 +109,24 @@ ADD_CUSTOM_COMMAND(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/version.c # ... and we need to unpack the tree. ADD_CUSTOM_COMMAND( OUTPUT - ${pgm_SRCS} + ${pgm_SRCS} + ${pgm_HDRS} ${pgm}/galois_generator.pl ${pgm}/version_generator.py - COMMAND bzip2 -dc ${CMAKE_CURRENT_SOURCE_DIR}/libpgm-${pgm_VERSION}.tar.bz2 | tar -C ${CMAKE_CURRENT_BINARY_DIR} -x + DEPENDS + "${CMAKE_CURRENT_SOURCE_DIR}/libpgm-${pgm_VERSION}.tar.bz2" + COMMAND rm -rf "${CMAKE_CURRENT_BINARY_DIR}/libpgm-src" + COMMAND bzip2 -dc "${CMAKE_CURRENT_SOURCE_DIR}/libpgm-${pgm_VERSION}.tar.bz2" | tar -C "${CMAKE_CURRENT_BINARY_DIR}" -x + COMMAND mv "${CMAKE_CURRENT_BINARY_DIR}/libpgm-${pgm_VERSION}" "${CMAKE_CURRENT_BINARY_DIR}/libpgm-src" +) + +ADD_CUSTOM_COMMAND(TARGET clean + COMMAND rm -rf "${CMAKE_CURRENT_BINARY_DIR}/libpgm-src" +) + +ADD_CUSTOM_TARGET( + unpack_libpgm + DEPENDS ${pgm_SRCS} ${pgm_HDRS} ) INCLUDE_DIRECTORIES( @@ -101,9 +138,14 @@ ADD_LIBRARY( pgm STATIC ${pgm_SRCS} + ${pgm_HDRS} ${pgm_GENERATED} ) +TARGET_LINK_LIBRARIES(pgm + ${LIBPGM_LIBRARIES} +) + LINK_DIRECTORIES( ${GLIB_LIBRARY_DIRS} ) @@ -112,49 +154,3 @@ ADD_DEFINITIONS( ${GLIB_CFLAGS} ) -IF(UNIX) - IF(CMAKE_COMPILER_IS_GNUCC) - # The scripts are fine for Linux/GCC, other platforms may or may - # not work. - ADD_DEFINITIONS( - -std=gnu99 - -D_XOPEN_SOURCE=600 - -D_BSD_SOURCE - -D_REENTRANT - -DCONFIG_HAVE_GETPROTOBYNAME_R2 - -DCONFIG_HAVE_ISO_VARARGS - -DCONFIG_HAVE_ALLOCA_H - -DCONFIG_16BIT_CHECKSUM - -DCONFIG_HAVE_PROC - -DCONFIG_HAVE_BACKTRACE - -DCONFIG_HAVE_PSELECT - -DCONFIG_HAVE_RTC - -DCONFIG_HAVE_TSC - -DCONFIG_HAVE_HPET - -DCONFIG_HAVE_POLL - -DCONFIG_HAVE_EPOLL - -DCONFIG_HAVE_GETIFADDRS - -DCONFIG_HAVE_IFR_NETMASK - -DCONFIG_HAVE_MCAST_JOIN - -DCONFIG_HAVE_IP_MREQN - -DCONFIG_HAVE_SPRINTF_GROUPING - -DCONFIG_HAVE_VASPRINTF - -DCONFIG_HAVE_DSO_VISIBILITY - -DCONFIG_BIND_INADDR_ANY - -DCONFIG_GALOIS_MUL_LUT - -DCONFIG_HAVE_GETOPT - ) - - TARGET_LINK_LIBRARIES(pgm - m rt - ${GLIB_LIBRARIES}) - - SET(_SYSTEM_SPECIFICS_SET 1) - ENDIF(CMAKE_COMPILER_IS_GNUCC) -ENDIF(UNIX) - -# Complain if this is NOT Linux/GCC. -IF(NOT _SYSTEM_SPECIFICS_SET) - MESSAGE(FATAL_ERROR "Can only build libpgm on Unix with gcc.") -ENDIF(NOT _SYSTEM_SPECIFICS_SET) - -- cgit v1.2.3-55-g7522