]>
Commit | Line | Data |
---|---|---|
3541adc1 J |
1 | #!/bin/sh |
2 | # Convenience wrapper for easily viewing/setting options that | |
3 | # the project's CMake scripts will recognize | |
5f341c40 | 4 | |
3541adc1 J |
5 | set -e |
6 | command="$0 $*" | |
7 | ||
8 | # check for `cmake` command | |
9 | type cmake > /dev/null 2>&1 || { | |
10 | echo "\ | |
11 | This package requires CMake, please install it first, then you may | |
12 | use this configure script to access CMake equivalent functionality.\ | |
13 | " >&2; | |
14 | exit 1; | |
15 | } | |
16 | ||
17 | usage="\ | |
18 | Usage: $0 [OPTION]... [VAR=VALUE]... | |
19 | ||
efd30273 J |
20 | --builddir= The build directory |
21 | --generator= run cmake --help for a list of generators | |
22 | --prefix= Snort++ installation prefix | |
3541adc1 | 23 | |
efd30273 | 24 | Optional Features: |
77a49715 MA |
25 | --build-type=[Debug|Release|RelWithDebInfo|MinSizeRel] |
26 | set cmake build type (defaults to RelWithDebInfo if neither | |
27 | CFLAGS nor CXXFLAGS are set) | |
efd30273 J |
28 | --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) |
29 | --enable-FEATURE[=ARG] include FEATURE [ARG=yes] | |
92a8b166 RC |
30 | --enable-code-coverage Whether to enable code coverage support |
31 | --enable-hardened-build Detect and use compile-time hardening options | |
32 | --enable-pie Attempt to produce a position-independent executable | |
051f5360 | 33 | --disable-safec do not use libsafec bounds checking even if available |
92a8b166 RC |
34 | --disable-static-ips-actions |
35 | do not include ips actions in binary | |
36 | --disable-static-inspectors | |
37 | do not include inspectors in binary | |
38 | --disable-static-loggers | |
39 | do not include loggers in binary | |
40 | --disable-static-ips-options | |
41 | do not include ips options in binary | |
42 | --disable-static-search-engines | |
43 | do not include search engines in binary | |
44 | --disable-static-codecs do not include codecs in binary | |
45 | --enable-shell enable command line shell support | |
46 | --enable-large-pcap enable support for pcaps larger than 2 GB | |
3d760936 | 47 | --enable-stdlog use file descriptor 3 instead of stdout for alerts |
a8dd0cd8 | 48 | --enable-tsc-clock use timestamp counter register clock (x86 and arm only) |
92a8b166 RC |
49 | --enable-debug-msgs enable debug printing options (bugreports and |
50 | developers only) | |
51 | --enable-debug enable debugging options (bugreports and developers | |
52 | only) | |
4b21a2ca | 53 | --disable-gdb disable gdb debugging information |
92a8b166 | 54 | --enable-gprof-profile enable gprof profiling options (developers only) |
d284ef2b MA |
55 | --disable-snort-profiler |
56 | disable snort performance profiling (cpu and memory) (developers only) | |
5b4d8219 RC |
57 | --enable-memory-profiler |
58 | enable memory profiler | |
59 | --enable-rule-profiler enable rule keyword profiler (developers only) | |
60 | --enable-deep-profiling enable deep (multi-level) profiling (developers only) | |
92a8b166 RC |
61 | --disable-corefiles prevent Snort from generating core files |
62 | --enable-address-sanitizer | |
63 | enable address sanitizer support | |
b2c1b572 RC |
64 | --enable-thread-sanitizer |
65 | enable thread sanitizer support | |
5b4d8219 RC |
66 | --enable-ub-sanitizer enable undefined behavior sanitizer support |
67 | --enable-tcmalloc enable using tcmalloc for dynamic memory management | |
68 | --enable-jemalloc enable using jemalloc for dynamic memory management | |
69 | --enable-jemalloc-static | |
70 | same as --enable-jemalloc but linked statically | |
ef599435 | 71 | --enable-luajit-static enable luajit linked statically |
3e367c0e MA |
72 | --enable-appid-third-party |
73 | enable third party appid | |
92a8b166 | 74 | --enable-unit-tests build unit tests |
11398131 | 75 | --enable-ccache enable ccache support |
92a8b166 RC |
76 | --disable-static-daq link static DAQ modules |
77 | --disable-html-docs don't create the HTML documentation | |
78 | --disable-pdf-docs don't create the PDF documentation | |
7f05859b TP |
79 | --disable-text-docs don't create the TEXT documentation |
80 | --disable-docs don't create documentation | |
76719be3 | 81 | |
8dff7f34 | 82 | Optional Packages: |
efd30273 J |
83 | --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] |
84 | --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) | |
92a8b166 RC |
85 | --with-pcap-includes=DIR |
86 | libpcap include directory | |
87 | --with-pcap-libraries=DIR | |
88 | libpcap library directory | |
89 | --with-luajit-includes=DIR | |
90 | luajit include directory | |
91 | --with-luajit-libraries=DIR | |
92 | luajit library directory | |
93 | --with-pcre-includes=DIR | |
94 | libpcre include directory | |
95 | --with-pcre-libraries=DIR | |
96 | libpcre library directory | |
97 | --with-dnet-includes=DIR | |
98 | libdnet include directory | |
99 | --with-dnet-libraries=DIR | |
100 | libdnet library directory | |
101 | --with-daq-includes=DIR DAQ include directory | |
102 | --with-daq-libraries=DIR | |
103 | DAQ library directory | |
104 | --with-openssl=DIR openssl installation root directory | |
105 | --with-hyperscan-includes=DIR | |
106 | libhs include directory | |
107 | --with-hyperscan-libraries=DIR | |
108 | libhs library directory | |
4e14cb53 MS |
109 | --with-atomic-libraries=DIR |
110 | atomic library directory | |
90d56049 MS |
111 | --with-flex-prefix=DIR |
112 | flex prefix directory | |
113 | --with-flex-includes=DIR | |
114 | flex include directory | |
560f3804 MA |
115 | --with-iconv-includes=DIR |
116 | libiconv include directory | |
117 | --with-iconv-libraries=DIR | |
118 | libiconv library directory | |
bb298f4c HC |
119 | --with-uuid-includes=DIR |
120 | libuuid include directory | |
121 | --with-uuid-libraries=DIR | |
122 | libuuid library directory | |
e85ae49a OSSIC |
123 | --with-libml-includes=DIR |
124 | libml include directory | |
125 | --with-libml-libraries=DIR | |
126 | libml library directory | |
fc8ecb43 | 127 | --without-libml build Snort ML with mock of LibML |
3541adc1 | 128 | |
94a08676 RC |
129 | Some influential variable definitions: |
130 | SIGNAL_SNORT_RELOAD=<int> | |
131 | override the signal used to reload configuration (default: SIGHUP) | |
132 | SIGNAL_SNORT_DUMP_STATS=<int> | |
133 | override the signal used to dump run-time statistics (default: SIGUSR1) | |
134 | SIGNAL_SNORT_ROTATE_STATS=<int> | |
135 | override the signal used to force rotation of stats files (default: SIGUSR2) | |
136 | SIGNAL_SNORT_READ_ATTR_TBL=<int> | |
137 | override the signal used to reload the host attributes table (default: SIGURG) | |
138 | SNORT_BUILD_NUMBER=<int> | |
139 | define a build number for this build of Snort | |
3541adc1 J |
140 | " |
141 | ||
142 | sourcedir="$( cd "$( dirname "$0" )" && pwd )" | |
143 | ||
144 | # Function to append a CMake cache entry definition to the | |
145 | # CMakeCacheEntries variable | |
146 | # $1 is the cache entry variable name | |
147 | # $2 is the cache entry variable type | |
148 | # $3 is the cache entry variable value | |
149 | append_cache_entry () { | |
150 | CMakeCacheEntries="$CMakeCacheEntries -D $1:$2=$3" | |
151 | } | |
152 | ||
3541adc1 J |
153 | # set defaults |
154 | builddir=build | |
155 | prefix=/usr/local/snort | |
156 | CMakeCacheEntries="" | |
157 | append_cache_entry CMAKE_INSTALL_PREFIX PATH $prefix | |
158 | ||
77a49715 MA |
159 | build_type="" |
160 | [ -z "$CFLAGS" ] && [ -z "$CXXFLAGS" ] && build_type="RelWithDebInfo" | |
161 | ||
3541adc1 J |
162 | |
163 | # parse arguments | |
164 | while [ $# -ne 0 ]; do | |
165 | case "$1" in | |
e04e9ad2 | 166 | *=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;; |
3541adc1 J |
167 | *) optarg= ;; |
168 | esac | |
169 | ||
170 | case "$1" in | |
171 | --help|-h) | |
172 | echo "${usage}" 1>&2 | |
173 | exit 1 | |
174 | ;; | |
175 | --builddir=*) | |
176 | builddir=$optarg | |
177 | ;; | |
3a6cccea RC |
178 | --define=*) |
179 | CMakeCacheEntries="$CMakeCacheEntries -D$optarg" | |
180 | ;; | |
3541adc1 J |
181 | --generator=*) |
182 | CMakeGenerator="$optarg" | |
183 | ;; | |
184 | --prefix=*) | |
185 | prefix=$optarg | |
186 | append_cache_entry CMAKE_INSTALL_PREFIX PATH $optarg | |
187 | ;; | |
92a8b166 RC |
188 | --enable-code-coverage) |
189 | append_cache_entry ENABLE_CODE_COVERAGE BOOL true | |
3541adc1 | 190 | ;; |
92a8b166 RC |
191 | --disable-code-coverage) |
192 | append_cache_entry ENABLE_CODE_COVERAGE BOOL false | |
193 | ;; | |
194 | --enable-hardened-build) | |
195 | append_cache_entry ENABLE_HARDENED_BUILD BOOL true | |
196 | ;; | |
197 | --disable-hardened-build) | |
198 | append_cache_entry ENABLE_HARDENED_BUILD BOOL false | |
199 | ;; | |
200 | --enable-pie) | |
201 | append_cache_entry ENABLE_PIE BOOL true | |
202 | ;; | |
203 | --disable-pie) | |
204 | append_cache_entry ENABLE_PIE BOOL false | |
205 | ;; | |
b2606dd7 RC |
206 | --disable-safec) |
207 | append_cache_entry ENABLE_SAFEC BOOL false | |
208 | ;; | |
209 | --enable-safec) | |
210 | append_cache_entry ENABLE_SAFEC BOOL true | |
211 | ;; | |
92a8b166 RC |
212 | --disable-static-ips-actions) |
213 | append_cache_entry STATIC_IPS_ACTIONS BOOL false | |
214 | ;; | |
215 | --enable-static-ips-actions) | |
216 | append_cache_entry STATIC_IPS_ACTIONS BOOL true | |
3541adc1 J |
217 | ;; |
218 | --disable-static-inspectors) | |
92a8b166 | 219 | append_cache_entry STATIC_INSPECTORS BOOL false |
3541adc1 J |
220 | ;; |
221 | --enable-static-inspectors) | |
92a8b166 | 222 | append_cache_entry STATIC_INSPECTORS BOOL true |
3541adc1 J |
223 | ;; |
224 | --disable-static-loggers) | |
92a8b166 | 225 | append_cache_entry STATIC_LOGGERS BOOL false |
3541adc1 J |
226 | ;; |
227 | --enable-static-loggers) | |
92a8b166 | 228 | append_cache_entry STATIC_LOGGERS BOOL true |
3541adc1 | 229 | ;; |
efd30273 | 230 | --disable-static-ips-options) |
92a8b166 | 231 | append_cache_entry STATIC_IPS_OPTIONS BOOL false |
efd30273 J |
232 | ;; |
233 | --enable-static-ips-options) | |
92a8b166 | 234 | append_cache_entry STATIC_IPS_OPTIONS BOOL true |
3541adc1 J |
235 | ;; |
236 | --disable-static-search-engines) | |
92a8b166 | 237 | append_cache_entry STATIC_SEARCH_ENGINES BOOL false |
3541adc1 J |
238 | ;; |
239 | --enable-static-search-engines) | |
92a8b166 | 240 | append_cache_entry STATIC_SEARCH_ENGINES BOOL true |
3541adc1 | 241 | ;; |
92a8b166 RC |
242 | --disable-static-codecs) |
243 | append_cache_entry STATIC_CODECS BOOL false | |
3541adc1 | 244 | ;; |
92a8b166 RC |
245 | --enable-static-codecs) |
246 | append_cache_entry STATIC_CODECS BOOL true | |
3541adc1 | 247 | ;; |
92a8b166 RC |
248 | --enable-shell) |
249 | append_cache_entry ENABLE_SHELL BOOL true | |
3541adc1 | 250 | ;; |
92a8b166 RC |
251 | --disable-shell) |
252 | append_cache_entry ENABLE_SHELL BOOL false | |
3541adc1 | 253 | ;; |
92a8b166 RC |
254 | --enable-large-pcap) |
255 | append_cache_entry ENABLE_LARGE_PCAP BOOL true | |
256 | ;; | |
3d760936 RC |
257 | --enable-stdlog) |
258 | append_cache_entry ENABLE_STDLOG BOOL true | |
d4a237e3 | 259 | ;; |
4c0373da | 260 | --enable-tsc-clock) |
261 | append_cache_entry ENABLE_TSC_CLOCK BOOL true | |
262 | ;; | |
d284ef2b | 263 | --disable-snort-profiler) |
5b4d8219 | 264 | append_cache_entry DISABLE_SNORT_PROFILER BOOL false |
d284ef2b | 265 | ;; |
5b4d8219 RC |
266 | --enable-memory-profiler) |
267 | append_cache_entry ENABLE_MEMORY_PROFILER BOOL true | |
268 | ;; | |
269 | --enable-rule-profiler) | |
270 | append_cache_entry ENABLE_RULE_PROFILER BOOL true | |
271 | ;; | |
272 | --enable-deep-profiling) | |
273 | append_cache_entry DEEP_PROFILING BOOL true | |
d284ef2b | 274 | ;; |
92a8b166 RC |
275 | --disable-large-pcap) |
276 | append_cache_entry ENABLE_LARGE_PCAP BOOL false | |
3541adc1 | 277 | ;; |
efd30273 | 278 | --enable-debug-msgs) |
92a8b166 | 279 | append_cache_entry ENABLE_DEBUG_MSGS BOOL true |
3541adc1 | 280 | ;; |
92a8b166 RC |
281 | --disable-debug-msgs) |
282 | append_cache_entry ENABLE_DEBUG_MSGS BOOL false | |
283 | ;; | |
284 | --enable-debug) | |
285 | append_cache_entry ENABLE_DEBUG BOOL true | |
286 | ;; | |
287 | --disable-debug) | |
288 | append_cache_entry ENABLE_DEBUG BOOL false | |
3541adc1 J |
289 | ;; |
290 | --enable-gdb) | |
92a8b166 | 291 | append_cache_entry ENABLE_GDB BOOL true |
3541adc1 | 292 | ;; |
92a8b166 RC |
293 | --disable-gdb) |
294 | append_cache_entry ENABLE_GDB BOOL false | |
3541adc1 | 295 | ;; |
c96a052f | 296 | --enable-gprof-profile) |
92a8b166 | 297 | append_cache_entry ENABLE_PROFILE BOOL true |
3541adc1 | 298 | ;; |
92a8b166 RC |
299 | --disable-gprof-profile) |
300 | append_cache_entry ENABLE_PROFILE BOOL false | |
3541adc1 | 301 | ;; |
efd30273 | 302 | --disable-corefiles) |
92a8b166 | 303 | append_cache_entry ENABLE_COREFILES BOOL false |
efd30273 J |
304 | ;; |
305 | --enable-corefiles) | |
92a8b166 | 306 | append_cache_entry ENABLE_COREFILES BOOL true |
3541adc1 | 307 | ;; |
16407934 | 308 | --enable-address-sanitizer) |
92a8b166 | 309 | append_cache_entry ENABLE_ADDRESS_SANITIZER BOOL true |
16407934 RC |
310 | ;; |
311 | --disable-address-sanitizer) | |
92a8b166 | 312 | append_cache_entry ENABLE_ADDRESS_SANITIZER BOOL false |
b74f286c | 313 | ;; |
b2c1b572 RC |
314 | --enable-thread-sanitizer) |
315 | append_cache_entry ENABLE_THREAD_SANITIZER BOOL true | |
316 | ;; | |
317 | --disable-thread-sanitizer) | |
318 | append_cache_entry ENABLE_THREAD_SANITIZER BOOL false | |
319 | ;; | |
5f341c40 | 320 | --enable-ub-sanitizer) |
bd1e4c8b | 321 | append_cache_entry ENABLE_UB_SANITIZER BOOL true |
5f341c40 MA |
322 | ;; |
323 | --disable-ub-sanitizer) | |
bd1e4c8b MA |
324 | append_cache_entry ENABLE_UB_SANITIZER BOOL false |
325 | ;; | |
326 | --enable-tcmalloc) | |
327 | append_cache_entry ENABLE_TCMALLOC BOOL true | |
9ac428d8 | 328 | tcm=1 |
bd1e4c8b MA |
329 | ;; |
330 | --disable-tcmalloc) | |
331 | append_cache_entry ENABLE_TCMALLOC BOOL false | |
5f341c40 | 332 | ;; |
5b4d8219 RC |
333 | --enable-jemalloc) |
334 | append_cache_entry ENABLE_JEMALLOC BOOL true | |
335 | append_cache_entry STATIC_JEMALLOC BOOL false | |
9ac428d8 | 336 | jem=1 |
5b4d8219 RC |
337 | ;; |
338 | --disable-jemalloc) | |
339 | append_cache_entry ENABLE_JEMALLOC BOOL false | |
340 | ;; | |
341 | --enable-jemalloc-static) | |
342 | append_cache_entry ENABLE_JEMALLOC BOOL true | |
343 | append_cache_entry STATIC_JEMALLOC BOOL true | |
344 | ;; | |
ef599435 SB |
345 | --enable-luajit-static) |
346 | append_cache_entry STATIC_LUAJIT BOOL true | |
347 | ;; | |
5b4d8219 RC |
348 | --disable-jemalloc-static) |
349 | append_cache_entry ENABLE_JEMALLOC BOOL false | |
350 | ;; | |
3e367c0e | 351 | --enable-appid-third-party) |
3e367c0e | 352 | ;; |
92a8b166 RC |
353 | --enable-unit-tests) |
354 | append_cache_entry ENABLE_UNIT_TESTS BOOL true | |
76719be3 | 355 | ;; |
3541adc1 | 356 | --disable-unit-tests) |
92a8b166 | 357 | append_cache_entry ENABLE_UNIT_TESTS BOOL false |
3541adc1 | 358 | ;; |
571cbf61 MS |
359 | --enable-benchmark-tests) |
360 | append_cache_entry ENABLE_BENCHMARK_TESTS BOOL true | |
361 | ;; | |
362 | --disable-benchmark-tests) | |
363 | append_cache_entry ENABLE_BENCHMARK_TESTS BOOL false | |
364 | ;; | |
11398131 MA |
365 | --enable-ccache) |
366 | append_cache_entry CMAKE_CXX_COMPILER_LAUNCHER STRING ccache | |
367 | append_cache_entry CMAKE_C_COMPILER_LAUNCHER STRING ccache | |
368 | ;; | |
92a8b166 RC |
369 | --disable-static-daq) |
370 | append_cache_entry ENABLE_STATIC_DAQ BOOL false | |
371 | ;; | |
372 | --enable-static-daq) | |
373 | append_cache_entry ENABLE_STATIC_DAQ BOOL true | |
3835a1cd | 374 | ;; |
3541adc1 | 375 | --disable-html-docs) |
92a8b166 | 376 | append_cache_entry MAKE_HTML_DOC BOOL false |
3541adc1 J |
377 | ;; |
378 | --enable-html-docs) | |
92a8b166 | 379 | append_cache_entry MAKE_HTML_DOC BOOL true |
3541adc1 J |
380 | ;; |
381 | --disable-pdf-docs) | |
92a8b166 | 382 | append_cache_entry MAKE_PDF_DOC BOOL false |
3541adc1 J |
383 | ;; |
384 | --enable-pdf-docs) | |
92a8b166 | 385 | append_cache_entry MAKE_PDF_DOC BOOL true |
3541adc1 | 386 | ;; |
7f05859b TP |
387 | --disable-text-docs) |
388 | append_cache_entry MAKE_TEXT_DOC BOOL false | |
389 | ;; | |
390 | --enable-text-docs) | |
391 | append_cache_entry MAKE_TEXT_DOC BOOL true | |
392 | ;; | |
393 | --disable-docs) | |
394 | append_cache_entry MAKE_DOC BOOL false | |
395 | ;; | |
396 | --enable-docs) | |
397 | append_cache_entry MAKE_DOC BOOL true | |
398 | ;; | |
77a49715 MA |
399 | --build-type=*) |
400 | if [ $optarg = "Debug" ] || [ $optarg = "Release" ] || | |
401 | [ $optarg = "RelWithDebInfo" ] || [ $optarg = "MinSizeRel" ]; then | |
402 | build_type=$optarg | |
403 | else | |
404 | echo "Invalid build type '$optarg'. Try $0 --help to see available build types." | |
405 | exit 1 | |
406 | fi | |
407 | ;; | |
3541adc1 | 408 | --with-pcap-includes=*) |
bc1de874 | 409 | append_cache_entry PCAP_INCLUDE_DIR_HINT PATH $optarg |
3541adc1 J |
410 | ;; |
411 | --with-pcap-libraries=*) | |
bc1de874 | 412 | append_cache_entry PCAP_LIBRARIES_DIR_HINT PATH $optarg |
3541adc1 J |
413 | ;; |
414 | --with-luajit-includes=*) | |
92a8b166 | 415 | append_cache_entry LUAJIT_INCLUDE_DIR_HINT PATH $optarg |
3541adc1 J |
416 | ;; |
417 | --with-luajit-libraries=*) | |
92a8b166 | 418 | append_cache_entry LUAJIT_LIBRARIES_DIR_HINT PATH $optarg |
3541adc1 J |
419 | ;; |
420 | --with-pcre-includes=*) | |
92a8b166 | 421 | append_cache_entry PCRE_INCLUDE_DIR_HINT PATH $optarg |
3541adc1 J |
422 | ;; |
423 | --with-pcre-libraries=*) | |
92a8b166 | 424 | append_cache_entry PCRE_LIBRARIES_DIR_HINT PATH $optarg |
3541adc1 J |
425 | ;; |
426 | --with-dnet-includes=*) | |
92a8b166 | 427 | append_cache_entry DNET_INCLUDE_DIR_HINT PATH $optarg |
3541adc1 J |
428 | ;; |
429 | --with-dnet-libraries=*) | |
92a8b166 | 430 | append_cache_entry DNET_LIBRARIES_DIR_HINT PATH $optarg |
3541adc1 J |
431 | ;; |
432 | --with-daq-includes=*) | |
304c62df | 433 | append_cache_entry DAQ_INCLUDE_DIR_HINT PATH $optarg |
3541adc1 J |
434 | ;; |
435 | --with-daq-libraries=*) | |
304c62df | 436 | append_cache_entry DAQ_LIBRARIES_DIR_HINT PATH $optarg |
3541adc1 | 437 | ;; |
92a8b166 RC |
438 | --with-openssl=*) |
439 | append_cache_entry OPENSSL_ROOT_DIR PATH $optarg | |
440 | ;; | |
eb3cf1d9 MA |
441 | --with-hyperscan-includes=*) |
442 | append_cache_entry HS_INCLUDE_DIR PATH $optarg | |
443 | ;; | |
444 | --with-hyperscan-libraries=*) | |
445 | append_cache_entry HS_LIBRARIES_DIR PATH $optarg | |
446 | ;; | |
4e14cb53 MS |
447 | --with-atomic-libraries=*) |
448 | append_cache_entry ATOMIC_LIBRARIES_DIR_HINT PATH $optarg | |
449 | ;; | |
90d56049 MS |
450 | --with-flex-prefix=*) |
451 | append_cache_entry CMAKE_PREFIX_PATH PATH $optarg | |
452 | ;; | |
453 | --with-flex-includes=*) | |
454 | append_cache_entry FLEX_INCLUDE_DIR_HINT PATH $optarg | |
455 | ;; | |
560f3804 MA |
456 | --with-iconv-includes=*) |
457 | append_cache_entry ICONV_INCLUDE_DIR_HINT PATH $optarg | |
458 | ;; | |
459 | --with-iconv-libraries=*) | |
460 | append_cache_entry ICONV_LIBRARIES_DIR_HINT PATH $optarg | |
461 | ;; | |
bb298f4c HC |
462 | --with-uuid-includes=*) |
463 | append_cache_entry UUID_INCLUDE_DIR_HINT PATH $optarg | |
464 | ;; | |
465 | --with-uuid-libraries=*) | |
466 | append_cache_entry UUID_LIBRARIES_DIR_HINT PATH $optarg | |
467 | ;; | |
52525148 NPXCC |
468 | --with-toolchain=*) |
469 | append_cache_entry CMAKE_TOOLCHAIN_FILE PATH $optarg | |
470 | ;; | |
e85ae49a OSSIC |
471 | --with-libml-includes=*) |
472 | append_cache_entry ML_INCLUDE_DIR_HINT PATH $optarg | |
473 | ;; | |
474 | --with-libml-libraries=*) | |
475 | append_cache_entry ML_LIBRARIES_DIR_HINT PATH $optarg | |
476 | ;; | |
ea7dcd2d YVSIC |
477 | --without-libml) |
478 | append_cache_entry ENABLE_KAIZEN_MOCK BOOL true | |
479 | ;; | |
3541adc1 J |
480 | SIGNAL_SNORT_RELOAD=*) |
481 | append_cache_entry SIGNAL_SNORT_RELOAD STRING $optarg | |
482 | ;; | |
483 | SIGNAL_SNORT_DUMP_STATS=*) | |
484 | append_cache_entry SIGNAL_SNORT_DUMP_STATS STRING $optarg | |
485 | ;; | |
486 | SIGNAL_SNORT_ROTATE_STATS=*) | |
487 | append_cache_entry SIGNAL_SNORT_ROTATE_STATS STRING $optarg | |
488 | ;; | |
489 | SIGNAL_SNORT_READ_ATTR_TBL=*) | |
490 | append_cache_entry SIGNAL_SNORT_READ_ATTR_TBL STRING $optarg | |
491 | ;; | |
94a08676 RC |
492 | SNORT_BUILD_NUMBER=*) |
493 | append_cache_entry VERSION_BUILD STRING $optarg | |
494 | ;; | |
3541adc1 J |
495 | *) |
496 | echo "Invalid option '$1'. Try $0 --help to see available options." | |
497 | exit 1 | |
498 | ;; | |
499 | esac | |
500 | shift | |
501 | done | |
502 | ||
a45c240a | 503 | if [ "$tcm" -eq 1 -a "$jem" -eq 1 ] ; then |
d1ada90b | 504 | echo "--enable-jemalloc and --enable-tcmalloc are mutually exclusive; enable at most one" |
9ac428d8 RC |
505 | exit 2 |
506 | fi | |
507 | ||
3541adc1 J |
508 | if [ -d $builddir ]; then |
509 | # If build directory exists, check if it has a CMake cache | |
510 | if [ -f $builddir/CMakeCache.txt ]; then | |
511 | # If the CMake cache exists, delete it so that this configuration | |
512 | # is not tainted by a previous one | |
513 | rm -f $builddir/CMakeCache.txt | |
514 | fi | |
515 | else | |
516 | # Create build directory | |
517 | mkdir -p $builddir | |
518 | fi | |
519 | ||
520 | echo "Build Directory : $builddir" | |
521 | echo "Source Directory: $sourcedir" | |
522 | cd $builddir | |
523 | ||
ee0a8631 | 524 | [ "$CMakeGenerator" ] && gen="-G $CMakeGenerator" |
9f57fea3 | 525 | |
5d19768a | 526 | cmake "$gen" \ |
9f57fea3 RC |
527 | -DCMAKE_CXX_FLAGS:STRING="$CXXFLAGS $CPPFLAGS" \ |
528 | -DCMAKE_C_FLAGS:STRING="$CFLAGS $CPPFLAGS" \ | |
ccfa1626 | 529 | -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \ |
77a49715 | 530 | -DCMAKE_BUILD_TYPE:STRING=$build_type \ |
9f57fea3 | 531 | $CMakeCacheEntries $sourcedir |
3541adc1 J |
532 | |
533 | echo "# This is the command used to configure this build" > config.status | |
534 | echo $command >> config.status | |
535 | chmod u+x config.status | |
9f57fea3 | 536 |