Skip to content

Commit 2369c7e

Browse files
CMake: Add Option to Disable Install and Add Alias Target (#225)
Add an option to disable CMake install. This makes disabling ITT install easier for projects using CMake's FetchContent. Also, add ittapi::ittnotify alias target to match target installed with ittapi-targets with NAMESPACE ittapi::, i.e., ittapi::ittnotify. Signed-off-by: Schilling, Matthew <matthew.schilling@intel.com> Co-authored-by: Evgeny Parshutin <eugeny.parshutin@intel.com>
1 parent c00556b commit 2369c7e

1 file changed

Lines changed: 26 additions & 21 deletions

File tree

CMakeLists.txt

Lines changed: 26 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ project(ittapi)
2626
option(FORCE_32 "Force a 32-bit compile on 64-bit" OFF)
2727
option(ITT_API_IPT_SUPPORT "ptmarks support" OFF)
2828
option(ITT_API_FORTRAN_SUPPORT "fortran support" OFF)
29+
option(ITT_API_INSTALL "Enable ITT API installation rules" ON)
2930

3031
if(FORCE_32 AND UNIX)
3132
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m32")
@@ -134,6 +135,8 @@ else()
134135
add_library(ittnotify STATIC ${ITT_SRCS} ${ITT_PUBLIC_HDRS} ${ITT_PT})
135136
endif()
136137

138+
add_library(ittapi::ittnotify ALIAS ittnotify)
139+
137140
set(JITPROFILING_SRC "src/ittnotify/jitprofiling.c")
138141
add_library(jitprofiling STATIC ${JITPROFILING_SRC})
139142

@@ -173,24 +176,26 @@ target_include_directories(jitprofiling
173176
include(CMakePackageConfigHelpers)
174177
include(GNUInstallDirs)
175178

176-
install(TARGETS ittnotify EXPORT ittapi-targets INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
177-
install(EXPORT ittapi-targets NAMESPACE ittapi:: DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/ittapi)
178-
install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
179-
FILES_MATCHING PATTERN "*.h"
180-
PATTERN "fortran" EXCLUDE)
181-
182-
configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/ittapiConfig.cmake.in
183-
${CMAKE_CURRENT_BINARY_DIR}/share/ittapiConfig.cmake
184-
INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/ittapi
185-
NO_SET_AND_CHECK_MACRO)
186-
187-
file(STRINGS "${CMAKE_CURRENT_SOURCE_DIR}/include/ittnotify.h" ITT_VERSION_PARTS REGEX "#define ITT_[A-Z]+[ ]+" )
188-
string(REGEX REPLACE ".+ITT_MAJOR[ ]+([0-9]+).*" "\\1" ITT_MAJOR "${ITT_VERSION_PARTS}")
189-
string(REGEX REPLACE ".+ITT_MINOR[ ]+([0-9]+).*" "\\1" ITT_MINOR "${ITT_VERSION_PARTS}")
190-
write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/share/ittapiConfigVersion.cmake
191-
VERSION ${ITT_MAJOR}.${ITT_MINOR}.0
192-
COMPATIBILITY SameMajorVersion)
193-
194-
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/share/ittapiConfig.cmake
195-
${CMAKE_CURRENT_BINARY_DIR}/share/ittapiConfigVersion.cmake
196-
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/ittapi)
179+
if(ITT_API_INSTALL)
180+
install(TARGETS ittnotify EXPORT ittapi-targets INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
181+
install(EXPORT ittapi-targets NAMESPACE ittapi:: DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/ittapi)
182+
install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
183+
FILES_MATCHING PATTERN "*.h"
184+
PATTERN "fortran" EXCLUDE)
185+
186+
configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/ittapiConfig.cmake.in
187+
${CMAKE_CURRENT_BINARY_DIR}/share/ittapiConfig.cmake
188+
INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/ittapi
189+
NO_SET_AND_CHECK_MACRO)
190+
191+
file(STRINGS "${CMAKE_CURRENT_SOURCE_DIR}/include/ittnotify.h" ITT_VERSION_PARTS REGEX "#define ITT_[A-Z]+[ ]+" )
192+
string(REGEX REPLACE ".+ITT_MAJOR[ ]+([0-9]+).*" "\\1" ITT_MAJOR "${ITT_VERSION_PARTS}")
193+
string(REGEX REPLACE ".+ITT_MINOR[ ]+([0-9]+).*" "\\1" ITT_MINOR "${ITT_VERSION_PARTS}")
194+
write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/share/ittapiConfigVersion.cmake
195+
VERSION ${ITT_MAJOR}.${ITT_MINOR}.0
196+
COMPATIBILITY SameMajorVersion)
197+
198+
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/share/ittapiConfig.cmake
199+
${CMAKE_CURRENT_BINARY_DIR}/share/ittapiConfigVersion.cmake
200+
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/ittapi)
201+
endif()

0 commit comments

Comments
 (0)