From: Michael Altizer (mialtize) Date: Tue, 22 Sep 2020 21:13:50 +0000 (+0000) Subject: Merge pull request #2475 in SNORT/snort3 from ~SVLASIUK/snort3:cmake_build_type to... X-Git-Tag: 3.0.3-1~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=77a4971584bcc5d043bb13eefe40471116a584ab;p=thirdparty%2Fsnort3.git Merge pull request #2475 in SNORT/snort3 from ~SVLASIUK/snort3:cmake_build_type to master Squashed commit of the following: commit 14d2ee0a319e3daa93d256ef5067a94ddf583378 Author: Serhii Vlasiuk Date: Fri Sep 11 23:27:18 2020 +0300 cmake: support cmake build type configuration --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 87812e17b..de7ac9587 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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} diff --git a/configure_cmake.sh b/configure_cmake.sh index 50cc6fc5d..d9e24c246 100755 --- a/configure_cmake.sh +++ b/configure_cmake.sh @@ -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 diff --git a/src/network_inspectors/appid/lua_detector_api.cc b/src/network_inspectors/appid/lua_detector_api.cc index 5a1007e8f..405fab6aa 100644 --- a/src/network_inspectors/appid/lua_detector_api.cc +++ b/src/network_inspectors/appid/lua_detector_api.cc @@ -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;