diff --git a/CMakeLists.txt b/CMakeLists.txt index b66143e..85c5315 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -42,7 +42,9 @@ endif ( ) set( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/cmake" ) find_package( asio REQUIRED ) +if(NOT DISABLE_TESTS) find_package( catch REQUIRED ) +endif() if ( BUILD_SSL ) find_package( openssl REQUIRED ) endif ( ) @@ -54,6 +56,7 @@ include_directories( ${INCLUDE_DIR} SYSTEM ${asio_INCLUDE} ${kashmir_INCLUDE} ${ # file( GLOB_RECURSE MANIFEST "${SOURCE_DIR}/*.cpp" ) +if(NOT BUILD_SHARED_LIBS) set( STATIC_LIBRARY_NAME "${PROJECT_NAME}-static" ) add_library( ${STATIC_LIBRARY_NAME} STATIC ${MANIFEST} ) set_property( TARGET ${STATIC_LIBRARY_NAME} PROPERTY CXX_STANDARD 11 ) @@ -64,7 +67,9 @@ if ( BUILD_SSL ) else ( ) target_link_libraries( ${STATIC_LIBRARY_NAME} ) endif ( ) +endif() +if(BUILD_SHARED_LIBS) set( SHARED_LIBRARY_NAME "${PROJECT_NAME}-shared" ) add_library( ${SHARED_LIBRARY_NAME} SHARED ${MANIFEST} ) set_property( TARGET ${SHARED_LIBRARY_NAME} PROPERTY CXX_STANDARD 11 ) @@ -76,12 +81,15 @@ if ( BUILD_SSL ) else ( ) target_link_libraries( ${SHARED_LIBRARY_NAME} ) endif ( ) +endif() +if(NOT DISABLE_TESTS) enable_testing( ) add_subdirectory( "${PROJECT_SOURCE_DIR}/test/unit" ) add_subdirectory( "${PROJECT_SOURCE_DIR}/test/feature" ) add_subdirectory( "${PROJECT_SOURCE_DIR}/test/regression" ) add_subdirectory( "${PROJECT_SOURCE_DIR}/test/integration" ) +endif() # # Install @@ -90,5 +98,8 @@ file( GLOB ARTIFACTS "${SOURCE_DIR}/*.hpp" ) install( FILES "${INCLUDE_DIR}/${PROJECT_NAME}" DESTINATION "${CMAKE_INSTALL_PREFIX}/include" ) install( FILES ${ARTIFACTS} DESTINATION "${CMAKE_INSTALL_PREFIX}/include/corvusoft/${PROJECT_NAME}" ) -install( TARGETS ${STATIC_LIBRARY_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT library ) -install( TARGETS ${SHARED_LIBRARY_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT library ) +if(NOT BUILD_SHARED_LIBS) +install( TARGETS ${STATIC_LIBRARY_NAME} RUNTIME DESTINATION bin LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT library ) +else() +install( TARGETS ${SHARED_LIBRARY_NAME} RUNTIME DESTINATION bin LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT library ) +endif()