summaryrefslogtreecommitdiffstats
path: root/cmake/OpenPGMConfig.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/OpenPGMConfig.cmake')
-rw-r--r--cmake/OpenPGMConfig.cmake63
1 files changed, 63 insertions, 0 deletions
diff --git a/cmake/OpenPGMConfig.cmake b/cmake/OpenPGMConfig.cmake
new file mode 100644
index 0000000..1b7adbc
--- /dev/null
+++ b/cmake/OpenPGMConfig.cmake
@@ -0,0 +1,63 @@
+# Set up build
+SET(pgm_VERSION
+ svn-r1135
+)
+
+IF(UNIX)
+ IF(CMAKE_COMPILER_IS_GNUCC)
+ # The scripts are fine for Linux/GCC, other platforms may or may
+ # not work.
+ SET(LIBPGM_DEFINITIONS
+ -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
+ )
+ SET(LIBPGM_CFLAGS
+ -std=gnu99
+ ${LIBPGM_DEFINITIONS}
+ )
+ SET(LIBPGM_CXXFLAGS
+ -std=gnu++98
+ ${LIBPGM_DEFINITIONS}
+ )
+
+ SET(LIBPGM_LIBRARIES
+ 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)
+
+INCLUDE_DIRECTORIES(
+ ${CMAKE_SOURCE_DIR}/3rdparty/openpgm-${pgm_VERSION}/pgm/include
+ ${GLIB_INCLUDES_DIR}
+)
+