mirror of
https://github.com/owasp-modsecurity/ModSecurity.git
synced 2025-08-12 21:06: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]
|
||||
platform: [x86_64]
|
||||
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:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
@ -89,9 +95,9 @@ jobs:
|
||||
pip3 install conan --upgrade
|
||||
conan profile detect
|
||||
- uses: ammaraskar/msvc-problem-matcher@master
|
||||
- name: Build ${{ matrix.configuration }} ${{ matrix.platform }}
|
||||
- name: Build ${{ matrix.configuration }} ${{ matrix.platform }} ${{ matrix.configure.label }}
|
||||
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
|
||||
working-directory: build\win32\build\${{ matrix.configuration }}
|
||||
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(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
|
||||
|
||||
@ -55,14 +61,23 @@ set(PACKAGE_VERSION "${PROJECT_VERSION}")
|
||||
set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}")
|
||||
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_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)
|
||||
|
||||
|
@ -22,7 +22,7 @@ if "%3"=="USE_ASAN" (
|
||||
cd build\win32
|
||||
conan install . -s compiler.cppstd=17 %CI_ASAN% --output-folder=build --build=missing --settings=build_type=%build_type% --settings=arch=%arch%
|
||||
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%
|
||||
|
||||
popd
|
||||
|
Loading…
x
Reference in New Issue
Block a user