mirror of
https://git.libssh.org/projects/libssh.git
synced 2026-02-04 12:20:42 +09:00
111 lines
2.5 KiB
CMake
111 lines
2.5 KiB
CMake
project(libssh-threads C)
|
|
|
|
set(LIBSSH_THREADS_PUBLIC_INCLUDE_DIRS
|
|
${CMAKE_SOURCE_DIR}/include
|
|
${CMAKE_CURRENT_SOURCE_DIR}
|
|
${CMAKE_SOURCE_DIR}
|
|
CACHE INTERNAL "libssh public include directories"
|
|
)
|
|
|
|
set(LIBSSH_THREADS_PRIVATE_INCLUDE_DIRS
|
|
${CMAKE_BINARY_DIR}
|
|
)
|
|
|
|
set(LIBSSH_THREADS_SHARED_LIBRARY
|
|
ssh_threads_shared
|
|
CACHE INTERNAL "libssh threads shared library"
|
|
)
|
|
|
|
if (WITH_STATIC_LIB)
|
|
set(LIBSSH_THREADS_STATIC_LIBRARY
|
|
ssh_threads_static
|
|
CACHE INTERNAL "libssh threads static library"
|
|
)
|
|
endif (WITH_STATIC_LIB)
|
|
|
|
set(LIBSSH_THREADS_LINK_LIBRARIES
|
|
${LIBSSH_SHARED_LIBRARY}
|
|
)
|
|
|
|
set(libssh_threads_SRCS
|
|
)
|
|
|
|
# build and link pthread
|
|
if (CMAKE_HAVE_PTHREADS_CREATE OR CMAKE_HAVE_PTHREAD_CREATE)
|
|
set(libssh_threads_SRCS
|
|
${libssh_threads_SRCS}
|
|
pthread.c
|
|
)
|
|
|
|
set(LIBSSH_THREADS_LINK_LIBRARIES
|
|
${LIBSSH_THREADS_LINK_LIBRARIES}
|
|
${CMAKE_THREAD_LIBS_INIT}
|
|
)
|
|
endif (CMAKE_HAVE_PTHREADS_CREATE OR CMAKE_HAVE_PTHREAD_CREATE)
|
|
|
|
set(LIBSSH_THREADS_LINK_LIBRARIES
|
|
${LIBSSH_THREADS_LINK_LIBRARIES}
|
|
CACHE INTERNAL "libssh threads link libraries"
|
|
)
|
|
|
|
include_directories(
|
|
${LIBSSH_THREADS_PUBLIC_INCLUDE_DIRS}
|
|
${LIBSSH_THREADS_PRIVATE_INCLUDE_DIRS}
|
|
)
|
|
|
|
message(STATUS "ASN: LIBSSH_THREADS_LINK_LIBRARIES: ${LIBSSH_THREADS_LINK_LIBRARIES}")
|
|
|
|
add_library(${LIBSSH_THREADS_SHARED_LIBRARY} SHARED ${libssh_threads_SRCS})
|
|
|
|
target_link_libraries(${LIBSSH_THREADS_SHARED_LIBRARY} ${LIBSSH_THREADS_LINK_LIBRARIES})
|
|
|
|
set_target_properties(
|
|
${LIBSSH_THREADS_SHARED_LIBRARY}
|
|
PROPERTIES
|
|
VERSION
|
|
${LIBRARY_VERSION}
|
|
SOVERSION
|
|
${LIBRARY_SOVERSION}
|
|
OUTPUT_NAME
|
|
ssh_threads
|
|
DEFINE_SYMBOL
|
|
LIBSSH_EXPORTS
|
|
)
|
|
|
|
if (WITH_VISIBILITY_HIDDEN)
|
|
set_target_properties(${LIBSSH_THREADS_SHARED_LIBRARY} PROPERTIES COMPILE_FLAGS "-fvisibility=hidden")
|
|
endif (WITH_VISIBILITY_HIDDEN)
|
|
|
|
install(
|
|
TARGETS
|
|
${LIBSSH_THREADS_SHARED_LIBRARY}
|
|
RUNTIME DESTINATION ${BIN_INSTALL_DIR}
|
|
LIBRARY DESTINATION ${LIB_INSTALL_DIR}
|
|
ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
|
|
COMPONENT libraries
|
|
)
|
|
|
|
if (WITH_STATIC_LIB)
|
|
add_library(${LIBSSH_THREADS_STATIC_LIBRARY} STATIC ${libssh_threads_SRCS})
|
|
|
|
set_target_properties(
|
|
${LIBSSH_THREADS_STATIC_LIBRARY}
|
|
PROPERTIES
|
|
VERSION
|
|
${LIBRARY_VERSION}
|
|
SOVERSION
|
|
${LIBRARY_SOVERSION}
|
|
COMPILE_FLAGS
|
|
"-DLIBSSH_STATIC"
|
|
)
|
|
|
|
install(
|
|
TARGETS
|
|
${LIBSSH_THREADS_STATIC_LIBRARY}
|
|
DESTINATION
|
|
${LIB_INSTALL_DIR}
|
|
COMPONENT
|
|
libraries
|
|
)
|
|
endif (WITH_STATIC_LIB)
|