CMakeLists.txt 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. # extracting curlpp version text + version num
  2. file (READ ${CMAKE_CURRENT_SOURCE_DIR}/../include/curlpp/cURLpp.hpp CURLPP_VERSION_H_CONTENTS)
  3. string (REGEX MATCH "#define LIBCURLPP_VERSION \"[^\"]*"
  4. CURLPP_VERSION ${CURLPP_VERSION_H_CONTENTS})
  5. string (REGEX REPLACE "[^\"]+\"" "" CURLPP_VERSION ${CURLPP_VERSION})
  6. string (REGEX MATCH "#define LIBCURLPP_VERSION_NUM 0x[0-9a-fA-F]+"
  7. CURLPP_VERSION_NUM ${CURLPP_VERSION_H_CONTENTS})
  8. string (REGEX REPLACE "[^0]+0x" "" CURLPP_VERSION_NUM ${CURLPP_VERSION_NUM})
  9. message(STATUS "curlpp version=[${CURLPP_VERSION}]")
  10. message(STATUS "curlpp version num=[${CURLPP_VERSION_NUM}]")
  11. # curlpp-config needs the following options to be set.
  12. string(REPLACE "." "" libext "${CMAKE_STATIC_LIBRARY_SUFFIX}")
  13. set(CC "${CMAKE_C_COMPILER}")
  14. set(libdir "${CMAKE_INSTALL_LIBDIR}")
  15. set(libdir_static "${CMAKE_INSTALL_LIBDIR}")
  16. set(includedir "${CMAKE_INSTALL_INCLUDEDIR}")
  17. set(prefix "${CMAKE_INSTALL_PREFIX}")
  18. set(LDFLAGS "${CMAKE_SHARED_LINKER_FLAGS}")
  19. # Finally generate a "curl-config" matching this config
  20. configure_file("${CMAKE_CURRENT_SOURCE_DIR}/curlpp-config.in"
  21. "${CMAKE_CURRENT_BINARY_DIR}/curlpp-config" @ONLY)
  22. install(FILES "${CMAKE_CURRENT_BINARY_DIR}/curlpp-config"
  23. DESTINATION ${CMAKE_INSTALL_BINDIR}
  24. PERMISSIONS
  25. OWNER_READ OWNER_WRITE OWNER_EXECUTE
  26. GROUP_READ GROUP_EXECUTE
  27. WORLD_READ WORLD_EXECUTE)
  28. # Finally generate a pkg-config file matching this config
  29. configure_file("${CMAKE_CURRENT_SOURCE_DIR}/curlpp.pc.in"
  30. "${CMAKE_CURRENT_BINARY_DIR}/curlpp.pc" @ONLY)
  31. install(FILES "${CMAKE_CURRENT_BINARY_DIR}/curlpp.pc"
  32. DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)