summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorRyo Nakamura <upa@haeena.net>2023-03-10 21:10:06 +0900
committerRyo Nakamura <upa@haeena.net>2023-03-10 21:10:06 +0900
commit309371ed75ea5eebdde4d2e84ed6ad298dd38b12 (patch)
treeaf4c916e319b9dec7cc1e42873093a9e8376b197 /CMakeLists.txt
parent1e92ff9e7795a0c3613ae8d2bfae45870036f46d (diff)
now make install installs libmscp
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt27
1 files changed, 18 insertions, 9 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 68902de..d890381 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -47,12 +47,11 @@ add_subdirectory(libssh EXCLUDE_FROM_ALL)
-set(MSCP_COMPILE_OPTS "")
-set(MSCP_INCLUDE_DIRS ${mscp_SOURCE_DIR}/src)
-
-list(APPEND MSCP_COMPILE_OPTS -iquote ${CMAKE_CURRENT_BINARY_DIR}/libssh/include)
-list(APPEND MSCP_INCLUDE_DIRS ${CMAKE_CURRENT_BINARY_DIR}/libssh/include)
+set(MSCP_COMPILE_OPTS -iquote ${CMAKE_CURRENT_BINARY_DIR}/libssh/include)
+set(MSCP_BUILD_INCLUDE_DIRS
+ ${mscp_SOURCE_DIR}/src
+ ${CMAKE_CURRENT_BINARY_DIR}/libssh/include)
@@ -60,22 +59,31 @@ set(LIBMSCP_SRC src/mscp.c src/ssh.c src/path.c src/platform.c src/message.c)
# shared libmscp
add_library(mscp-shared SHARED ${LIBMSCP_SRC})
-target_include_directories(mscp-shared PRIVATE ${MSCP_INCLUDE_DIRS})
+target_include_directories(mscp-shared
+ PUBLIC $<BUILD_INTERFACE:${mscp_SOURCE_DIR}/include>
+ $<INSTALL_INTERFACE:include>
+ PRIVATE ${MSCP_BUILD_INCLUDE_DIRS})
target_compile_options(mscp-shared PRIVATE ${MSCP_COMPILE_OPTS})
target_link_libraries(mscp-shared PRIVATE ssh-static)
set_target_properties(mscp-shared
PROPERTIES
- OUTPUT_NAME mscp)
+ OUTPUT_NAME mscp
+ PUBLIC_HEADER ${mscp_SOURCE_DIR}/include/mscp.h)
+
+install(TARGETS mscp-shared)
+
# static libmscp
add_library(mscp-static STATIC ${LIBMSCP_SRC})
-target_include_directories(mscp-static PRIVATE ${MSCP_INCLUDE_DIRS})
+target_include_directories(mscp-static
+ PRIVATE ${MSCP_BUILD_INCLUDE_DIRS} ${mscp_SOURCE_DIR}/include)
target_compile_options(mscp-static PRIVATE ${MSCP_COMPILE_OPTS})
target_link_libraries(mscp-static PRIVATE ssh-static)
set_target_properties(mscp-static
PROPERTIES
OUTPUT_NAME mscp)
+install(TARGETS mscp-static)
@@ -92,7 +100,8 @@ endif()
# mscp executable
add_executable(mscp src/main.c)
-target_include_directories(mscp PRIVATE ${MSCP_INCLUDE_DIRS})
+target_include_directories(mscp
+ PRIVATE ${MSCP_BUILD_INCLUDE_DIRS} ${mscp_SOURCE_DIR}/include)
target_link_directories(mscp PRIVATE ${MSCP_LINK_DIRS})
target_link_libraries(mscp mscp-static ${MSCP_LINK_LIBS})
if (BUILD_STATIC)