diff --git a/cmake/BuildPCRE2.cmake b/cmake/BuildPCRE2.cmake index f1b636be9..98e13acdd 100644 --- a/cmake/BuildPCRE2.cmake +++ b/cmake/BuildPCRE2.cmake @@ -5,18 +5,17 @@ # need to add a dependeny on the 'pcre2' target by adding add_dependencies( 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})