Blob Blame History Raw
Date: Wed Jun  2 22:57:38 UTC 2021
From: Ferdinand Thiessen <rpm@fthiessen.de>

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"
+)
+