@@ -26,6 +26,7 @@ project(ittapi)
2626option (FORCE_32 "Force a 32-bit compile on 64-bit" OFF )
2727option (ITT_API_IPT_SUPPORT "ptmarks support" OFF )
2828option (ITT_API_FORTRAN_SUPPORT "fortran support" OFF )
29+ option (ITT_API_INSTALL "Enable ITT API installation rules" ON )
2930
3031if (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} )
135136endif ()
136137
138+ add_library (ittapi::ittnotify ALIAS ittnotify )
139+
137140set (JITPROFILING_SRC "src/ittnotify/jitprofiling.c" )
138141add_library (jitprofiling STATIC ${JITPROFILING_SRC} )
139142
@@ -173,24 +176,26 @@ target_include_directories(jitprofiling
173176include (CMakePackageConfigHelpers )
174177include (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