summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorRyo Nakamura <upa@haeena.net>2022-11-20 16:14:07 +0900
committerRyo Nakamura <upa@haeena.net>2022-11-20 16:14:07 +0900
commitdc0dd6028763cfca8d5851f7ab6dbbd673dde22e (patch)
treeb604e6489519edee7ed551da4105e18b948060f1 /CMakeLists.txt
parent4129a47a3a3fd1f6ddc56d075e2219590aadddb1 (diff)
build libssh-static from mscp cmake
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt41
1 files changed, 18 insertions, 23 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 55878a6..37167f8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -9,6 +9,10 @@ project(mscp
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DDEBUG")
list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules)
+
+# add libssh static library
+add_subdirectory(libssh EXCLUDE_FROM_ALL)
+
if(APPLE)
list(APPEND CMAKE_PREFIX_PATH /usr/local) # intel mac homebrew prefix
list(APPEND CMAKE_PREFIX_PATH /opt/homebrew) # arm mac homebrew prefix
@@ -23,29 +27,20 @@ set(MSCP_LINK_DIRS "")
set(MSCP_COMPILE_OPTS "")
set(MSCP_INCLUDE_DIRS ${mscp_SOURCE_DIR}/src)
-if (LIBSSH_PATH)
- # libssh.a must be placed before other shared libraries for gcc
- list(APPEND MSCP_COMPILE_OPTS -iquote ${LIBSSH_PATH}/include)
- list(APPEND MSCP_INCLUDE_DIRS ${LIBSSH_PATH}/include)
- list(APPEND MSCP_LINK_DIRS ${LIBSSH_PATH}/lib)
- list(APPEND MSCP_LINK_LIBS libssh.a)
-
- find_package(GSSAPI)
- list(APPEND MSCP_LINK_LIBS ${GSSAPI_LIBRARIES})
-
- find_package(OpenSSL)
- list(APPEND MSCP_LINK_LIBS ${OPENSSL_LIBRARIES})
-
- find_package(ZLIB)
- list(APPEND MSCP_LINK_LIBS ${ZLIB_LIBRARIES})
-else()
- find_package(libssh REQUIRED)
- list(APPEND MSCP_LINK_LIBS ssh)
-endif()
-
-if (WITH_ASYNC_WRITE)
- target_compile_definitions(mscp PUBLIC ASYNC_WRITE=1)
-endif()
+list(APPEND MSCP_COMPILE_OPTS -iquote ${CMAKE_CURRENT_BINARY_DIR}/libssh/include)
+list(APPEND MSCP_INCLUDE_DIRS ${CMAKE_CURRENT_BINARY_DIR}/libssh/include)
+list(APPEND MSCP_LINK_LIBS ssh-static)
+
+find_package(GSSAPI)
+list(APPEND MSCP_LINK_LIBS ${GSSAPI_LIBRARIES})
+
+find_package(OpenSSL)
+list(APPEND MSCP_LINK_LIBS ${OPENSSL_LIBRARIES})
+
+find_package(ZLIB)
+list(APPEND MSCP_LINK_LIBS ${ZLIB_LIBRARIES})
+
+target_compile_definitions(mscp PUBLIC ASYNC_WRITE=1)
target_include_directories(mscp PRIVATE ${MSCP_INCLUDE_DIRS})
target_link_directories(mscp PRIVATE ${MSCP_LINK_DIRS})