diff options
author | Ryo Nakamura <upa@haeena.net> | 2022-11-18 21:51:43 +0900 |
---|---|---|
committer | Ryo Nakamura <upa@haeena.net> | 2022-11-18 21:51:43 +0900 |
commit | e1bddb85bdda8a507203aa8e34819e22ca9a6bb0 (patch) | |
tree | dbf9f89cf1e3e6d100a98c070588bcc087e766a7 /CMakeLists.txt | |
parent | 71efeaa4ba1bc78c2da4a13287d8d835f991f9ff (diff) |
cleanup CMakeLists.txt
* now mscp with async write is compilable on both macos and ubuntu
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 31 |
1 files changed, 25 insertions, 6 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index a932e80..08f09b1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -15,23 +15,42 @@ if(APPLE) endif() # APPLE +# mscp executable add_executable(mscp src/main.c src/platform.c src/ssh.c src/file.c src/pprint.c) -target_include_directories(mscp PUBLIC ./src) + +set(MSCP_LINK_LIBS m pthread) +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) - target_include_directories(mscp PUBLIC ${LIBSSH_PATH}/include) - target_compile_options(mscp PUBLIC -iquote ${LIBSSH_PATH}/include) - target_link_directories(mscp PRIVATE ${LIBSSH_PATH}/lib) - target_link_libraries(mscp pthread m libssh.a ssl crypto z ${GSSAPI_LIBRARIES}) + 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) - target_link_libraries(mscp pthread m ssh) + list(APPEND MSCP_LINK_LIBS ssh) endif() if (WITH_ASYNC_WRITE) target_compile_definitions(mscp PUBLIC ASYNC_WRITE=1) endif() +target_include_directories(mscp PRIVATE ${MSCP_INCLUDE_DIRS}) +target_link_directories(mscp PRIVATE ${MSCP_LINK_DIRS}) +target_link_libraries(mscp PRIVATE ${MSCP_LINK_LIBS}) +target_compile_options(mscp PRIVATE ${MSCP_COMPILE_OPTS}) target_compile_definitions(mscp PUBLIC _VERSION="${PROJECT_VERSION}") install(TARGETS mscp |