diff --git a/CMakeLists.txt b/CMakeLists.txt index c018ef2d..9c9aa85f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -14,5 +14,6 @@ install( FILES "cmake/xo_cxx.cmake" "cmake/code-coverage.cmake" + PERMISSIONS OWNER_READ GROUP_READ WORLD_READ DESTINATION share/cmake/${XO_PROJECT_NAME} ) diff --git a/README.md b/README.md index a06e0291..c5c6353d 100644 --- a/README.md +++ b/README.md @@ -12,10 +12,17 @@ Collects cmake macros to be shared across XO projects (e.g. indentlog, reflect, In some XO project `foo`: ``` $ cd build -$ cmake -DCMAKE_MODULE_PATH=/usr/local/share/cmake .. +$ PREFIX=/usr/local # or wherever you prefer +$ cmake -DCMAKE_MODULE_PATH=${PREFIX}/share/cmake -DCMAKE_INSTALL_PREFIX=${PREFIX} .. +$ make install ``` then in `foo/CMakeLists.txt`: ``` include(xo_macros/xo_cxx) ``` + +when configuring `foo`: +``` +$ cmake -DCMAKE_MODULE_PATH=${PREFIX}/share/cmake path/to/foo +``` diff --git a/cmake/xo_cxx.cmake b/cmake/xo_cxx.cmake index f55a851e..6a402cca 100644 --- a/cmake/xo_cxx.cmake +++ b/cmake/xo_cxx.cmake @@ -191,7 +191,10 @@ endmacro() # use this to install typical include file subtree # macro(xo_install_include_tree) - install(DIRECTORY ${PROJECT_SOURCE_DIR}/include/ DESTINATION include) + install( + DIRECTORY ${PROJECT_SOURCE_DIR}/include/ + FILE_PERMISSIONS OWNER_READ GROUP_READ WORLD_READ + DESTINATION ${CMAKE_INSTALL_PREFIX}/include) endmacro() # ---------------------------------------------------------------- @@ -248,13 +251,14 @@ macro(xo_export_cmake_config projectname projectversion projecttargets) ) install( EXPORT ${projecttargets} - DESTINATION lib/cmake/${projectname} - ) + PERMISSIONS OWNER_READ GROUP_READ WORLD_READ + DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/cmake/${projectname}) install( FILES "${PROJECT_BINARY_DIR}/${projectname}ConfigVersion.cmake" "${PROJECT_BINARY_DIR}/${projectname}Config.cmake" - DESTINATION lib/cmake/${projectname} + PERMISSIONS OWNER_READ GROUP_READ WORLD_READ + DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/cmake/${projectname} ) endmacro()