Skip to content

Commit 083c2e3

Browse files
authored
Install FindAtomic.cmake (#1652)
* Refs #9825: Find atomic in fastrtps-config.cmake Signed-off-by: EduPonz <[email protected]> * Refs #9825: Install FindAtomic.cmake Signed-off-by: EduPonz <[email protected]> * Refs #9825: Private link with atomic Signed-off-by: EduPonz <[email protected]> * Refs #9825: Hint to find atomic Signed-off-by: EduPonz <[email protected]> * Refs #9825: Atomic required Signed-off-by: EduPonz <[email protected]> * Refs #9825: Add modules to CMAKE_CURRENT_LIST_DIR Signed-off-by: EduPonz <[email protected]> * Refs #9825: Locally modify CMAKE_CURRENT_LIST_DIR Signed-off-by: EduPonz <[email protected]>
1 parent 9a1614c commit 083c2e3

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

cmake/packaging/Config.cmake.in

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,17 @@ set_and_check(@PROJECT_NAME@_LIB_DIR "@PACKAGE_LIB_INSTALL_DIR@")
2525
find_package(fastcdr REQUIRED)
2626
find_package(foonathan_memory REQUIRED)
2727
find_package(TinyXML2 QUIET)
28+
29+
# Find atomic using Fast DDS FindAtomic.cmake
30+
# 1. Save incoming CMAKE_MODULE_PATH
31+
# 2. Extend CMAKE_MODULE_PATH so atomic can be found
32+
# 3. Reset CMAKE_MODULE_PATH to incoming value
33+
# 4. Unset temp variable
34+
set(TEMP_CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH}")
35+
set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${CMAKE_CURRENT_LIST_DIR}/modules")
36+
find_package(Atomic MODULE REQUIRED)
37+
set(CMAKE_MODULE_PATH "${TEMP_CMAKE_MODULE_PATH}")
38+
unset(TEMP_CMAKE_MODULE_PATH)
2839
@FASTRTPS_PACKAGE_OPT_DEPS@
2940

3041
include(${CMAKE_CURRENT_LIST_DIR}/@[email protected])

src/cpp/CMakeLists.txt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -405,6 +405,9 @@ elseif(NOT EPROSIMA_INSTALLER)
405405
${THIRDPARTY_BOOST_INCLUDE_DIR}
406406
)
407407

408+
# PRIVACY is PUBLIC by default
409+
set(PRIVACY "PUBLIC")
410+
408411
# Made linked libraries PRIVATE to prevent local directories in Windows installer.
409412
if(EPROSIMA_INSTALLER_MINION)
410413
set(PRIVACY "PRIVATE")
@@ -630,6 +633,12 @@ elseif(NOT EPROSIMA_INSTALLER)
630633
COMPONENT cmake
631634
)
632635

636+
# Install FindAtomic.cmake in case external application want to make use of it
637+
install(FILES ${PROJECT_SOURCE_DIR}/cmake/modules/FindAtomic.cmake
638+
DESTINATION ${INSTALL_DESTINATION_PATH}/modules
639+
COMPONENT cmake
640+
)
641+
633642
if(MSVCARCH_EXTENSION)
634643
string(TOUPPER "${MSVC_ARCH}" MSVC_ARCH_UPPER)
635644
set(CPACK_COMPONENT_LIBRARIES_${MSVC_ARCH_UPPER}_DISPLAY_NAME "${MSVC_ARCH}" PARENT_SCOPE)

0 commit comments

Comments
 (0)