Date: Wed Jun 2 22:57:38 UTC 2021 From: Ferdinand Thiessen Allow installing libraries (reported upstream 2021-06-03) diff -Nur bliss-0.77/CMakeLists.txt new/CMakeLists.txt --- bliss-0.77/CMakeLists.txt 2021-02-18 10:59:33.000000000 +0100 +++ new/CMakeLists.txt 2021-06-03 01:45:35.260180830 +0200 @@ -1,9 +1,11 @@ cmake_minimum_required(VERSION 3.5) # set the project name -project(bliss) +project(bliss VERSION 0.77) option(USE_GMP "Use GNU Multiple Precision Arithmetic library" OFF) +option(BUILD_SHARED "Build bliss as shared library" ON) +option(BUILD_STATIC "Build bliss as static library" ON) # specify the C++ standard set(CMAKE_CXX_STANDARD 11) @@ -47,18 +49,38 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_BINARY_DIR}) endif(MSVC) +if (BUILD_SHARED) + # Add the shared library + add_library(bliss SHARED ${BLISS_SOURCE_FILES}) + set_target_properties(bliss PROPERTIES VERSION ${PROJECT_VERSION} POSITION_INDEPENDENT_CODE 1) + target_link_libraries(bliss ${GMP_LIBRARIES}) + install(TARGETS bliss LIBRARY) +endif() -# Add the shared library -add_library(bliss SHARED ${BLISS_SOURCE_FILES}) -set_property(TARGET bliss PROPERTY POSITION_INDEPENDENT_CODE 1) - -# Add the static library -add_library(bliss_static STATIC ${BLISS_SOURCE_FILES}) +if (BUILD_STATIC) + # Add the static library + add_library(bliss_static STATIC ${BLISS_SOURCE_FILES}) + install(TARGETS bliss_static LIBRARY) +endif() # Add the executable add_executable(bliss-executable src/bliss.cc) -target_link_libraries(bliss-executable bliss_static) +if (BUILD_SHARED) + target_link_libraries(bliss-executable bliss) +else() + target_link_libraries(bliss-executable bliss_static) +endif() + if(USE_GMP) target_link_libraries(bliss-executable ${GMP_LIBRARIES}) endif(USE_GMP) set_target_properties(bliss-executable PROPERTIES OUTPUT_NAME bliss) + +install(TARGETS bliss-executable RUNTIME) + +# Install header files +install(DIRECTORY src/ + DESTINATION include/bliss + FILES_MATCHING PATTERN "*.hh" +) +