@@ -12,6 +12,8 @@ option(LIBOMPTEST_BUILD_STANDALONE
1212 ${OPENMP_STANDALONE_BUILD} )
1313option (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.
1719if ((NOT ${LIBOMP_OMPT_SUPPORT} ) OR (NOT ${LLVM_INCLUDE_TESTS} ))
@@ -112,36 +114,42 @@ target_include_directories(omptest PUBLIC
112114
113115target_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" )
116119configure_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)
147155if (LIBOMPTEST_BUILD_UNITTESTS)
0 commit comments