|
| 1 | +diff --git a/CMakeLists.txt b/CMakeLists.txt |
| 2 | +index 8b183a0..a801ae8 100644 |
| 3 | +--- a/CMakeLists.txt |
| 4 | ++++ b/CMakeLists.txt |
| 5 | +@@ -85,11 +85,12 @@ endif() |
| 6 | + |
| 7 | + file(GLOB_RECURSE HeaderFileList "${CMAKE_CURRENT_SOURCE_DIR}/include/*") |
| 8 | + file(GLOB_RECURSE SourceFileList "${CMAKE_CURRENT_SOURCE_DIR}/src/*") |
| 9 | ++if(BUILD_SHARED_LIBS) |
| 10 | + add_library(${PROJECT_NAME} SHARED ${HeaderFileList} ${SourceFileList}) |
| 11 | + target_link_libraries(${PROJECT_NAME} ${CURL_LIBRARIES} ${CONAN_LIBS}) |
| 12 | + set_target_properties(${PROJECT_NAME} PROPERTIES SOVERSION 1 VERSION 1.0.0) |
| 13 | +- |
| 14 | +-add_library(${PROJECT_NAME}_static STATIC ${HeaderFileList} ${SourceFileList}) |
| 15 | ++else() |
| 16 | ++add_library(${PROJECT_NAME} STATIC ${HeaderFileList} ${SourceFileList}) |
| 17 | + |
| 18 | + # Make sure that on unix-platforms shared and static libraries have |
| 19 | + # the same root name, but different suffixes. |
| 20 | +@@ -97,19 +98,28 @@ add_library(${PROJECT_NAME}_static STATIC ${HeaderFileList} ${SourceFileList}) |
| 21 | + # (solution taken from https://cmake.org/Wiki/CMake_FAQ#How_do_I_make_my_shared_and_static_libraries_have_the_same_root_name.2C_but_different_suffixes.3F) |
| 22 | + # |
| 23 | + # Making shared and static libraries have the same root name, but different suffixes |
| 24 | +-SET_TARGET_PROPERTIES(${PROJECT_NAME}_static PROPERTIES OUTPUT_NAME ${PROJECT_NAME}) |
| 25 | ++SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES OUTPUT_NAME ${PROJECT_NAME}) |
| 26 | + # Now the library target "curlpp_static" will be named "curlpp.lib" with MS tools. |
| 27 | + # This conflicts with the "curlpp.lib" import library corresponding to "curlpp.dll", |
| 28 | + # so we add a "lib" prefix (which is default on other platforms anyway): |
| 29 | +-SET_TARGET_PROPERTIES(${PROJECT_NAME}_static PROPERTIES PREFIX "lib") |
| 30 | +-target_link_libraries(${PROJECT_NAME}_static ${CURL_LIBRARIES} ${CONAN_LIBS}) |
| 31 | ++SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES PREFIX "lib") |
| 32 | ++target_link_libraries(${PROJECT_NAME} CURL::libcurl) |
| 33 | ++endif() |
| 34 | ++ |
| 35 | ++target_include_directories(${PROJECT_NAME} PUBLIC $<INSTALL_INTERFACE:include>) |
| 36 | + |
| 37 | + # install headers |
| 38 | + install(DIRECTORY include/utilspp/ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/utilspp") |
| 39 | + install(DIRECTORY include/curlpp/ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/curlpp") |
| 40 | + |
| 41 | +-install(TARGETS ${PROJECT_NAME} ${PROJECT_NAME}_static |
| 42 | ++install(TARGETS ${PROJECT_NAME} |
| 43 | ++ EXPORT ${PROJECT_NAME}-config |
| 44 | + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} |
| 45 | + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} |
| 46 | + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) |
| 47 | + |
| 48 | ++install(EXPORT ${PROJECT_NAME}-config |
| 49 | ++ FILE unofficial-${PROJECT_NAME}-config.cmake |
| 50 | ++ NAMESPACE unofficial::${PROJECT_NAME}:: |
| 51 | ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} |
| 52 | ++) |
0 commit comments