diff --git a/CMakeLists.txt b/CMakeLists.txt index 992afc0d..579fb2d7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -52,3 +52,26 @@ add_subdirectory(test) # Examples are not part of the `all` target. # This will provide an `example` target. add_subdirectory(examples) + +# Install rule for the header directory +# CMAKE_INSTALL_PREFIX defaults to: +# * /usr/local on UNIX-like systems +# * C:\Program Files on Windows +install(DIRECTORY ${YAP_SOURCE_DIR}/include/ + COMPONENT core + DESTINATION include/YAP + FILES_MATCHING PATTERN "*.h" + PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ) + +add_custom_target(install-core + COMMAND ${CMAKE_COMMAND} -DCMAKE_INSTALL_COMPONENT="core" -P cmake_install.cmake) + +# Install rule for the data directory +install(DIRECTORY ${YAP_SOURCE_DIR}/data/ + COMPONENT data + DESTINATION data + FILES_MATCHING PATTERN "*.pdl" + PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ) + +add_custom_target(install-data + COMMAND ${CMAKE_COMMAND} -DCMAKE_INSTALL_COMPONENT="data" -P cmake_install.cmake) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 1a90176b..f401d712 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -52,25 +52,10 @@ set(YAP_SOURCES add_library(YAP SHARED ${YAP_SOURCES}) -# install destinations can be passed via the command line: -# cmake -DLIBRARY_OUTPUT_DIRECTORY:PATH= -# otherwise, default LD_LIBRARY_PATH -if(NOT DEFINED LIBRARY_OUTPUT_DIRECTORY) - set(LIBRARY_OUTPUT_DIRECTORY ${YAP_SOURCE_DIR}/lib/${CMAKE_BUILD_TYPE}) -endif() - -if(NOT DEFINED INCLUDE_OUTPUT_DIRECTORY) - set(INCLUDE_OUTPUT_DIRECTORY ${YAP_SOURCE_DIR}/include/YAP) -endif() - -install(TARGETS YAP LIBRARY DESTINATION ${LIBRARY_OUTPUT_DIRECTORY}) - -# Matches all the headers in ${YAPDID}/include and its subdirs -file(GLOB_RECURSE - INSTALL_INCLUDES ${YAP_SOURCE_DIR}/include/*.h) - -#message(STATUS "${INSTALL_INCLUDES}") - -#install(FILE ${INSTALL_INCLUDES} -# DESTINATION ${INCLUDE_OUTPUT_DIRECTORY} -# ) +# Install rule for libYAP.so +install(TARGETS YAP LIBRARY + COMPONENT core + DESTINATION lib/ + PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE + GROUP_READ GROUP_EXECUTE + WORLD_READ WORLD_EXECUTE)