Skip to content

Commit c5e1ac4

Browse files
authored
[OpenMP][ompTest] Guard installation of all components (#155433)
Make installation of ompTest optional via: -DLIBOMPTEST_INSTALL_COMPONENTS=ON (default: OFF)
1 parent c209cca commit c5e1ac4

File tree

1 file changed

+33
-25
lines changed

1 file changed

+33
-25
lines changed

openmp/tools/omptest/CMakeLists.txt

Lines changed: 33 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ option(LIBOMPTEST_BUILD_STANDALONE
1212
${OPENMP_STANDALONE_BUILD})
1313
option(LIBOMPTEST_BUILD_UNITTESTS
1414
"Build ompTest's unit tests, requires GoogleTest." OFF)
15+
option(LIBOMPTEST_INSTALL_COMPONENTS
16+
"Install ompTest library, headers and package files." OFF)
1517

1618
# Exit early if OMPT support or LLVM-tests were disabled by the user.
1719
if((NOT ${LIBOMP_OMPT_SUPPORT}) OR (NOT ${LLVM_INCLUDE_TESTS}))
@@ -112,36 +114,42 @@ target_include_directories(omptest PUBLIC
112114

113115
target_compile_features(omptest PRIVATE cxx_std_17)
114116

115-
# Create and install package configuration files.
117+
# Perform package configuration.
118+
set(OMPTEST_CONFIG_INSTALL_DIR "${OPENMP_INSTALL_LIBDIR}/cmake/openmp/omptest")
116119
configure_package_config_file(
117120
${CMAKE_CURRENT_SOURCE_DIR}/cmake/omptest-config.cmake.in
118121
${CMAKE_CURRENT_BINARY_DIR}/cmake/omptest-config.cmake
119-
INSTALL_DESTINATION "${OPENMP_INSTALL_LIBDIR}/cmake/openmp/omptest"
122+
INSTALL_DESTINATION "${OMPTEST_CONFIG_INSTALL_DIR}"
120123
)
121124

122-
install(FILES ${omptest_BINARY_DIR}/cmake/omptest-config.cmake
123-
DESTINATION "${OPENMP_INSTALL_LIBDIR}/cmake/openmp/omptest")
124-
125-
# Install libomptest header files: Copy header-files from include dir
126-
install(DIRECTORY ./include/
127-
DESTINATION "${LIBOMP_HEADERS_INSTALL_PATH}/omptest"
128-
FILES_MATCHING PATTERN "*.h")
129-
130-
# Install library and export targets.
131-
# Note: find_package(omptest) may require setting of PATH_SUFFIXES
132-
# Example: "lib/cmake/openmp/omptest", this is due to the install location
133-
install(TARGETS omptest
134-
EXPORT OPENMPomptest
135-
LIBRARY COMPONENT omptest
136-
DESTINATION "${OPENMP_INSTALL_LIBDIR}"
137-
INCLUDES DESTINATION "${LIBOMP_HEADERS_INSTALL_PATH}/omptest")
138-
139-
# Allow to link omptest by using: target_link_libraries( ... omptest::omptest)
140-
# Additionally, it automatically propagates the include directory.
141-
install(EXPORT OPENMPomptest
142-
DESTINATION "${OPENMP_INSTALL_LIBDIR}/cmake/openmp/omptest"
143-
NAMESPACE omptest::
144-
FILE omptest-targets.cmake)
125+
# Perform installation only if requested by the user.
126+
if(LIBOMPTEST_INSTALL_COMPONENTS)
127+
# Install package configuration files.
128+
install(FILES ${omptest_BINARY_DIR}/cmake/omptest-config.cmake
129+
DESTINATION "${OMPTEST_CONFIG_INSTALL_DIR}")
130+
131+
# Install libomptest header files: Copy header-files from include dir
132+
set(OMPTEST_HEADER_INSTALL_DIR "${LIBOMP_HEADERS_INSTALL_PATH}/omptest")
133+
install(DIRECTORY ./include/
134+
DESTINATION "${OMPTEST_HEADER_INSTALL_DIR}"
135+
FILES_MATCHING PATTERN "*.h")
136+
137+
# Install library and export targets.
138+
# Note: find_package(omptest) may require setting of PATH_SUFFIXES
139+
# Example: "lib/cmake/openmp/omptest", this is due to the install location
140+
install(TARGETS omptest
141+
EXPORT OPENMPomptest
142+
LIBRARY COMPONENT omptest
143+
DESTINATION "${OPENMP_INSTALL_LIBDIR}"
144+
INCLUDES DESTINATION "${OMPTEST_HEADER_INSTALL_DIR}")
145+
146+
# Allow to link omptest by using: target_link_libraries( ... omptest::omptest)
147+
# Additionally, it automatically propagates the include directory.
148+
install(EXPORT OPENMPomptest
149+
DESTINATION "${OMPTEST_CONFIG_INSTALL_DIR}"
150+
NAMESPACE omptest::
151+
FILE omptest-targets.cmake)
152+
endif()
145153

146154
# Discover unit tests (added to check-openmp)
147155
if(LIBOMPTEST_BUILD_UNITTESTS)

0 commit comments

Comments
 (0)