aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDon <don.j.olmstead@gmail.com>2018-03-16 13:59:26 -0700
committerDon <don.j.olmstead@gmail.com>2018-03-16 13:59:26 -0700
commit5fb488de9f70d9d306c83d1316998e86d95f4a4e (patch)
treeaa49668b85b9f28152091e4aeb1711066ba95e8d
parent639a6629ae4b2243d1d15670f90750c3200ff4bf (diff)
downloadportable-5fb488de9f70d9d306c83d1316998e86d95f4a4e.tar.gz
portable-5fb488de9f70d9d306c83d1316998e86d95f4a4e.tar.bz2
portable-5fb488de9f70d9d306c83d1316998e86d95f4a4e.zip
Use groups in CMake install command for libraries
On Windows shared libraries should be installed into the bin directory. Using grouping within CMake based on the target type fixes this issue.
-rw-r--r--crypto/CMakeLists.txt16
-rw-r--r--ssl/CMakeLists.txt17
-rw-r--r--tls/CMakeLists.txt16
3 files changed, 31 insertions, 18 deletions
diff --git a/crypto/CMakeLists.txt b/crypto/CMakeLists.txt
index 0615110..1a2b6e0 100644
--- a/crypto/CMakeLists.txt
+++ b/crypto/CMakeLists.txt
@@ -807,7 +807,9 @@ if(EXTRA_EXPORT)
807endif() 807endif()
808 808
809add_library(crypto-objects OBJECT ${CRYPTO_SRC}) 809add_library(crypto-objects OBJECT ${CRYPTO_SRC})
810set(CRYPTO_LIBRARIES crypto)
810if (BUILD_SHARED) 811if (BUILD_SHARED)
812 list(APPEND CRYPTO_LIBRARIES crypto-shared)
811 add_library(crypto STATIC $<TARGET_OBJECTS:crypto-objects>) 813 add_library(crypto STATIC $<TARGET_OBJECTS:crypto-objects>)
812 add_library(crypto-shared SHARED $<TARGET_OBJECTS:crypto-objects>) 814 add_library(crypto-shared SHARED $<TARGET_OBJECTS:crypto-objects>)
813 export_symbol(crypto-shared ${CMAKE_CURRENT_SOURCE_DIR}/crypto_p.sym) 815 export_symbol(crypto-shared ${CMAKE_CURRENT_SOURCE_DIR}/crypto_p.sym)
@@ -820,13 +822,15 @@ if (BUILD_SHARED)
820 ARCHIVE_OUTPUT_NAME crypto${CRYPTO_POSTFIX}) 822 ARCHIVE_OUTPUT_NAME crypto${CRYPTO_POSTFIX})
821 set_target_properties(crypto-shared PROPERTIES VERSION 823 set_target_properties(crypto-shared PROPERTIES VERSION
822 ${CRYPTO_VERSION} SOVERSION ${CRYPTO_MAJOR_VERSION}) 824 ${CRYPTO_VERSION} SOVERSION ${CRYPTO_MAJOR_VERSION})
823 if(ENABLE_LIBRESSL_INSTALL)
824 install(TARGETS crypto crypto-shared DESTINATION ${CMAKE_INSTALL_LIBDIR})
825 endif(ENABLE_LIBRESSL_INSTALL)
826else() 825else()
827 add_library(crypto STATIC ${CRYPTO_SRC}) 826 add_library(crypto STATIC ${CRYPTO_SRC})
828 if(ENABLE_LIBRESSL_INSTALL)
829 install(TARGETS crypto DESTINATION ${CMAKE_INSTALL_LIBDIR})
830 endif(ENABLE_LIBRESSL_INSTALL)
831endif() 827endif()
832 828
829if(ENABLE_LIBRESSL_INSTALL)
830 install(
831 TARGETS ${CRYPTO_LIBRARIES}
832 ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
833 LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
834 RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
835 )
836endif(ENABLE_LIBRESSL_INSTALL)
diff --git a/ssl/CMakeLists.txt b/ssl/CMakeLists.txt
index 3ea16a8..93f20ee 100644
--- a/ssl/CMakeLists.txt
+++ b/ssl/CMakeLists.txt
@@ -47,7 +47,9 @@ set(
47) 47)
48 48
49add_library(ssl-objects OBJECT ${SSL_SRC}) 49add_library(ssl-objects OBJECT ${SSL_SRC})
50set(SSL_LIBRARIES ssl)
50if (BUILD_SHARED) 51if (BUILD_SHARED)
52 list(APPEND SSL_LIBRARIES ssl-shared)
51 add_library(ssl STATIC $<TARGET_OBJECTS:ssl-objects>) 53 add_library(ssl STATIC $<TARGET_OBJECTS:ssl-objects>)
52 add_library(ssl-shared SHARED $<TARGET_OBJECTS:ssl-objects>) 54 add_library(ssl-shared SHARED $<TARGET_OBJECTS:ssl-objects>)
53 export_symbol(ssl-shared ${CMAKE_CURRENT_SOURCE_DIR}/ssl.sym) 55 export_symbol(ssl-shared ${CMAKE_CURRENT_SOURCE_DIR}/ssl.sym)
@@ -61,12 +63,15 @@ if (BUILD_SHARED)
61 ARCHIVE_OUTPUT_NAME ssl${SSL_POSTFIX}) 63 ARCHIVE_OUTPUT_NAME ssl${SSL_POSTFIX})
62 set_target_properties(ssl-shared PROPERTIES VERSION ${SSL_VERSION} 64 set_target_properties(ssl-shared PROPERTIES VERSION ${SSL_VERSION}
63 SOVERSION ${SSL_MAJOR_VERSION}) 65 SOVERSION ${SSL_MAJOR_VERSION})
64 if(ENABLE_LIBRESSL_INSTALL)
65 install(TARGETS ssl ssl-shared DESTINATION ${CMAKE_INSTALL_LIBDIR})
66 endif(ENABLE_LIBRESSL_INSTALL)
67else() 66else()
68 add_library(ssl STATIC ${SSL_SRC}) 67 add_library(ssl STATIC ${SSL_SRC})
69 if(ENABLE_LIBRESSL_INSTALL)
70 install(TARGETS ssl DESTINATION ${CMAKE_INSTALL_LIBDIR})
71 endif(ENABLE_LIBRESSL_INSTALL)
72endif() 68endif()
69
70if(ENABLE_LIBRESSL_INSTALL)
71 install(
72 TARGETS ${SSL_LIBRARIES}
73 ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
74 LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
75 RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
76 )
77endif(ENABLE_LIBRESSL_INSTALL)
diff --git a/tls/CMakeLists.txt b/tls/CMakeLists.txt
index 0e13da5..71f505a 100644
--- a/tls/CMakeLists.txt
+++ b/tls/CMakeLists.txt
@@ -37,7 +37,9 @@ else()
37endif() 37endif()
38 38
39add_library(tls-objects OBJECT ${TLS_SRC}) 39add_library(tls-objects OBJECT ${TLS_SRC})
40set(TLS_LIBRARIES tls)
40if (BUILD_SHARED) 41if (BUILD_SHARED)
42 list(APPEND TLS_LIBRARIES tls-shared)
41 add_library(tls STATIC $<TARGET_OBJECTS:tls-objects>) 43 add_library(tls STATIC $<TARGET_OBJECTS:tls-objects>)
42 add_library(tls-shared SHARED $<TARGET_OBJECTS:tls-objects>) 44 add_library(tls-shared SHARED $<TARGET_OBJECTS:tls-objects>)
43 export_symbol(tls-shared ${CMAKE_CURRENT_SOURCE_DIR}/tls.sym) 45 export_symbol(tls-shared ${CMAKE_CURRENT_SOURCE_DIR}/tls.sym)
@@ -51,13 +53,15 @@ if (BUILD_SHARED)
51 ARCHIVE_OUTPUT_NAME tls${TLS_POSTFIX}) 53 ARCHIVE_OUTPUT_NAME tls${TLS_POSTFIX})
52 set_target_properties(tls-shared PROPERTIES VERSION ${TLS_VERSION} 54 set_target_properties(tls-shared PROPERTIES VERSION ${TLS_VERSION}
53 SOVERSION ${TLS_MAJOR_VERSION}) 55 SOVERSION ${TLS_MAJOR_VERSION})
54 if(ENABLE_LIBRESSL_INSTALL)
55 install(TARGETS tls tls-shared DESTINATION ${CMAKE_INSTALL_LIBDIR})
56 endif(ENABLE_LIBRESSL_INSTALL)
57else() 56else()
58 add_library(tls STATIC ${TLS_SRC}) 57 add_library(tls STATIC ${TLS_SRC})
59 if(ENABLE_LIBRESSL_INSTALL)
60 install(TARGETS tls DESTINATION ${CMAKE_INSTALL_LIBDIR})
61 endif(ENABLE_LIBRESSL_INSTALL)
62endif() 58endif()
63 59
60if(ENABLE_LIBRESSL_INSTALL)
61 install(
62 TARGETS ${TLS_LIBRARIES}
63 ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
64 LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
65 RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
66 )
67endif(ENABLE_LIBRESSL_INSTALL)