]> git.ipfire.org Git - thirdparty/snort3.git/commitdiff
Merge pull request #2475 in SNORT/snort3 from ~SVLASIUK/snort3:cmake_build_type to...
authorMichael Altizer (mialtize) <mialtize@cisco.com>
Tue, 22 Sep 2020 21:13:50 +0000 (21:13 +0000)
committerMichael Altizer (mialtize) <mialtize@cisco.com>
Tue, 22 Sep 2020 21:13:50 +0000 (21:13 +0000)
Squashed commit of the following:

commit 14d2ee0a319e3daa93d256ef5067a94ddf583378
Author: Serhii Vlasiuk <svlasiuk@cisco.com>
Date:   Fri Sep 11 23:27:18 2020 +0300

    cmake: support cmake build type configuration

CMakeLists.txt
configure_cmake.sh
src/network_inspectors/appid/lua_detector_api.cc

index 87812e17ba1b1fa6436b5838377ce0d20c4872c4..de7ac958756167cb63b14218bce526abd82addb9 100644 (file)
@@ -76,6 +76,8 @@ configure_file(
 add_custom_target(uninstall
     COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)
 
+string(TOUPPER "${CMAKE_BUILD_TYPE}" CMAKE_BUILD_TYPE_UPPER)
+
 message("
 -------------------------------------------------------
 ${CMAKE_PROJECT_NAME} version ${VERSION}
@@ -88,8 +90,8 @@ Install options:
 Compiler options:
     CC:             ${CMAKE_C_COMPILER}
     CXX:            ${CMAKE_CXX_COMPILER}
-    CFLAGS:         ${CMAKE_C_FLAGS}
-    CXXFLAGS:       ${CMAKE_CXX_FLAGS}
+    CFLAGS:         ${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_${CMAKE_BUILD_TYPE_UPPER}}
+    CXXFLAGS:       ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_${CMAKE_BUILD_TYPE_UPPER}}
     EXE_LDFLAGS:    ${CMAKE_EXE_LINKER_FLAGS}
     MODULE_LDFLAGS: ${CMAKE_MODULE_LINKER_FLAGS}
 
index 50cc6fc5db241d690347264195319a947ad4945a..d9e24c2467ad2d06755c5ecdbfee82b8e6685c99 100755 (executable)
@@ -22,6 +22,9 @@ Usage: $0 [OPTION]... [VAR=VALUE]...
         --prefix=     Snort++ installation prefix
 
 Optional Features:
+    --build-type=[Debug|Release|RelWithDebInfo|MinSizeRel]
+                            set cmake build type (defaults to RelWithDebInfo if neither
+                            CFLAGS nor CXXFLAGS are set)
     --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
     --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
     --enable-code-coverage  Whether to enable code coverage support
@@ -141,6 +144,9 @@ prefix=/usr/local/snort
 CMakeCacheEntries=""
 append_cache_entry CMAKE_INSTALL_PREFIX PATH   $prefix
 
+build_type=""
+[ -z "$CFLAGS" ] && [ -z "$CXXFLAGS" ] && build_type="RelWithDebInfo"
+
 
 # parse arguments
 while [ $# -ne 0 ]; do
@@ -353,6 +359,15 @@ while [ $# -ne 0 ]; do
         --enable-docs)
             append_cache_entry MAKE_DOC                 BOOL true
             ;;
+        --build-type=*)
+            if [ $optarg = "Debug" ] || [ $optarg = "Release" ] ||
+            [ $optarg = "RelWithDebInfo" ] || [ $optarg = "MinSizeRel" ]; then
+                build_type=$optarg
+            else
+                echo "Invalid build type '$optarg'. Try $0 --help to see available build types."
+                exit 1
+            fi
+            ;;
         --with-pcap-includes=*)
             append_cache_entry PCAP_INCLUDE_DIR_HINT PATH $optarg
             ;;
@@ -452,6 +467,7 @@ cmake "$gen" \
     -DCMAKE_CXX_FLAGS:STRING="$CXXFLAGS $CPPFLAGS" \
     -DCMAKE_C_FLAGS:STRING="$CFLAGS $CPPFLAGS" \
     -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
+    -DCMAKE_BUILD_TYPE:STRING=$build_type \
     $CMakeCacheEntries $sourcedir
 
 echo "# This is the command used to configure this build" > config.status
index 5a1007e8f90b8d152a8f5f67f92b48674e754c3f..405fab6aacac127fe8f476f6ed9fbaa869f8f7d7 100644 (file)
@@ -51,6 +51,7 @@
 #include "service_plugins/service_discovery.h"
 #include "service_plugins/service_ssl.h"
 #include "host_tracker/host_cache.h"
+#include "host_tracker/host_cache_allocator.cc"
 
 using namespace snort;
 using namespace std;