diff options
author | Andreas Schneider <asn@cryptomilk.org> | 2019-11-06 09:03:11 +0100 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2019-11-07 14:01:00 +0100 |
commit | 82c57c1f3656a1d501488174c14a03de5425cbbb (patch) | |
tree | f4fdf0cb918c08c28defca8b0c9b4a31f75aead4 /src/CMakeLists.txt | |
parent | c2c354539112eb89862ec4472af3ea5aeafa2824 (diff) | |
download | libssh-82c57c1f3656a1d501488174c14a03de5425cbbb.tar.gz libssh-82c57c1f3656a1d501488174c14a03de5425cbbb.tar.xz libssh-82c57c1f3656a1d501488174c14a03de5425cbbb.zip |
cmake: Create ssh library directly as libssh
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
Reviewed-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com>
Diffstat (limited to 'src/CMakeLists.txt')
-rw-r--r-- | src/CMakeLists.txt | 30 |
1 files changed, 13 insertions, 17 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 04d3719f..5904ac67 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -88,11 +88,6 @@ if (WITH_NACL AND NACL_FOUND) ) endif (WITH_NACL AND NACL_FOUND) -set(LIBSSH_SHARED_LIBRARY - ssh_shared - CACHE INTERNAL "libssh shared library" -) - if (BUILD_STATIC_LIB) set(LIBSSH_STATIC_LIBRARY ssh_static @@ -314,51 +309,52 @@ if (WITH_SYMBOL_VERSIONING AND HAVE_LD_VERSION_SCRIPT AND ABIMAP_FOUND) ) endif (WITH_SYMBOL_VERSIONING AND HAVE_LD_VERSION_SCRIPT AND ABIMAP_FOUND) -add_library(${LIBSSH_SHARED_LIBRARY} SHARED ${libssh_SRCS}) -target_compile_options(${LIBSSH_SHARED_LIBRARY} +# This gets built as a static library, if -DBUILD_SHARED_LIBS=OFF is passed to +# cmake. +add_library(ssh ${libssh_SRCS}) +target_compile_options(ssh PRIVATE ${DEFAULT_C_COMPILE_FLAGS} -D_GNU_SOURCE) -target_include_directories(${LIBSSH_SHARED_LIBRARY} +target_include_directories(ssh PRIVATE ${LIBSSH_PUBLIC_INCLUDE_DIRS} ${LIBSSH_PRIVATE_INCLUDE_DIRS}) -target_link_libraries(${LIBSSH_SHARED_LIBRARY} +target_link_libraries(ssh PRIVATE ${LIBSSH_LINK_LIBRARIES}) +add_library(ssh::ssh ALIAS ssh) + if (WITH_SYMBOL_VERSIONING AND HAVE_LD_VERSION_SCRIPT) if (ABIMAP_FOUND) # Change path to devel map file set(MAP_PATH "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}_dev.map") endif (ABIMAP_FOUND) - set_target_properties(${LIBSSH_SHARED_LIBRARY} + set_target_properties(ssh PROPERTIES LINK_FLAGS "-Wl,--version-script,\"${MAP_PATH}\"") endif (WITH_SYMBOL_VERSIONING AND HAVE_LD_VERSION_SCRIPT) -set_target_properties( - ${LIBSSH_SHARED_LIBRARY} +set_target_properties(ssh PROPERTIES VERSION ${LIBRARY_VERSION} SOVERSION ${LIBRARY_SOVERSION} - OUTPUT_NAME - ssh DEFINE_SYMBOL LIBSSH_EXPORTS ) if (WITH_VISIBILITY_HIDDEN) - set_target_properties(${LIBSSH_SHARED_LIBRARY} PROPERTIES COMPILE_FLAGS "-fvisibility=hidden") + set_target_properties(ssh PROPERTIES COMPILE_FLAGS "-fvisibility=hidden") endif (WITH_VISIBILITY_HIDDEN) if (MINGW) - set_target_properties(${LIBSSH_SHARED_LIBRARY} PROPERTIES LINK_FLAGS "-Wl,--enable-stdcall-fixup") + set_target_properties(ssh PROPERTIES LINK_FLAGS "-Wl,--enable-stdcall-fixup") endif () -install(TARGETS ${LIBSSH_SHARED_LIBRARY} +install(TARGETS ssh EXPORT libssh-config RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} |