summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Staessens <dimitri@ouroboros.rocks>2019-03-21 12:15:45 +0100
committerSander Vrijders <sander@ouroboros.rocks>2019-03-21 12:33:54 +0100
commitd6bd976b2456104a56f039ee5c5b83e82a5daa77 (patch)
tree384d4cc4a95eb0b63489a53fe8f646399b5e790d
parent0164e81987eab940e5374b026a38a18ea94c53f9 (diff)
downloadouroboros-d6bd976b2456104a56f039ee5c5b83e82a5daa77.tar.gz
ouroboros-d6bd976b2456104a56f039ee5c5b83e82a5daa77.zip
build: Set specific compiler flags for SWIG target0.15.2
The compiler flags for the SWIG target were added to the global CMAKE_C_FLAGS used for the entire project. This sets the flags uniquely for the SWIG target. The eth has a similar case for the c99 flag. There was a lingering include in dev.c that was removed. Signed-off-by: Dimitri Staessens <dimitri@ouroboros.rocks> Signed-off-by: Sander Vrijders <sander@ouroboros.rocks>
-rw-r--r--CMakeLists.txt2
-rw-r--r--include/ouroboros/wrap/CMakeLists.txt23
-rw-r--r--src/ipcpd/eth/CMakeLists.txt5
-rw-r--r--src/lib/CMakeLists.txt1
-rw-r--r--src/lib/dev.c2
5 files changed, 19 insertions, 14 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d7bbff2a..310d9925 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -9,7 +9,7 @@ include(GNUInstallDirs)
set(PACKAGE_VERSION_MAJOR 0)
set(PACKAGE_VERSION_MINOR 15)
-set(PACKAGE_VERSION_PATCH 1)
+set(PACKAGE_VERSION_PATCH 2)
set(PACKAGE_NAME "${CMAKE_PROJECT_NAME}")
set(PACKAGE_DESCRIPTION "The Ouroboros prototype")
diff --git a/include/ouroboros/wrap/CMakeLists.txt b/include/ouroboros/wrap/CMakeLists.txt
index 9a5e1075..b11f89de 100644
--- a/include/ouroboros/wrap/CMakeLists.txt
+++ b/include/ouroboros/wrap/CMakeLists.txt
@@ -20,12 +20,6 @@ else ()
message(STATUS "Python found: Python bindings will be built")
include_directories(${PYTHON_INCLUDE_PATH})
- # Python assumes C99 since Python 3.6
- test_and_set_c_compiler_flag_global(-std=c99)
- # SWIG generates code for varargs with an unused parameter
- test_and_set_c_compiler_flag_global(-Wno-unused-parameter)
- # SWIG generates code with unsafe strncpy()
- test_and_set_c_compiler_flag_global(-Wno-stringop-truncation)
# CMake > 3.8 deprecates swig_add_module
if (${CMAKE_VERSION} VERSION_LESS 3.8.0)
swig_add_module(ouroboros python ouroboros.i)
@@ -36,6 +30,12 @@ else ()
TYPE MODULE)
endif()
+ # Python assumes C99 since Python 3.6
+ # SWIG generates code for varargs with an unused parameter
+ # SWIG generates code with unsafe strncpy()
+ set_target_properties(ouroboros PROPERTIES
+ COMPILE_FLAGS "${CMAKE_C_FLAGS} -std=c99 -Wno-unused-parameter \
+ -Wno-stringop-truncation")
swig_link_libraries(ouroboros ${PYTHON_LIBRARIES} ouroboros-common
ouroboros-dev ouroboros-irm)
@@ -58,9 +58,14 @@ else ()
${CMAKE_INSTALL_PREFIX} ${_ABS_PYTHON_MODULE_PATH})
endif ()
- install(FILES
- ${CMAKE_CURRENT_BINARY_DIR}/_${SWIG_MODULE_ouroboros_REAL_NAME}.so
- DESTINATION ${PYTHON_MODULE_PATH})
+ if (${CMAKE_VERSION} VERSION_LESS "3.13")
+ install (
+ ${CMAKE_CURRENT_BINARY_DIR}/${SWIG_MODULE_${ouroboros}_REAL_NAME}.so
+ DESTINATION ${PYTHON_MODULE_PATH})
+ else ()
+ install (TARGETS ouroboros
+ DESTINATION ${PYTHON_MODULE_PATH})
+ endif ()
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/ouroboros.py
DESTINATION ${PYTHON_MODULE_PATH})
endif ()
diff --git a/src/ipcpd/eth/CMakeLists.txt b/src/ipcpd/eth/CMakeLists.txt
index 89575b6b..d7105b4f 100644
--- a/src/ipcpd/eth/CMakeLists.txt
+++ b/src/ipcpd/eth/CMakeLists.txt
@@ -66,7 +66,6 @@ if (NOT HAVE_RAW_SOCKETS AND NOT HAVE_BPF AND NETMAP_C_INCLUDE_DIR)
"Disable netmap support for ETH IPCPs")
if (NOT DISABLE_NETMAP)
message(STATUS "Netmap support for Ethernet IPCPs enabled")
- test_and_set_c_compiler_flag_global(-std=c99)
set(HAVE_NETMAP TRUE PARENT_SCOPE)
set(HAVE_ETH TRUE)
else ()
@@ -109,6 +108,10 @@ if (HAVE_ETH)
endif ()
if (HAVE_NETMAP AND NOT APPLE)
+ set_target_properties(ipcpd-eth-llc PROPERTIES
+ COMPILE_FLAGS "${CMAKE_C_FLAGS} -std=c99")
+ set_target_properties(ipcpd-eth-dix PROPERTIES
+ COMPILE_FLAGS "${CMAKE_C_FLAGS} -std=c99")
target_include_directories(ipcpd-eth-llc PUBLIC
${NETMAP_C_INCLUDE_DIR})
target_include_directories(ipcpd-eth-dix PUBLIC
diff --git a/src/lib/CMakeLists.txt b/src/lib/CMakeLists.txt
index c18860a4..d5e80fc9 100644
--- a/src/lib/CMakeLists.txt
+++ b/src/lib/CMakeLists.txt
@@ -234,7 +234,6 @@ target_link_libraries(ouroboros-common ${LIBRT_LIBRARIES}
${LIBGCRYPT_LIBRARIES} ${FUSE_LIBRARIES})
target_link_libraries(ouroboros-dev ouroboros-common)
-
target_link_libraries(ouroboros-irm ouroboros-common)
install(TARGETS ouroboros-common LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
diff --git a/src/lib/dev.c b/src/lib/dev.c
index 10b34e4e..6d5676af 100644
--- a/src/lib/dev.c
+++ b/src/lib/dev.c
@@ -26,8 +26,6 @@
#define _POSIX_C_SOURCE 200809L
#endif
-#include <ouroboros/endian.h>
-
#include "config.h"
#include <ouroboros/hash.h>