Cleaned up PCRE2 build process
Switched to ExternalProject CMake module to make the inclusion of external CMake projects easier. This removes the rebuilding of the pcre2 libraries each time the project is reconfigured.
This commit is contained in:
@ -5,18 +5,17 @@
|
||||
# need to add a dependeny on the 'pcre2' target by adding add_dependencies(<target> pcre2)
|
||||
# to the CMakeLists.txt
|
||||
|
||||
set(PCRE_ROOT_DIR ${CMAKE_SOURCE_DIR}/pcre2/)
|
||||
set(PCRE_BUILD_DIR ${CMAKE_BINARY_DIR}/pcre2/)
|
||||
set(PCRE2_LIBRARIES ${CMAKE_BINARY_DIR}/pcre2/libpcre2-8.so CACHE STRING "PCRE2 dynamic libraries" FORCE)
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${PCRE_BUILD_DIR})
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy_directory ${PCRE_ROOT_DIR} ${PCRE_BUILD_DIR})
|
||||
include(ExternalProject)
|
||||
|
||||
add_custom_target(pcre2 COMMAND ${CMAKE_COMMAND} ${PCRE_BUILD_DIR}
|
||||
-DBUILD_SHARED_LIBS=Y
|
||||
-DPCRE2_BUILD_PCRE2GREP=N
|
||||
-DPCRE2_BUILD_TESTS=N
|
||||
COMMAND make
|
||||
WORKING_DIRECTORY ${PCRE_BUILD_DIR})
|
||||
set(PCRE2_ROOT_DIR ${CMAKE_SOURCE_DIR}/pcre2/)
|
||||
set(PCRE2_BUILD_DIR ${CMAKE_BINARY_DIR}/pcre2/)
|
||||
set(PCRE2_LIBRARIES ${CMAKE_BINARY_DIR}/pcre2/libpcre2-8.so CACHE STRING "PCRE2 dynamic libraries" FORCE)
|
||||
|
||||
ExternalProject_Add(pcre2 SOURCE_DIR ${PCRE2_ROOT_DIR}
|
||||
CMAKE_ARGS -DBUILD_SHARED_LIBS=Y -DPCRE2_BUILD_PCRE2GREP=N -DPCRE2_BUILD_TESTS=N
|
||||
BINARY_DIR ${PCRE2_BUILD_DIR}
|
||||
BUILD_COMMAND make
|
||||
INSTALL_COMMAND "")
|
||||
|
||||
include_directories(${CMAKE_BINARY_DIR}/pcre2/)
|
||||
install(PROGRAMS ${PCRE2_LIBRARIES} DESTINATION ${MAXSCALE_LIBDIR})
|
||||
|
||||
Reference in New Issue
Block a user