# Packaging
install(FILES ${libddwaf_SOURCE_DIR}/include/ddwaf.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
install(EXPORT libddwaf-config DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/cmake/libddwaf)
if(APPLE AND NOT CMAKE_OSX_ARCHITECTURES STREQUAL "")
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 (MSVC)
string(REPLACE "\\" "/" CPACK_PACKAGE_DIRECTORY "${CPACK_PACKAGE_DIRECTORY}")
endif()
set(CPACK_PACKAGE_NAME "${CMAKE_PROJECT_NAME}")
set(CPACK_PACKAGE_VERSION "${PROJECT_VERSION}")
set(CPACK_PACKAGE_VENDOR "datadog")
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "DataDog WAF Library")
set(CPACK_RESOURCE_FILE_README "${libddwaf_SOURCE_DIR}/README.md")
set(CPACK_GENERATOR "TGZ")
set(CPACK_SOURCE_GENERATOR "TGZ")
## Package name
if(GIT_COMMIT)
set(DDWAF_VERSION ${CMAKE_PROJECT_VERSION})
string(SUBSTRING "${GIT_COMMIT}" 0 7 SHORT_BUILD_ID)
else()
execute_process(COMMAND git describe --exact-match --tags HEAD
WORKING_DIRECTORY ${libddwaf_SOURCE_DIR}
OUTPUT_VARIABLE DDWAF_VERSION
OUTPUT_STRIP_TRAILING_WHITESPACE
ERROR_QUIET
)
if (NOT DDWAF_VERSION)
set(DDWAF_VERSION ${CMAKE_PROJECT_VERSION})
execute_process(COMMAND git rev-parse --short HEAD
WORKING_DIRECTORY ${libddwaf_SOURCE_DIR}
OUTPUT_VARIABLE SHORT_BUILD_ID
OUTPUT_STRIP_TRAILING_WHITESPACE
)
endif()
endif()
set(CPACK_PACKAGE_FILE_NAME ${CMAKE_PROJECT_NAME}-${DDWAF_VERSION}-${CMAKE_SYSTEM_NAME}-${LIBDDWAF_PACKAGE_PROCESSOR})
if (SHORT_BUILD_ID)
set(CPACK_PACKAGE_FILE_NAME ${CPACK_PACKAGE_FILE_NAME}-${SHORT_BUILD_ID})
endif()
string(TOLOWER ${CPACK_PACKAGE_FILE_NAME} CPACK_PACKAGE_FILE_NAME)
set(CPACK_WARN_ON_ABSOLUTE_INSTALL_DESTINATION TRUE)
include(CPack)