diff --git a/devel/libddwaf/Makefile b/devel/libddwaf/Makefile index 47a687d5e76d..b6a6ae11ea31 100644 --- a/devel/libddwaf/Makefile +++ b/devel/libddwaf/Makefile @@ -1,38 +1,38 @@ PORTNAME= libddwaf -PORTVERSION= 1.10.0 +PORTVERSION= 1.11.0 CATEGORIES= devel MAINTAINER= sunpoet@FreeBSD.org COMMENT= Datadog WAF engine WWW= https://github.com/DataDog/libddwaf LICENSE= APACHE20 BSD3CLAUSE LICENSE_COMB= dual LICENSE_FILE_APACHE20= ${WRKSRC}/LICENSE.Apache LICENSE_FILE_BSD3CLAUSE=${WRKSRC}/LICENSE.BSD3 BUILD_DEPENDS= rapidjson>=1.1.0.524:devel/rapidjson LIB_DEPENDS= libac.so:devel/libac \ libbenchmark.so:devel/benchmark \ libgtest.so:devel/googletest \ libinjection.so:devel/libinjection \ libre2.so:devel/re2 \ libutf8proc.so:textproc/utf8proc \ libyaml-cpp.so:devel/yaml-cpp USES= cmake compiler:c++17-lang localbase:ldflags CMAKE_OFF= LIBDDWAF_KEEP_SYMBOL_FILE LIBDDWAF_TESTING CMAEK_ON= LIBDDWAF_BUILD_SHARED LIBDDWAF_BUILD_STATIC USE_GITHUB= yes GH_ACCOUNT= DataDog -GH_TUPLE= DataDog:appsec-event-rules:1.7.0:DataDog_appsec_event_rules/third_party/proj_event_rules \ - Tencent:rapidjson:949c771:Tencent_rapidjson/third_party/rapidjson +GH_TUPLE= DataDog:appsec-event-rules:1.7.1:DataDog_appsec_event_rules/third_party/proj_event_rules \ + Tencent:rapidjson:973dc9c:Tencent_rapidjson/third_party/rapidjson post-patch: # Clean up bundled libraries @${RM} -r ${WRKSRC}/third_party/libinjection/ @${RM} -r ${WRKSRC}/third_party/lua-aho-corasick/ .include diff --git a/devel/libddwaf/distinfo b/devel/libddwaf/distinfo index 715a93b64c8a..71ed1a5ddf11 100644 --- a/devel/libddwaf/distinfo +++ b/devel/libddwaf/distinfo @@ -1,7 +1,7 @@ -TIMESTAMP = 1683227579 -SHA256 (DataDog-libddwaf-1.10.0_GH0.tar.gz) = d7beda292924f15be73b94ec88fe3b452c5c2a1595661803c7f846e0e77c54c3 -SIZE (DataDog-libddwaf-1.10.0_GH0.tar.gz) = 718790 -SHA256 (DataDog-appsec-event-rules-1.7.0_GH0.tar.gz) = 4252d4024c0eb4447af2c3058a25728d755173c646bfc0d48c6cdc23deea87c4 -SIZE (DataDog-appsec-event-rules-1.7.0_GH0.tar.gz) = 134313 -SHA256 (Tencent-rapidjson-949c771_GH0.tar.gz) = 5de5997ba44900edede6160772de8d001f18ac66cef97ce68226bb6966ebe976 -SIZE (Tencent-rapidjson-949c771_GH0.tar.gz) = 1115264 +TIMESTAMP = 1685162032 +SHA256 (DataDog-libddwaf-1.11.0_GH0.tar.gz) = 5cf1b14fd9fe7e93bbfed8adbbbdfe4a9a14a54bcd278a95abe298768fcf3ad8 +SIZE (DataDog-libddwaf-1.11.0_GH0.tar.gz) = 733209 +SHA256 (DataDog-appsec-event-rules-1.7.1_GH0.tar.gz) = df0e72ec448f66f7752c0f6c411b8172751524eaae66b9219a477668e1e65f91 +SIZE (DataDog-appsec-event-rules-1.7.1_GH0.tar.gz) = 134403 +SHA256 (Tencent-rapidjson-973dc9c_GH0.tar.gz) = f69cec879316045c53e7a54518e126348e2c029a775d7e4f65ea88f43c6a4d01 +SIZE (Tencent-rapidjson-973dc9c_GH0.tar.gz) = 1115411 diff --git a/devel/libddwaf/files/patch-CMakeLists.txt b/devel/libddwaf/files/patch-CMakeLists.txt index d57eba89f9e0..d66eb36faad9 100644 --- a/devel/libddwaf/files/patch-CMakeLists.txt +++ b/devel/libddwaf/files/patch-CMakeLists.txt @@ -1,207 +1,207 @@ ---- CMakeLists.txt.orig 2023-01-17 18:39:22 UTC +--- CMakeLists.txt.orig 2023-05-25 10:34:56 UTC +++ CMakeLists.txt @@ -8,23 +8,23 @@ set(CMAKE_PROJECT_VERSION ${version}) configure_file(src/version.hpp.in ${CMAKE_CURRENT_SOURCE_DIR}/src/version.hpp) set(CMAKE_OSX_DEPLOYMENT_TARGET "10.12" CACHE STRING "Minimum OS X deployment version") -if(CMAKE_OSX_ARCHITECTURES MATCHES "x86_64" OR - CMAKE_OSX_ARCHITECTURES MATCHES "arm64") - set(CPU_TYPE ${CMAKE_OSX_ARCHITECTURES}) -endif() +#if(CMAKE_OSX_ARCHITECTURES MATCHES "x86_64" OR +# CMAKE_OSX_ARCHITECTURES MATCHES "arm64") +# set(CPU_TYPE ${CMAKE_OSX_ARCHITECTURES}) +#endif() set(CMAKE_C_STANDARD 99) set(CMAKE_CXX_STANDARD 17) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) -set(LIBDDWAF_SHARED_LINKER_FLAGS "-static-libstdc++" CACHE STRING "Shared library extra linker flags") +#set(LIBDDWAF_SHARED_LINKER_FLAGS "-static-libstdc++" CACHE STRING "Shared library extra linker flags") set(LIBDDWAF_EXE_LINKER_FLAGS "" CACHE STRING "Executable extra linker flags") set(LIBDDWAF_PACKAGE_SUFFIX "" CACHE STRING "Suffix for packaging purposes") -if(CMAKE_OSX_ARCHITECTURES MATCHES "arm64") - set(LIBDDWAF_PACKAGE_PROCESSOR ${CMAKE_OSX_ARCHITECTURES} CACHE STRING "Alternative processor for packaging purposes") -else() - set(LIBDDWAF_PACKAGE_PROCESSOR ${CMAKE_SYSTEM_PROCESSOR} CACHE STRING "Alternative processor for packaging purposes") -endif() +#if(CMAKE_OSX_ARCHITECTURES MATCHES "arm64") +# set(LIBDDWAF_PACKAGE_PROCESSOR ${CMAKE_OSX_ARCHITECTURES} CACHE STRING "Alternative processor for packaging purposes") +#else() +# set(LIBDDWAF_PACKAGE_PROCESSOR ${CMAKE_SYSTEM_PROCESSOR} CACHE STRING "Alternative processor for packaging purposes") +#endif() option(LIBDDWAF_BUILD_SHARED "Build shared library" ON) option(LIBDDWAF_BUILD_STATIC "Build shared library" ON) @@ -59,7 +59,7 @@ endif() include(GNUInstallDirs) -add_subdirectory(third_party) +#add_subdirectory(third_party) set(LIBDDWAF_SOURCE - ${libddwaf_SOURCE_DIR}/src/clock.cpp -@@ -121,7 +121,8 @@ install(FILES ${libddwaf_SOURCE_DIR}/include/ddwaf.h D + ${libddwaf_SOURCE_DIR}/src/ruleset_builder.cpp +@@ -123,7 +123,8 @@ install(FILES ${libddwaf_SOURCE_DIR}/include/ddwaf.h D + # System dependencies set(LIBDDWAF_INTERFACE_LIBRARIES "") - set(LIBDDWAF_PRIVATE_LIBRARIES -- lib_re2 lib_rapidjson lib_ac lib_injection lib_radix lib_utf8proc) -+# lib_re2 lib_rapidjson lib_ac lib_injection lib_radix lib_utf8proc) -+ lib_radix) +-set(LIBDDWAF_PRIVATE_LIBRARIES lib_re2 lib_ac lib_injection lib_radix lib_utf8proc) ++#set(LIBDDWAF_PRIVATE_LIBRARIES lib_re2 lib_ac lib_injection lib_radix lib_utf8proc) ++set(LIBDDWAF_PRIVATE_LIBRARIES lib_radix) if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") # needed for glibc <2.17. We compile with --as-needed so the library won't -@@ -149,6 +150,27 @@ if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") +@@ -151,6 +152,27 @@ if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") elseif(WIN32) list(APPEND LIBDDWAF_INTERFACE_LIBRARIES ws2_32) endif() +find_library(LIBAC ac) +if (LIBAC) + list(APPEND LIBDDWAF_INTERFACE_LIBRARIES ac) +endif() +find_library(LIBINJECTION injection) +if (LIBINJECTION) + list(APPEND LIBDDWAF_INTERFACE_LIBRARIES injection) +endif() +add_library(lib_radix STATIC ${PROJECT_SOURCE_DIR}/third_party/radixlib/radixlib.c) +target_include_directories(lib_radix INTERFACE ${PROJECT_SOURCE_DIR}/third_party/radixlib) +set_target_properties(lib_radix PROPERTIES POSITION_INDEPENDENT_CODE 1) +add_library(lib_rapidjson INTERFACE IMPORTED GLOBAL) +target_include_directories(lib_rapidjson INTERFACE ${PROJECT_SOURCE_DIR}/third_party/rapidjson/include) +find_library(LIBRE2 re2) +if (LIBRE2) + list(APPEND LIBDDWAF_INTERFACE_LIBRARIES re2) +endif() +find_library(LIBUTF8PROC utf8proc) +if (LIBUTF8PROC) + list(APPEND LIBDDWAF_INTERFACE_LIBRARIES utf8proc) +endif() target_link_libraries(libddwaf_objects PRIVATE ${LIBDDWAF_PRIVATE_LIBRARIES} -@@ -173,66 +195,67 @@ if (LIBDDWAF_BUILD_STATIC) +@@ -175,66 +197,67 @@ if (LIBDDWAF_BUILD_STATIC) INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) # Post-processing on the static library - if(MSVC) - add_custom_command(TARGET libddwaf_static POST_BUILD - COMMAND ${CMAKE_COMMAND} -E make_directory lib_comb - COMMAND ${CMAKE_COMMAND} -E chdir lib_comb lib.exe - /OUT:combined${CMAKE_STATIC_LIBRARY_SUFFIX} - $ $ $ - $ $ $ - COMMAND ${CMAKE_COMMAND} -E copy lib_comb/combined${CMAKE_STATIC_LIBRARY_SUFFIX} $ - WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) - else() - if(CMAKE_OSX_ARCHITECTURES MATCHES "arm64") - add_custom_command(TARGET libddwaf_static POST_BUILD - COMMAND ${CMAKE_COMMAND} -E make_directory ar_comb - COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $ - COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $ - COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $ - COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $ - COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $ - COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $ - COMMAND libtool -static -o ar_comb/combined.a -arch_only ${CMAKE_OSX_ARCHITECTURES} ar_comb/*.o* - - COMMAND ${CMAKE_COMMAND} -E copy ar_comb/combined${CMAKE_STATIC_LIBRARY_SUFFIX} $ - COMMAND rm -rf ar_comb - WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) - else() - add_custom_command(TARGET libddwaf_static POST_BUILD - COMMAND ${CMAKE_COMMAND} -E make_directory ar_comb - COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $ - COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $ - COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $ - COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $ - COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $ - COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $ - COMMAND ${CMAKE_AR} -qcs ar_comb/combined${CMAKE_STATIC_LIBRARY_SUFFIX} ar_comb/*.o* - - COMMAND ${CMAKE_COMMAND} -E copy ar_comb/combined${CMAKE_STATIC_LIBRARY_SUFFIX} $ - COMMAND rm -rf ar_comb - WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) - endif() - if(NOT (CMAKE_BUILD_TYPE MATCHES Debug)) - if (CMAKE_SYSTEM_NAME STREQUAL Darwin OR CMAKE_SYSTEM_NAME STREQUAL Linux) - find_program(STRIP strip) - if (STRIP STREQUAL "STRIP-NOTFOUND") - message(FATAL_ERROR "strip not found") - endif() - add_custom_command(TARGET libddwaf_static POST_BUILD - COMMAND ${STRIP} -x -S $ -o $.stripped) - install(FILES $.stripped DESTINATION ${CMAKE_INSTALL_LIBDIR}) - endif() - endif() - endif() +# if(MSVC) +# add_custom_command(TARGET libddwaf_static POST_BUILD +# COMMAND ${CMAKE_COMMAND} -E make_directory lib_comb +# COMMAND ${CMAKE_COMMAND} -E chdir lib_comb lib.exe +# /OUT:combined${CMAKE_STATIC_LIBRARY_SUFFIX} +# $ $ $ +# $ $ $ +# COMMAND ${CMAKE_COMMAND} -E copy lib_comb/combined${CMAKE_STATIC_LIBRARY_SUFFIX} $ +# WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) +# else() +# if(CMAKE_OSX_ARCHITECTURES MATCHES "arm64") +# add_custom_command(TARGET libddwaf_static POST_BUILD +# COMMAND ${CMAKE_COMMAND} -E make_directory ar_comb +# COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $ +# COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $ +# COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $ +# COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $ +# COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $ +# COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $ +# COMMAND libtool -static -o ar_comb/combined.a -arch_only ${CMAKE_OSX_ARCHITECTURES} ar_comb/*.o* +# +# COMMAND ${CMAKE_COMMAND} -E copy ar_comb/combined${CMAKE_STATIC_LIBRARY_SUFFIX} $ +# COMMAND rm -rf ar_comb +# WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) +# else() +# add_custom_command(TARGET libddwaf_static POST_BUILD +# COMMAND ${CMAKE_COMMAND} -E make_directory ar_comb +# COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $ +# COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $ +# COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $ +# COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $ +# COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $ +# COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $ +# COMMAND ${CMAKE_AR} -qcs ar_comb/combined${CMAKE_STATIC_LIBRARY_SUFFIX} ar_comb/*.o* +# +# COMMAND ${CMAKE_COMMAND} -E copy ar_comb/combined${CMAKE_STATIC_LIBRARY_SUFFIX} $ +# COMMAND rm -rf ar_comb +# WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) +# endif() +# if(NOT (CMAKE_BUILD_TYPE MATCHES Debug)) +# if (CMAKE_SYSTEM_NAME STREQUAL Darwin OR CMAKE_SYSTEM_NAME STREQUAL Linux) +# find_program(STRIP strip) +# if (STRIP STREQUAL "STRIP-NOTFOUND") +# message(FATAL_ERROR "strip not found") +# endif() +# add_custom_command(TARGET libddwaf_static POST_BUILD +# COMMAND ${STRIP} -x -S $ -o $.stripped) +# install(FILES $.stripped DESTINATION ${CMAKE_INSTALL_LIBDIR}) +# endif() +# endif() +# endif() endif() # Shared library if (LIBDDWAF_BUILD_SHARED) - execute_process(COMMAND git rev-parse HEAD - WORKING_DIRECTORY ${libddwaf_SOURCE_DIR} - OUTPUT_VARIABLE BUILD_ID - OUTPUT_STRIP_TRAILING_WHITESPACE - ) +# execute_process(COMMAND git rev-parse HEAD +# WORKING_DIRECTORY ${libddwaf_SOURCE_DIR} +# OUTPUT_VARIABLE BUILD_ID +# OUTPUT_STRIP_TRAILING_WHITESPACE +# ) + set(BUILD_ID "4be56b648aa8ce8b86255b0edad78862d102f65d") message(STATUS "Build id is ${BUILD_ID}") string(SUBSTRING "${BUILD_ID}" 0 2 BUILD_ID_PREFIX) string(SUBSTRING "${BUILD_ID}" 2 39 BUILD_ID_SUFFIX) diff --git a/devel/libddwaf/files/patch-perf-CMakeLists.txt b/devel/libddwaf/files/patch-perf-CMakeLists.txt index 2a537f2ef704..9289108a65a6 100644 --- a/devel/libddwaf/files/patch-perf-CMakeLists.txt +++ b/devel/libddwaf/files/patch-perf-CMakeLists.txt @@ -1,19 +1,19 @@ ---- perf/CMakeLists.txt.orig 2022-09-22 09:00:38 UTC +--- perf/CMakeLists.txt.orig 2023-05-25 10:34:56 UTC +++ perf/CMakeLists.txt -@@ -13,8 +13,8 @@ target_link_libraries(benchcmp PRIVATE lib_yamlcpp m) - add_executable(benchmerge benchmerge.cpp) - target_link_libraries(benchmerge PRIVATE lib_yamlcpp m) +@@ -29,8 +29,8 @@ set_target_properties(benchmerge PROPERTIES + CXX_EXTENSIONS NO) + -ExternalProject_Get_property(proj_event_rules SOURCE_DIR) -set(EVENT_RULES_SOURCE_DIR ${SOURCE_DIR}) +#ExternalProject_Get_property(proj_event_rules SOURCE_DIR) +set(EVENT_RULES_SOURCE_DIR ${CMAKE_BINARY_DIR}/third_party/proj_event_rules) add_custom_target(run_benchmark COMMAND ${CMAKE_BINARY_DIR}/perf/benchmark -@@ -27,4 +27,4 @@ add_custom_target(run_benchmark +@@ -43,4 +43,4 @@ add_custom_target(run_benchmark WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} ) -add_dependencies(run_benchmark benchmark proj_event_rules) +#add_dependencies(run_benchmark benchmark proj_event_rules) diff --git a/devel/libddwaf/files/patch-third_party-CMakeLists.txt b/devel/libddwaf/files/patch-third_party-CMakeLists.txt index ae2315a1b211..bebea8992a61 100644 --- a/devel/libddwaf/files/patch-third_party-CMakeLists.txt +++ b/devel/libddwaf/files/patch-third_party-CMakeLists.txt @@ -1,328 +1,328 @@ ---- third_party/CMakeLists.txt.orig 2022-09-22 09:00:38 UTC +--- third_party/CMakeLists.txt.orig 2023-05-25 10:34:56 UTC +++ third_party/CMakeLists.txt -@@ -9,24 +9,24 @@ set(INSTALL_DIR ${CMAKE_BINARY_DIR}/third_party) - # workaround for using it in target_include_directories - file(MAKE_DIRECTORY ${INSTALL_DIR}/include) +@@ -15,24 +15,24 @@ if(NOT MSVC) + set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Wno-unused-parameter") + endif() -set(RAPIDJSON_COMMIT 22a62fcc2c2fa2418f5d358cdf65c1df73b418ae) -ExternalProject_Add(proj_rapidjson - URL https://github.com/Tencent/rapidjson/archive/${RAPIDJSON_COMMIT}.tar.gz - INSTALL_DIR ${INSTALL_DIR} - CMAKE_ARGS -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} - -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} - -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} - -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS} - -DCMAKE_CXX_FLAGS_RELEASE=${CMAKE_CXX_FLAGS_RELEASE} - -DCMAKE_CXX_FLAGS_RELWITHDEBINFO=${CMAKE_CXX_FLAGS_RELWITHDEBINFO} - -DCMAKE_CXX_FLAGS_DEBUG=${CMAKE_CXX_FLAGS_DEBUG} - -DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES} - BUILD_COMMAND "" - INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory "/include/" "/include/" -) +#set(RAPIDJSON_COMMIT 22a62fcc2c2fa2418f5d358cdf65c1df73b418ae) +#ExternalProject_Add(proj_rapidjson +# URL https://github.com/Tencent/rapidjson/archive/${RAPIDJSON_COMMIT}.tar.gz +# INSTALL_DIR ${INSTALL_DIR} +# CMAKE_ARGS -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} +# -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} +# -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} +# -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS} +# -DCMAKE_CXX_FLAGS_RELEASE=${CMAKE_CXX_FLAGS_RELEASE} +# -DCMAKE_CXX_FLAGS_RELWITHDEBINFO=${CMAKE_CXX_FLAGS_RELWITHDEBINFO} +# -DCMAKE_CXX_FLAGS_DEBUG=${CMAKE_CXX_FLAGS_DEBUG} +# -DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES} +# BUILD_COMMAND "" +# INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory "/include/" "/include/" +#) add_library(lib_rapidjson INTERFACE IMPORTED GLOBAL) -target_include_directories(lib_rapidjson INTERFACE ${INSTALL_DIR}/include) -add_dependencies(lib_rapidjson proj_rapidjson) +target_include_directories(lib_rapidjson INTERFACE ${INSTALL_DIR}/rapidjson/include) +#add_dependencies(lib_rapidjson proj_rapidjson) target_compile_definitions(lib_rapidjson INTERFACE RAPIDJSON_HAS_STDSTRING=1) + set_target_properties(proj_rapidjson PROPERTIES EXCLUDE_FROM_ALL TRUE) - if(NOT MSVC) -@@ -38,153 +38,153 @@ endif() +@@ -45,153 +45,153 @@ endif() # To avoid building everything for re2, including test binvaries: # BUILD_COMMAND cmake --build --target re2 # But this is not enough, because the install target run afterwards insists on building everything -set(RE2_COMMIT 885eb38accf49e2ccdd2fa6786f3590cf40a3e23) -ExternalProject_Add(proj_re2 - URL https://github.com/google/re2/archive/${RE2_COMMIT}.tar.gz - INSTALL_DIR ${INSTALL_DIR} - CMAKE_ARGS -DCMAKE_VERBOSE_MAKEFILE=1 -DCMAKE_INSTALL_PREFIX:PATH= - -DCMAKE_INSTALL_LIBDIR=lib - -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} - -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} - -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} - -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS} - -DCMAKE_CXX_FLAGS_RELEASE=${CMAKE_CXX_FLAGS_RELEASE} - -DCMAKE_CXX_FLAGS_RELWITHDEBINFO=${CMAKE_CXX_FLAGS_RELWITHDEBINFO} - -DCMAKE_CXX_FLAGS_DEBUG=${CMAKE_CXX_FLAGS_DEBUG} - -DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES} - -DRE2_BUILD_TESTING=0 -) +#set(RE2_COMMIT 885eb38accf49e2ccdd2fa6786f3590cf40a3e23) +#ExternalProject_Add(proj_re2 +# URL https://github.com/google/re2/archive/${RE2_COMMIT}.tar.gz +# INSTALL_DIR ${INSTALL_DIR} +# CMAKE_ARGS -DCMAKE_VERBOSE_MAKEFILE=1 -DCMAKE_INSTALL_PREFIX:PATH= +# -DCMAKE_INSTALL_LIBDIR=lib +# -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} +# -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} +# -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} +# -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS} +# -DCMAKE_CXX_FLAGS_RELEASE=${CMAKE_CXX_FLAGS_RELEASE} +# -DCMAKE_CXX_FLAGS_RELWITHDEBINFO=${CMAKE_CXX_FLAGS_RELWITHDEBINFO} +# -DCMAKE_CXX_FLAGS_DEBUG=${CMAKE_CXX_FLAGS_DEBUG} +# -DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES} +# -DRE2_BUILD_TESTING=0 +#) # alas, we can't use find_package because by the package is not downloaded by config time # so manually creating the library -add_library(lib_re2 STATIC IMPORTED GLOBAL) -set_property(TARGET lib_re2 PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}re2${CMAKE_STATIC_LIBRARY_SUFFIX}) -target_include_directories(lib_re2 INTERFACE ${INSTALL_DIR}/include) -if(NOT MSVC) - target_link_libraries(lib_re2 INTERFACE -lpthread) -endif() -add_dependencies(lib_re2 proj_re2) +#add_library(lib_re2 STATIC IMPORTED GLOBAL) +#set_property(TARGET lib_re2 PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}re2${CMAKE_STATIC_LIBRARY_SUFFIX}) +#target_include_directories(lib_re2 INTERFACE ${INSTALL_DIR}/include) +#if(NOT MSVC) +# target_link_libraries(lib_re2 INTERFACE -lpthread) +#endif() +#add_dependencies(lib_re2 proj_re2) -set(GOOGLETEST_COMMIT 955c7f837efad184ec63e771c42542d37545eaef) -ExternalProject_Add(proj_gtest - URL https://github.com/google/googletest/archive/${GOOGLETEST_COMMIT}.tar.gz - INSTALL_DIR ${INSTALL_DIR} - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH= - -DCMAKE_INSTALL_LIBDIR=lib - -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} - -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} - -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} - -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS} - -DCMAKE_CXX_FLAGS_RELEASE=${CMAKE_CXX_FLAGS_RELEASE} - -DCMAKE_CXX_FLAGS_RELWITHDEBINFO=${CMAKE_CXX_FLAGS_RELWITHDEBINFO} - -DCMAKE_CXX_FLAGS_DEBUG=${CMAKE_CXX_FLAGS_DEBUG} - -DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES} - -DBUILD_SHARED_LIBS=0 -) -if(CMAKE_BUILD_TYPE MATCHES Debug) - set(LIBGTEST_FILENAME ${CMAKE_STATIC_LIBRARY_PREFIX}gtestd${CMAKE_STATIC_LIBRARY_SUFFIX}) -else() - set(LIBGTEST_FILENAME ${CMAKE_STATIC_LIBRARY_PREFIX}gtest${CMAKE_STATIC_LIBRARY_SUFFIX}) -endif() +#set(GOOGLETEST_COMMIT 955c7f837efad184ec63e771c42542d37545eaef) +#ExternalProject_Add(proj_gtest +# URL https://github.com/google/googletest/archive/${GOOGLETEST_COMMIT}.tar.gz +# INSTALL_DIR ${INSTALL_DIR} +# CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH= +# -DCMAKE_INSTALL_LIBDIR=lib +# -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} +# -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} +# -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} +# -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS} +# -DCMAKE_CXX_FLAGS_RELEASE=${CMAKE_CXX_FLAGS_RELEASE} +# -DCMAKE_CXX_FLAGS_RELWITHDEBINFO=${CMAKE_CXX_FLAGS_RELWITHDEBINFO} +# -DCMAKE_CXX_FLAGS_DEBUG=${CMAKE_CXX_FLAGS_DEBUG} +# -DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES} +# -DBUILD_SHARED_LIBS=0 +#) +#if(CMAKE_BUILD_TYPE MATCHES Debug) +# set(LIBGTEST_FILENAME ${CMAKE_STATIC_LIBRARY_PREFIX}gtestd${CMAKE_STATIC_LIBRARY_SUFFIX}) +#else() +# set(LIBGTEST_FILENAME ${CMAKE_STATIC_LIBRARY_PREFIX}gtest${CMAKE_STATIC_LIBRARY_SUFFIX}) +#endif() -add_library(lib_gtest STATIC IMPORTED GLOBAL) -set_property(TARGET lib_gtest PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib/${LIBGTEST_FILENAME}) -target_include_directories(lib_gtest INTERFACE ${INSTALL_DIR}/include) -if(NOT MSVC) - target_link_libraries(lib_gtest INTERFACE -lpthread) -endif() -add_dependencies(lib_gtest proj_gtest) -set_target_properties(lib_gtest proj_gtest PROPERTIES EXCLUDE_FROM_ALL TRUE) +#add_library(lib_gtest STATIC IMPORTED GLOBAL) +#set_property(TARGET lib_gtest PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib/${LIBGTEST_FILENAME}) +#target_include_directories(lib_gtest INTERFACE ${INSTALL_DIR}/include) +#if(NOT MSVC) +# target_link_libraries(lib_gtest INTERFACE -lpthread) +#endif() +#add_dependencies(lib_gtest proj_gtest) +#set_target_properties(lib_gtest proj_gtest PROPERTIES EXCLUDE_FROM_ALL TRUE) -add_library(lib_injection STATIC - libinjection/src/xss.c - libinjection/src/libinjection_html5.c - libinjection/src/libinjection_xss.c - libinjection/src/libinjection_sqli.c) -target_include_directories(lib_injection INTERFACE ${PROJECT_SOURCE_DIR}/libinjection/src) -set_target_properties(lib_injection PROPERTIES POSITION_INDEPENDENT_CODE 1) +#add_library(lib_injection STATIC +# libinjection/src/xss.c +# libinjection/src/libinjection_html5.c +# libinjection/src/libinjection_xss.c +# libinjection/src/libinjection_sqli.c) +#target_include_directories(lib_injection INTERFACE ${PROJECT_SOURCE_DIR}/libinjection/src) +#set_target_properties(lib_injection PROPERTIES POSITION_INDEPENDENT_CODE 1) -add_library(lib_ac STATIC - lua-aho-corasick/ac_fast.cxx - lua-aho-corasick/ac_slow.cxx - lua-aho-corasick/ac.cxx) -target_include_directories(lib_ac INTERFACE ${PROJECT_SOURCE_DIR}/lua-aho-corasick) -set_target_properties(lib_ac PROPERTIES POSITION_INDEPENDENT_CODE 1) +#add_library(lib_ac STATIC +# lua-aho-corasick/ac_fast.cxx +# lua-aho-corasick/ac_slow.cxx +# lua-aho-corasick/ac.cxx) +#target_include_directories(lib_ac INTERFACE ${PROJECT_SOURCE_DIR}/lua-aho-corasick) +#set_target_properties(lib_ac PROPERTIES POSITION_INDEPENDENT_CODE 1) add_library(lib_radix STATIC radixlib/radixlib.c) target_include_directories(lib_radix INTERFACE ${PROJECT_SOURCE_DIR}/radixlib) set_target_properties(lib_radix PROPERTIES POSITION_INDEPENDENT_CODE 1) -set(UTF8PROC_VERSION v2.7.0) -ExternalProject_Add(proj_utf8proc - URL https://github.com/JuliaStrings/utf8proc/archive/refs/tags/${UTF8PROC_VERSION}.tar.gz - INSTALL_DIR ${INSTALL_DIR} - CMAKE_ARGS -DCMAKE_VERBOSE_MAKEFILE=1 -DCMAKE_INSTALL_PREFIX:PATH= - -DCMAKE_INSTALL_LIBDIR=lib - -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} - -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} - -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} - -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS} - -DCMAKE_C_FLAGS_RELEASE=${CMAKE_C_FLAGS_RELEASE} - -DCMAKE_C_FLAGS_RELWITHDEBINFO=${CMAKE_C_FLAGS_RELWITHDEBINFO} - -DCMAKE_C_FLAGS_DEBUG=${CMAKE_C_FLAGS_DEBUG} - -DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES} -) +#set(UTF8PROC_VERSION v2.7.0) +#ExternalProject_Add(proj_utf8proc +# URL https://github.com/JuliaStrings/utf8proc/archive/refs/tags/${UTF8PROC_VERSION}.tar.gz +# INSTALL_DIR ${INSTALL_DIR} +# CMAKE_ARGS -DCMAKE_VERBOSE_MAKEFILE=1 -DCMAKE_INSTALL_PREFIX:PATH= +# -DCMAKE_INSTALL_LIBDIR=lib +# -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} +# -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} +# -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} +# -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS} +# -DCMAKE_C_FLAGS_RELEASE=${CMAKE_C_FLAGS_RELEASE} +# -DCMAKE_C_FLAGS_RELWITHDEBINFO=${CMAKE_C_FLAGS_RELWITHDEBINFO} +# -DCMAKE_C_FLAGS_DEBUG=${CMAKE_C_FLAGS_DEBUG} +# -DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES} +#) -add_library(lib_utf8proc STATIC IMPORTED GLOBAL) -if (MSVC) - set_property(TARGET lib_utf8proc PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}utf8proc_static${CMAKE_STATIC_LIBRARY_SUFFIX}) -else () - set_property(TARGET lib_utf8proc PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}utf8proc${CMAKE_STATIC_LIBRARY_SUFFIX}) -endif() -target_include_directories(lib_utf8proc INTERFACE ${INSTALL_DIR}/include) -add_dependencies(lib_utf8proc proj_utf8proc) +#add_library(lib_utf8proc STATIC IMPORTED GLOBAL) +#if (MSVC) +# set_property(TARGET lib_utf8proc PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}utf8proc_static${CMAKE_STATIC_LIBRARY_SUFFIX}) +#else () +# set_property(TARGET lib_utf8proc PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}utf8proc${CMAKE_STATIC_LIBRARY_SUFFIX}) +#endif() +#target_include_directories(lib_utf8proc INTERFACE ${INSTALL_DIR}/include) +#add_dependencies(lib_utf8proc proj_utf8proc) # yaml-cpp -ExternalProject_Add(proj_yamlcpp - URL https://github.com/jbeder/yaml-cpp/archive/refs/tags/yaml-cpp-0.7.0.zip - INSTALL_DIR ${INSTALL_DIR} - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH= - -DCMAKE_INSTALL_LIBDIR=lib - -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} - -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} - -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS} - -DCMAKE_CXX_FLAGS_RELEASE=${CMAKE_CXX_FLAGS_RELEASE} - -DCMAKE_CXX_FLAGS_RELWITHDEBINFO=${CMAKE_CXX_FLAGS_RELWITHDEBINFO} - -DCMAKE_CXX_FLAGS_DEBUG=${CMAKE_CXX_FLAGS_DEBUG} - -DYAML_CPP_BUILD_TESTS=OFF - -DYAML_CPP_BUILD_CONTRIB=OFF - -DYAML_CPP_BUILD_TOOLS=OFF - -DYAML_CPP_INSTALL=ON - -DYAML_BUILD_SHARED_LIBS=OFF - -DYAML_MSVC_SHARED_RT=OFF - -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} - -DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES} -) -add_library(lib_yamlcpp STATIC IMPORTED GLOBAL) -if (NOT MSVC) - if(CMAKE_BUILD_TYPE MATCHES Debug) - set(LIBYAML_FILENAME libyaml-cppd${CMAKE_STATIC_LIBRARY_SUFFIX}) - else() - set(LIBYAML_FILENAME libyaml-cpp${CMAKE_STATIC_LIBRARY_SUFFIX}) - endif() -else() - set(LIBYAML_FILENAME yaml-cpp${CMAKE_STATIC_LIBRARY_SUFFIX}) -endif() +#ExternalProject_Add(proj_yamlcpp +# URL https://github.com/jbeder/yaml-cpp/archive/refs/tags/yaml-cpp-0.7.0.zip +# INSTALL_DIR ${INSTALL_DIR} +# CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH= +# -DCMAKE_INSTALL_LIBDIR=lib +# -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} +# -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} +# -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS} +# -DCMAKE_CXX_FLAGS_RELEASE=${CMAKE_CXX_FLAGS_RELEASE} +# -DCMAKE_CXX_FLAGS_RELWITHDEBINFO=${CMAKE_CXX_FLAGS_RELWITHDEBINFO} +# -DCMAKE_CXX_FLAGS_DEBUG=${CMAKE_CXX_FLAGS_DEBUG} +# -DYAML_CPP_BUILD_TESTS=OFF +# -DYAML_CPP_BUILD_CONTRIB=OFF +# -DYAML_CPP_BUILD_TOOLS=OFF +# -DYAML_CPP_INSTALL=ON +# -DYAML_BUILD_SHARED_LIBS=OFF +# -DYAML_MSVC_SHARED_RT=OFF +# -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} +# -DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES} +#) +#add_library(lib_yamlcpp STATIC IMPORTED GLOBAL) +#if (NOT MSVC) +# if(CMAKE_BUILD_TYPE MATCHES Debug) +# set(LIBYAML_FILENAME libyaml-cppd${CMAKE_STATIC_LIBRARY_SUFFIX}) +# else() +# set(LIBYAML_FILENAME libyaml-cpp${CMAKE_STATIC_LIBRARY_SUFFIX}) +# endif() +#else() +# set(LIBYAML_FILENAME yaml-cpp${CMAKE_STATIC_LIBRARY_SUFFIX}) +#endif() -set_target_properties(lib_yamlcpp PROPERTIES IMPORTED_LOCATION ${INSTALL_DIR}/lib/${LIBYAML_FILENAME}) -target_include_directories(lib_yamlcpp INTERFACE ${INSTALL_DIR}/include) -add_dependencies(lib_yamlcpp proj_yamlcpp) -set_target_properties(lib_yamlcpp proj_yamlcpp PROPERTIES EXCLUDE_FROM_ALL TRUE) +#set_target_properties(lib_yamlcpp PROPERTIES IMPORTED_LOCATION ${INSTALL_DIR}/lib/${LIBYAML_FILENAME}) +#target_include_directories(lib_yamlcpp INTERFACE ${INSTALL_DIR}/include) +#add_dependencies(lib_yamlcpp proj_yamlcpp) +#set_target_properties(lib_yamlcpp proj_yamlcpp PROPERTIES EXCLUDE_FROM_ALL TRUE) # Appsec event rules -ExternalProject_Add(proj_event_rules - GIT_REPOSITORY https://github.com/DataDog/appsec-event-rules.git -- GIT_TAG 1.3.2 +- GIT_TAG 1.7.1 - GIT_SHALLOW ON - CONFIGURE_COMMAND "" - BUILD_COMMAND "" - INSTALL_COMMAND "") +#ExternalProject_Add(proj_event_rules +# GIT_REPOSITORY https://github.com/DataDog/appsec-event-rules.git -+# GIT_TAG 1.3.2 ++# GIT_TAG 1.7.1 +# GIT_SHALLOW ON +# CONFIGURE_COMMAND "" +# BUILD_COMMAND "" +# INSTALL_COMMAND "") -set_target_properties(proj_event_rules PROPERTIES EXCLUDE_FROM_ALL TRUE) +#set_target_properties(proj_event_rules PROPERTIES EXCLUDE_FROM_ALL TRUE) # vim: et