opnsense-ports/devel/libddwaf/files/patch-CMakeLists.txt
Franco Fichtner 6773d073f4 */*: sync with upstream
Taken from: FreeBSD
2023-11-15 11:28:49 +01:00

205 lines
10 KiB
Text

--- CMakeLists.txt.orig 2023-10-31 14:13:07 UTC
+++ CMakeLists.txt
@@ -7,24 +7,24 @@ 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()
+#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()
set(CMAKE_C_STANDARD 99)
set(CMAKE_CXX_STANDARD 20)
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)
add_library(glibc_compat OBJECT ${libddwaf_SOURCE_DIR}/src/glibc-compat/time64.c)
set_target_properties(glibc_compat PROPERTIES POSITION_INDEPENDENT_CODE 1)
@@ -159,7 +159,7 @@ install(FILES ${libddwaf_SOURCE_DIR}/include/ddwaf.h D
# System dependencies
set(LIBDDWAF_INTERFACE_LIBRARIES "")
-set(LIBDDWAF_PRIVATE_LIBRARIES lib_re2 lib_utf8proc)
+#set(LIBDDWAF_PRIVATE_LIBRARIES lib_re2 lib_utf8proc)
if(NOT MSVC AND LIBDDWAF_TEST_COVERAGE)
target_compile_options(libddwaf_objects PRIVATE -ggdb --coverage)
@@ -192,6 +192,28 @@ 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(LIBFMT fmt)
+if (LIBFMT)
+ list(APPEND LIBDDWAF_INTERFACE_LIBRARIES fmt)
+endif()
+find_library(LIBINJECTION injection)
+if (LIBINJECTION)
+ list(APPEND LIBDDWAF_INTERFACE_LIBRARIES injection)
+endif()
+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}
@@ -216,64 +238,65 @@ 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}
- $<TARGET_FILE:libddwaf_static> $<TARGET_FILE:lib_re2> $<TARGET_FILE:lib_utf8proc>
- COMMAND ${CMAKE_COMMAND} -E copy lib_comb/combined${CMAKE_STATIC_LIBRARY_SUFFIX} $<TARGET_FILE:libddwaf_static>
- 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 $<TARGET_FILE:libddwaf_static>
- COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $<TARGET_FILE:lib_re2>
- COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $<TARGET_FILE:lib_utf8proc>
- 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} $<TARGET_FILE:libddwaf_static>
- 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 $<TARGET_FILE:libddwaf_static>
- COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $<TARGET_FILE:lib_re2>
- COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $<TARGET_FILE:lib_utf8proc>
- COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_OBJECTS:glibc_compat> ar_comb
- 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} $<TARGET_FILE:libddwaf_static>
- 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)
- if (NOT CMAKE_STRIP)
- find_program(STRIP strip)
- if (STRIP STREQUAL "STRIP-NOTFOUND")
- message(FATAL_ERROR "strip not found")
- endif()
- else()
- set(STRIP ${CMAKE_STRIP})
- endif()
- add_custom_command(TARGET libddwaf_static POST_BUILD
- COMMAND ${STRIP} -x -S $<TARGET_FILE:libddwaf_static> -o $<TARGET_FILE:libddwaf_static>.stripped)
- install(FILES $<TARGET_FILE:libddwaf_static>.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}
+# $<TARGET_FILE:libddwaf_static> $<TARGET_FILE:lib_re2> $<TARGET_FILE:lib_utf8proc>
+# COMMAND ${CMAKE_COMMAND} -E copy lib_comb/combined${CMAKE_STATIC_LIBRARY_SUFFIX} $<TARGET_FILE:libddwaf_static>
+# 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 $<TARGET_FILE:libddwaf_static>
+# COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $<TARGET_FILE:lib_re2>
+# COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $<TARGET_FILE:lib_utf8proc>
+# 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} $<TARGET_FILE:libddwaf_static>
+# 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 $<TARGET_FILE:libddwaf_static>
+# COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $<TARGET_FILE:lib_re2>
+# COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $<TARGET_FILE:lib_utf8proc>
+# COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_OBJECTS:glibc_compat> ar_comb
+# 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} $<TARGET_FILE:libddwaf_static>
+# 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)
+# if (NOT CMAKE_STRIP)
+# find_program(STRIP strip)
+# if (STRIP STREQUAL "STRIP-NOTFOUND")
+# message(FATAL_ERROR "strip not found")
+# endif()
+# else()
+# set(STRIP ${CMAKE_STRIP})
+# endif()
+# add_custom_command(TARGET libddwaf_static POST_BUILD
+# COMMAND ${STRIP} -x -S $<TARGET_FILE:libddwaf_static> -o $<TARGET_FILE:libddwaf_static>.stripped)
+# install(FILES $<TARGET_FILE:libddwaf_static>.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 "e7d3c209402b8d81d119584cb147f88efe976965")
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)