diff --git a/CMakeLists.txt b/CMakeLists.txt index 9ca77060..d26067b2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -54,3 +54,6 @@ if (CMAKE_PROJECT_NAME STREQUAL "Uri" OR CPP-NETLIB_BUILD_TESTS) endif() add_subdirectory(test) endif() + +#propagate sources to parent scope for one-lib-build +set(Uri_SRCS ${Uri_SRCS} PARENT_SCOPE) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 64ea5690..17088b42 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -3,15 +3,23 @@ # (See accompanying file LICENSE_1_0.txt or copy at # http://www.boost.org/LICENSE_1_0.txt) -set(Uri_SRCS uri.cpp uri_io.cpp uri_builder.cpp detail/uri_parse.cpp) -add_library(cppnetlib-uri ${Uri_SRCS}) +set(Uri_SRCS + ${CMAKE_CURRENT_SOURCE_DIR}/uri.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/uri_io.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/uri_builder.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/detail/uri_parse.cpp) +if(NOT CPP-NETLIB_BUILD_SINGLE_LIB) + add_library(cppnetlib-uri ${Uri_SRCS}) + install( + TARGETS + cppnetlib-uri + DESTINATION ${CMAKE_INSTALL_PREFIX}/lib + ) -install( - TARGETS - cppnetlib-uri - DESTINATION ${CMAKE_INSTALL_PREFIX}/lib - ) + install(DIRECTORY network + DESTINATION ${CMAKE_INSTALL_PREFIX}/include + ) +endif() -install(DIRECTORY network - DESTINATION ${CMAKE_INSTALL_PREFIX}/include - ) +#propagate sources to parent scope for one-lib-build +set(Uri_SRCS ${Uri_SRCS} PARENT_SCOPE) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index cead6458..6a007d4e 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -16,10 +16,17 @@ set( uri_resolve_test uri_builder_test ) +if(CPP-NETLIB_BUILD_SINGLE_LIB) + set(link_cppnetlib_lib cppnetlib) + set(dependencies cppnetlib) +else() + set(link_cppnetlib_lib cppnetlib-uri) + set(dependencies cppnetlib-uri) +endif() foreach (test ${TESTS}) add_executable(${test} ${test}.cpp) - add_dependencies(${test} cppnetlib-uri) - target_link_libraries(${test} ${GTEST_BOTH_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} cppnetlib-uri) + add_dependencies(${test} ${dependencies}) + target_link_libraries(${test} ${GTEST_BOTH_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} ${link_cppnetlib_lib}) if (OPENSSL_FOUND) target_link_libraries(${test} ${OPENSSL_LIBRARIES}) endif()