diff options
author | Don <don.j.olmstead@gmail.com> | 2018-03-16 13:59:26 -0700 |
---|---|---|
committer | Don <don.j.olmstead@gmail.com> | 2018-03-16 13:59:26 -0700 |
commit | 5fb488de9f70d9d306c83d1316998e86d95f4a4e (patch) | |
tree | aa49668b85b9f28152091e4aeb1711066ba95e8d | |
parent | 639a6629ae4b2243d1d15670f90750c3200ff4bf (diff) | |
download | portable-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.txt | 16 | ||||
-rw-r--r-- | ssl/CMakeLists.txt | 17 | ||||
-rw-r--r-- | tls/CMakeLists.txt | 16 |
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) | |||
807 | endif() | 807 | endif() |
808 | 808 | ||
809 | add_library(crypto-objects OBJECT ${CRYPTO_SRC}) | 809 | add_library(crypto-objects OBJECT ${CRYPTO_SRC}) |
810 | set(CRYPTO_LIBRARIES crypto) | ||
810 | if (BUILD_SHARED) | 811 | if (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) | ||
826 | else() | 825 | else() |
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) | ||
831 | endif() | 827 | endif() |
832 | 828 | ||
829 | if(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 | ) | ||
836 | endif(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 | ||
49 | add_library(ssl-objects OBJECT ${SSL_SRC}) | 49 | add_library(ssl-objects OBJECT ${SSL_SRC}) |
50 | set(SSL_LIBRARIES ssl) | ||
50 | if (BUILD_SHARED) | 51 | if (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) | ||
67 | else() | 66 | else() |
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) | ||
72 | endif() | 68 | endif() |
69 | |||
70 | if(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 | ) | ||
77 | endif(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() | |||
37 | endif() | 37 | endif() |
38 | 38 | ||
39 | add_library(tls-objects OBJECT ${TLS_SRC}) | 39 | add_library(tls-objects OBJECT ${TLS_SRC}) |
40 | set(TLS_LIBRARIES tls) | ||
40 | if (BUILD_SHARED) | 41 | if (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) | ||
57 | else() | 56 | else() |
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) | ||
62 | endif() | 58 | endif() |
63 | 59 | ||
60 | if(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 | ) | ||
67 | endif(ENABLE_LIBRESSL_INSTALL) | ||