mirror of
https://github.com/owasp-modsecurity/ModSecurity.git
synced 2025-08-13 13:26:01 +03:00
Add support to turn 3rd party dependencies off
- By default, all the 3rd party dependencies are enabled. - A dependency can be turned off by adding the "-DWITHOUT_xxx=ON" to the call of vcbuild.bat - List of 3rd party dependencies and associated option to turn them off: - LMDB: WITHOUT_LMDB - LUA: WITHOUT_LUA - LibXML2: WITHOUT_LIBXML2 - MaxMind: WITHOUT_MAXMIND - cURL: WITHOUT_CURL
This commit is contained in:
parent
6bf78f2560
commit
1b2de5a5d3
10
.github/workflows/ci.yml
vendored
10
.github/workflows/ci.yml
vendored
@ -80,6 +80,12 @@ jobs:
|
|||||||
os: [windows-2022]
|
os: [windows-2022]
|
||||||
platform: [x86_64]
|
platform: [x86_64]
|
||||||
configuration: [Release]
|
configuration: [Release]
|
||||||
|
configure:
|
||||||
|
- {label: "full", opt: "" }
|
||||||
|
- {label: "wo lmdb", opt: "-DWITHOUT_LMDB=ON" }
|
||||||
|
- {label: "wo lua", opt: "-DWITHOUT_LUA=ON" }
|
||||||
|
- {label: "wo maxmind", opt: "-DWITHOUT_MAXMIND=ON" }
|
||||||
|
- {label: "wo curl", opt: "-DWITHOUT_CURL=ON" }
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
@ -89,9 +95,9 @@ jobs:
|
|||||||
pip3 install conan --upgrade
|
pip3 install conan --upgrade
|
||||||
conan profile detect
|
conan profile detect
|
||||||
- uses: ammaraskar/msvc-problem-matcher@master
|
- uses: ammaraskar/msvc-problem-matcher@master
|
||||||
- name: Build ${{ matrix.configuration }} ${{ matrix.platform }}
|
- name: Build ${{ matrix.configuration }} ${{ matrix.platform }} ${{ matrix.configure.label }}
|
||||||
shell: cmd
|
shell: cmd
|
||||||
run: vcbuild.bat ${{ matrix.configuration }} ${{ matrix.platform }}
|
run: vcbuild.bat ${{ matrix.configuration }} ${{ matrix.platform }} NO_ASAN "${{ matrix.configure.opt }}"
|
||||||
- name: Set up test environment
|
- name: Set up test environment
|
||||||
working-directory: build\win32\build\${{ matrix.configuration }}
|
working-directory: build\win32\build\${{ matrix.configuration }}
|
||||||
env:
|
env:
|
||||||
|
@ -1,8 +1,14 @@
|
|||||||
cmake_minimum_required(VERSION 3.15)
|
cmake_minimum_required(VERSION 3.24)
|
||||||
|
|
||||||
set(BASE_DIR ${CMAKE_CURRENT_LIST_DIR}/../..)
|
set(BASE_DIR ${CMAKE_CURRENT_LIST_DIR}/../..)
|
||||||
|
|
||||||
set(USE_ASAN OFF CACHE BOOL "Build with Address Sanitizer")
|
option(WITHOUT_LMDB "Include LMDB support" OFF)
|
||||||
|
option(WITHOUT_LUA "Include LUA support" OFF)
|
||||||
|
option(WITHOUT_LIBXML2 "Include LibXML2 support" OFF)
|
||||||
|
option(WITHOUT_MAXMIND "Include MaxMind support" OFF)
|
||||||
|
option(WITHOUT_CURL "Include CURL support" OFF)
|
||||||
|
|
||||||
|
option(USE_ASAN "Build with Address Sanitizer" OFF)
|
||||||
|
|
||||||
# common compiler settings
|
# common compiler settings
|
||||||
|
|
||||||
@ -55,14 +61,23 @@ set(PACKAGE_VERSION "${PROJECT_VERSION}")
|
|||||||
set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}")
|
set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}")
|
||||||
set(PACKAGE_TARNAME "${PACKAGE_NAME}")
|
set(PACKAGE_TARNAME "${PACKAGE_NAME}")
|
||||||
|
|
||||||
set(HAVE_GEOIP 0) # should always be zero, no conan package available
|
|
||||||
set(HAVE_LMDB 1)
|
|
||||||
set(HAVE_LUA 1)
|
|
||||||
set(HAVE_LIBXML2 1)
|
|
||||||
set(HAVE_MAXMIND 1)
|
|
||||||
set(HAVE_SSDEEP 0) # should always be zero, no conan package available
|
|
||||||
set(HAVE_YAJL 1) # should always be one, mandatory dependency
|
set(HAVE_YAJL 1) # should always be one, mandatory dependency
|
||||||
set(HAVE_CURL 1)
|
set(HAVE_GEOIP 0) # should always be zero, no conan package available
|
||||||
|
set(HAVE_SSDEEP 0) # should always be zero, no conan package available
|
||||||
|
|
||||||
|
macro(enable_feature flag option)
|
||||||
|
if(${option})
|
||||||
|
set(${flag} 0)
|
||||||
|
else()
|
||||||
|
set(${flag} 1)
|
||||||
|
endif()
|
||||||
|
endmacro()
|
||||||
|
|
||||||
|
enable_feature(HAVE_LMDB ${WITHOUT_LMDB})
|
||||||
|
enable_feature(HAVE_LUA ${WITHOUT_LUA})
|
||||||
|
enable_feature(HAVE_LIBXML2 ${WITHOUT_LIBXML2})
|
||||||
|
enable_feature(HAVE_MAXMIND ${WITHOUT_MAXMIND})
|
||||||
|
enable_feature(HAVE_CURL ${WITHOUT_CURL})
|
||||||
|
|
||||||
include(${CMAKE_CURRENT_LIST_DIR}/ConfigureChecks.cmake)
|
include(${CMAKE_CURRENT_LIST_DIR}/ConfigureChecks.cmake)
|
||||||
|
|
||||||
|
@ -22,7 +22,7 @@ if "%3"=="USE_ASAN" (
|
|||||||
cd build\win32
|
cd build\win32
|
||||||
conan install . -s compiler.cppstd=17 %CI_ASAN% --output-folder=build --build=missing --settings=build_type=%build_type% --settings=arch=%arch%
|
conan install . -s compiler.cppstd=17 %CI_ASAN% --output-folder=build --build=missing --settings=build_type=%build_type% --settings=arch=%arch%
|
||||||
cd build
|
cd build
|
||||||
cmake .. -G "Visual Studio 17 2022" -DCMAKE_TOOLCHAIN_FILE=conan_toolchain.cmake -DUSE_ASAN=%ASAN_FLAG%
|
cmake --fresh .. -G "Visual Studio 17 2022" -DCMAKE_TOOLCHAIN_FILE=conan_toolchain.cmake -DUSE_ASAN=%ASAN_FLAG% %4 %5 %6 %7 %8 %9
|
||||||
cmake --build . --config %build_type%
|
cmake --build . --config %build_type%
|
||||||
|
|
||||||
popd
|
popd
|
||||||
|
Loading…
x
Reference in New Issue
Block a user