1
project(libssh-threads C)
3
set(LIBSSH_THREADS_PUBLIC_INCLUDE_DIRS
4
${CMAKE_SOURCE_DIR}/include
5
${CMAKE_CURRENT_SOURCE_DIR}
7
CACHE INTERNAL "libssh public include directories"
10
set(LIBSSH_THREADS_PRIVATE_INCLUDE_DIRS
14
set(LIBSSH_THREADS_SHARED_LIBRARY
16
CACHE INTERNAL "libssh threads shared library"
20
set(LIBSSH_THREADS_STATIC_LIBRARY
22
CACHE INTERNAL "libssh threads static library"
24
endif (WITH_STATIC_LIB)
26
set(LIBSSH_THREADS_LINK_LIBRARIES
27
${LIBSSH_SHARED_LIBRARY}
30
set(libssh_threads_SRCS
33
# build and link pthread
34
if (CMAKE_USE_PTHREADS_INIT)
35
set(libssh_threads_SRCS
36
${libssh_threads_SRCS}
40
set(LIBSSH_THREADS_LINK_LIBRARIES
41
${LIBSSH_THREADS_LINK_LIBRARIES}
42
${CMAKE_THREAD_LIBS_INIT}
44
endif (CMAKE_USE_PTHREADS_INIT)
46
set(LIBSSH_THREADS_LINK_LIBRARIES
47
${LIBSSH_THREADS_LINK_LIBRARIES}
48
CACHE INTERNAL "libssh threads link libraries"
52
${LIBSSH_THREADS_PUBLIC_INCLUDE_DIRS}
53
${LIBSSH_THREADS_PRIVATE_INCLUDE_DIRS}
56
add_library(${LIBSSH_THREADS_SHARED_LIBRARY} SHARED ${libssh_threads_SRCS})
58
target_link_libraries(${LIBSSH_THREADS_SHARED_LIBRARY} ${LIBSSH_THREADS_LINK_LIBRARIES})
60
set_target_properties(
61
${LIBSSH_THREADS_SHARED_LIBRARY}
73
if (WITH_VISIBILITY_HIDDEN)
74
set_target_properties(${LIBSSH_THREADS_SHARED_LIBRARY} PROPERTIES COMPILE_FLAGS "-fvisibility=hidden")
75
endif (WITH_VISIBILITY_HIDDEN)
79
${LIBSSH_THREADS_SHARED_LIBRARY}
80
RUNTIME DESTINATION ${BIN_INSTALL_DIR}
81
LIBRARY DESTINATION ${LIB_INSTALL_DIR}
82
ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
87
add_library(${LIBSSH_THREADS_STATIC_LIBRARY} STATIC ${libssh_threads_SRCS})
90
set(OUTPUT_SUFFIX static)
95
set_target_properties(
96
${LIBSSH_THREADS_STATIC_LIBRARY}
104
ARCHIVE_OUTPUT_DIRECTORY
105
${CMAKE_CURRENT_BINARY_DIR}/${OUTPUT_SUFFIX}
109
set_target_properties(
110
${LIBSSH_THREADS_STATIC_LIBRARY}
119
${LIBSSH_THREADS_STATIC_LIBRARY}
121
${LIB_INSTALL_DIR}/${OUTPUT_SUFFIX}
125
endif (WITH_STATIC_LIB)