aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cmake/GetSNAP.cmake18
-rw-r--r--cmake/snap-glib-base.patch17
2 files changed, 32 insertions, 3 deletions
diff --git a/cmake/GetSNAP.cmake b/cmake/GetSNAP.cmake
index ff0c968..d3e55e2 100644
--- a/cmake/GetSNAP.cmake
+++ b/cmake/GetSNAP.cmake
@@ -14,6 +14,21 @@ elseif(CMAKE_SIZEOF_VOID_P EQUAL 8)
14 set(SNAP_ARCH_FLAG -DGLib_64Bit) 14 set(SNAP_ARCH_FLAG -DGLib_64Bit)
15endif() 15endif()
16 16
17include(CheckIncludeFileCXX)
18check_include_file_cxx("poll.h" SNAP_HAVE_POLL_H)
19if(SNAP_HAVE_POLL_H)
20 set(SNAP_POLL_FLAG -DSNAP_HAVE_POLL_H)
21else()
22 check_include_file_cxx("sys/poll.h" SNAP_HAVE_SYS_POLL_H)
23 if (SNAP_HAVE_SYS_POLL_H)
24 set(SNAP_POLL_FLAG -DSNAP_HAVE_SYS_POLL_H)
25 else()
26 message(FATAL "Required header <poll.h> or <sys/poll.h> not found")
27 endif()
28endif()
29
30set(SNAP_CXX_FLAGS "${SNAP_ARCH_FLAG} ${SNAP_POLL_FLAG} ${OpenMP_CXX_FLAGS}")
31
17include(ExternalProject) 32include(ExternalProject)
18ExternalProject_Add( 33ExternalProject_Add(
19 SNAP 34 SNAP
@@ -24,7 +39,7 @@ ExternalProject_Add(
24 PATCH_COMMAND ${SNAP_PATCHCMD} 39 PATCH_COMMAND ${SNAP_PATCHCMD}
25 CONFIGURE_COMMAND "" 40 CONFIGURE_COMMAND ""
26 BUILD_IN_SOURCE TRUE 41 BUILD_IN_SOURCE TRUE
27 BUILD_COMMAND make CXXFLAGS=${SNAP_ARCH_FLAG} 42 BUILD_COMMAND make "CXXFLAGS=${SNAP_CXX_FLAGS}"
28 COMMAND make -C snap-core lib 43 COMMAND make -C snap-core lib
29 BUILD_BYPRODUCTS snap-core/libsnap.a 44 BUILD_BYPRODUCTS snap-core/libsnap.a
30 INSTALL_COMMAND "" 45 INSTALL_COMMAND ""
@@ -48,4 +63,5 @@ target_include_directories(SNAP::SNAP
48 "${SNAP_SOURCE_DIR}/glib-core" 63 "${SNAP_SOURCE_DIR}/glib-core"
49) 64)
50 65
66target_compile_definitions(SNAP::SNAP INTERFACE ${SNAP_ARCH_FLAG})
51target_link_libraries(SNAP::SNAP INTERFACE OpenMP::OpenMP_CXX) 67target_link_libraries(SNAP::SNAP INTERFACE OpenMP::OpenMP_CXX)
diff --git a/cmake/snap-glib-base.patch b/cmake/snap-glib-base.patch
index 42fcb41..669f797 100644
--- a/cmake/snap-glib-base.patch
+++ b/cmake/snap-glib-base.patch
@@ -1,6 +1,19 @@
1--- a/glib-core/base.h 1--- a/glib-core/base.h
2+++ b/glib-core/base.h 2+++ b/glib-core/base.h
3@@ -89,7 +89,7 @@ 3@@ -66,7 +66,11 @@
4 #include <dirent.h>
5 #include <unistd.h>
6 #include <signal.h>
7- #include <sys/poll.h>
8+ #if defined(SNAP_HAVE_POLL_H)
9+ #include <poll.h>
10+ #elif defined(SNAP_HAVE_SYS_POLL_H)
11+ #include <sys/poll.h>
12+ #endif
13 #include <sys/socket.h>
14 #include <sys/stat.h>
15 #include <sys/time.h>
16@@ -89,7 +93,7 @@
4 #define GLib_32Bit 17 #define GLib_32Bit
5 #elif __WORDSIZE == 64 || defined(GLib_WIN64) || defined(__CYGWIN64__) 18 #elif __WORDSIZE == 64 || defined(GLib_WIN64) || defined(__CYGWIN64__)
6 #define GLib_64Bit 19 #define GLib_64Bit
@@ -9,7 +22,7 @@
9 #error "Undefined word size" 22 #error "Undefined word size"
10 #endif 23 #endif
11 24
12@@ -98,10 +98,8 @@ 25@@ -98,10 +102,8 @@
13 #if defined(GLib_MACOSX) 26 #if defined(GLib_MACOSX)
14 #include <crt_externs.h> 27 #include <crt_externs.h>
15 #define _environ (*_NSGetEnviron()) 28 #define _environ (*_NSGetEnviron())