CMakeLists.txt 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. set(DEPS_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX} CACHE PATH "Deps install.")
  2. set(FFlags_ROOT ${DEPS_INSTALL_PREFIX} CACHE PATH "FFlags root.")
  3. set(dlfcn-win32_ROOT ${DEPS_INSTALL_PREFIX} CACHE PATH "FFlags root.")
  4. set(PCRE2_ROOT ${DEPS_INSTALL_PREFIX} CACHE PATH "pcre2 root.")
  5. set(PCRE2_USE_STATIC_LIBS ON CACHE BOOL "")
  6. if (WIN32 AND NOT CYGWIN) # cygwin 不依赖 dl
  7. execute_process(
  8. COMMAND ${CMAKE_COMMAND} -E make_directory dlfcn-win32
  9. WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
  10. )
  11. add_custom_target(dlfcn-win32-build)
  12. add_custom_command(TARGET dlfcn-win32-build POST_BUILD
  13. COMMAND ${CMAKE_COMMAND}
  14. "${CMAKE_CURRENT_LIST_DIR}/dlfcn-win32"
  15. "-DCMAKE_INSTALL_PREFIX:PATH=${dlfcn-win32_ROOT}"
  16. "-G" "${CMAKE_GENERATOR}"
  17. COMMAND ${CMAKE_COMMAND} --build .
  18. COMMAND ${CMAKE_COMMAND} --install .
  19. WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/dlfcn-win32
  20. COMMENT "Build dlfcn-win32"
  21. VERBATIM)
  22. endif()
  23. execute_process(
  24. COMMAND ${CMAKE_COMMAND} -E make_directory pcre2
  25. WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
  26. )
  27. add_custom_target(PCRE2-build)
  28. add_custom_command(TARGET PCRE2-build POST_BUILD
  29. COMMAND ${CMAKE_COMMAND}
  30. "${CMAKE_CURRENT_LIST_DIR}/pcre2"
  31. "-DCMAKE_INSTALL_PREFIX:PATH=${PCRE2_ROOT}"
  32. "-DPCRE2_STATIC_PIC=ON"
  33. "-DPCRE2_BUILD_TESTS=OFF"
  34. "-DPCRE2_BUILD_PCRE2GREP=OFF"
  35. "-G" "${CMAKE_GENERATOR}"
  36. COMMAND ${CMAKE_COMMAND} --build .
  37. COMMAND ${CMAKE_COMMAND} --install .
  38. WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/pcre2
  39. COMMENT "Build PCRE2"
  40. VERBATIM)