diff --git a/CMakeLists.txt b/CMakeLists.txt index 7e3f5be..7b90659 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -122,7 +122,10 @@ SET(GREEDY_SRC SET(MACF_SRC src/macf_optimization.cxx) -ADD_LIBRARY(greedyapi ${GREEDY_LIB_SRC} ${HEADERS}) +ADD_LIBRARY(greedyapi SHARED ${GREEDY_LIB_SRC} ${HEADERS}) +# Since no library version is provided, set it to 0 +SET_TARGET_PROPERTIES(greedyapi PROPERTIES VERSION 0) +TARGET_LINK_LIBRARIES(greedyapi ${ITK_LIBRARIES}) TARGET_INCLUDE_DIRECTORIES(greedyapi PUBLIC ${GREEDY_INCLUDE_DIRS}) # The executables are only compiled when the software is built as its own project @@ -157,6 +160,18 @@ IF(INSTALL_CLI) INSTALL(TARGETS greedy DESTINATION ${CLI_INSTALL_PATH} COMPONENT Runtime) ENDIF(INSTALL_CLI) +INSTALL(TARGETS greedyapi + ARCHIVE DESTINATION lib${LIB_SUFFIX} + LIBRARY DESTINATION lib${LIB_SUFFIX} + ) + +FOREACH(HEADER ${HEADERS}) + # get rid of "src/" prefix, and also get rid of file name since destination is directory + STRING(REGEX REPLACE "^src/(.*)(/[^/]+)$" "\\1" HEADER_PROC ${HEADER}) + STRING(REGEX REPLACE "^src/[^/]+$" "" HEADER_DEST ${HEADER_PROC}) + INSTALL(FILES ${HEADER} DESTINATION include/greedy/${HEADER_DEST}) +ENDFOREACH(HEADER) + IF(NOT GREEDY_BUILD_AS_SUBPROJECT) ENABLE_TESTING()