|
1 |
| -cmake_minimum_required(VERSION 3.15) |
| 1 | +cmake_minimum_required(VERSION 3.24) |
2 | 2 |
|
3 | 3 | set(BASE_DIR ${CMAKE_CURRENT_LIST_DIR}/../..)
|
4 | 4 |
|
5 |
| -set(USE_ASAN OFF CACHE BOOL "Build with Address Sanitizer") |
| 5 | +option(WITHOUT_LMDB "Include LMDB support" OFF) |
| 6 | +option(WITHOUT_LUA "Include LUA support" OFF) |
| 7 | +option(WITHOUT_LIBXML2 "Include LibXML2 support" OFF) |
| 8 | +option(WITHOUT_MAXMIND "Include MaxMind support" OFF) |
| 9 | +option(WITHOUT_CURL "Include CURL support" OFF) |
| 10 | + |
| 11 | +option(USE_ASAN "Build with Address Sanitizer" OFF) |
6 | 12 |
|
7 | 13 | # common compiler settings
|
8 | 14 |
|
@@ -55,14 +61,23 @@ set(PACKAGE_VERSION "${PROJECT_VERSION}")
|
55 | 61 | set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}")
|
56 | 62 | set(PACKAGE_TARNAME "${PACKAGE_NAME}")
|
57 | 63 |
|
| 64 | +set(HAVE_YAJL 1) # should always be one, mandatory dependency |
58 | 65 | set(HAVE_GEOIP 0) # should always be zero, no conan package available
|
59 |
| -set(HAVE_LMDB 1) |
60 |
| -set(HAVE_LUA 1) |
61 |
| -set(HAVE_LIBXML2 1) |
62 |
| -set(HAVE_MAXMIND 1) |
63 | 66 | set(HAVE_SSDEEP 0) # should always be zero, no conan package available
|
64 |
| -set(HAVE_YAJL 1) # should always be one, mandatory dependency |
65 |
| -set(HAVE_CURL 1) |
| 67 | + |
| 68 | +macro(enable_feature flag option) |
| 69 | + if(${option}) |
| 70 | + set(${flag} 0) |
| 71 | + else() |
| 72 | + set(${flag} 1) |
| 73 | + endif() |
| 74 | +endmacro() |
| 75 | + |
| 76 | +enable_feature(HAVE_LMDB ${WITHOUT_LMDB}) |
| 77 | +enable_feature(HAVE_LUA ${WITHOUT_LUA}) |
| 78 | +enable_feature(HAVE_LIBXML2 ${WITHOUT_LIBXML2}) |
| 79 | +enable_feature(HAVE_MAXMIND ${WITHOUT_MAXMIND}) |
| 80 | +enable_feature(HAVE_CURL ${WITHOUT_CURL}) |
66 | 81 |
|
67 | 82 | include(${CMAKE_CURRENT_LIST_DIR}/ConfigureChecks.cmake)
|
68 | 83 |
|
|
0 commit comments