Skip to content

Commit

Permalink
Parametrize headers location and installation paths (#70)
Browse files Browse the repository at this point in the history
Signed-off-by: Juan López Fernández <[email protected]>
  • Loading branch information
juanlofer-eprosima committed Jun 23, 2023
1 parent 31a6881 commit adc964d
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 2 deletions.
2 changes: 2 additions & 0 deletions cmake_utils/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,8 @@ Those variables which default is `x` must be set, and those with `-` are not req
| MODULE_SUMMARY | ${MODULE_NAME_LARGE} | Summary (short description) |
| MODULE_DESCRIPTION | ${MODULE_SUMMARY} | Description |
| MODULE_MACRO | TOUPPER ${MODULE_NAME} | Macro to use in CMake and C++ definitions (it is recommended to leave it as Uppercase of name) |
| MODULE_HEADERS_PATH | ${MODULE_NAME} | Path (relative to include) where headers to be installed are located |
| MODULE_HEADERS_INSTALL_PATH | ${MODULE_HEADERS_PATH} | Path (relative to install dir) where headers are installed |
|------------------------------|-------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------|
| MODULE_FIND_PACKAGES | - | Modules that require to be found by find_package |
| MODULE_THIRDPARTY_HEADERONLY | - | Headeronly thirdparties that require to be included (must be inside ${MODULE_THIRDPARTY_PATH} dir) |
Expand Down
4 changes: 2 additions & 2 deletions cmake_utils/cmake/compilation/compile_library.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@ function(compile_library _SOURCE_PATH _INCLUDE_PATH)
# Packaging
###############################################################################
# Install headers
install(DIRECTORY ${_INCLUDE_PATH}/${MODULE_NAME}
install(DIRECTORY ${_INCLUDE_PATH}/${MODULE_HEADERS_PATH}
DESTINATION ${INCLUDE_INSTALL_DIR}
COMPONENT headers
FILES_MATCHING
Expand All @@ -174,7 +174,7 @@ function(compile_library _SOURCE_PATH _INCLUDE_PATH)
${PROJECT_BINARY_DIR}/include/${MODULE_NAME}/library/eProsima_auto_link.h
${PROJECT_BINARY_DIR}/include/${MODULE_NAME}/library/library_dll.h
DESTINATION
${INCLUDE_INSTALL_DIR}/${MODULE_NAME}/library
${INCLUDE_INSTALL_DIR}/${MODULE_HEADERS_INSTALL_PATH}/library
COMPONENT headers
)

Expand Down
12 changes: 12 additions & 0 deletions cmake_utils/cmake/project/load_project_settings.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@
# - MODULE_NAME_LARGE : Project large name (default MODULE_NAME)
# - MODULE_DESCRIPTION : Project description (default MODULE_SUMMARY)
# - MODULE_MACRO : String to set macros in project (default MODULE_NAME in UPPERCASE)
# - MODULE_HEADERS_PATH : Path (relative to include) where headers to be installed are located (default MODULE_NAME)
# - MODULE_HEADERS_INSTALL_PATH : Path (relative to install dir) where headers are installed (default MODULE_HEADERS_PATH)
#
# TODO
#
Expand Down Expand Up @@ -121,6 +123,16 @@ macro(load_project_settings)
set (MODULE_LICENSE_FILE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../LICENSE")
endif()

# Set MODULE_HEADERS_PATH
if (NOT MODULE_HEADERS_PATH)
set (MODULE_HEADERS_PATH ${MODULE_NAME})
endif()

# Set MODULE_HEADERS_INSTALL_PATH
if (NOT MODULE_HEADERS_INSTALL_PATH)
set (MODULE_HEADERS_INSTALL_PATH ${MODULE_HEADERS_PATH})
endif()

#####
# Module external options

Expand Down

0 comments on commit adc964d

Please sign in to comment.