omnitrace-compile-definitions (CMake) [skip ci] (#43)

This commit is contained in:
Jonathan R. Madsen
2022-04-21 21:52:57 -05:00
committato da GitHub
parent 4db6ba3d28
commit cc9ce3a871
9 ha cambiato i file con 54 aggiunte e 14 eliminazioni
+2 -4
Vedi File
@@ -7,9 +7,6 @@
include_guard(GLOBAL)
# always provide Dyninst::ElfUtils even if it is a dummy
omnitrace_add_interface_library(omnitrace-papi "omnitrace interface library")
omnitrace_checkout_git_submodule(
RELATIVE_PATH external/papi
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
@@ -242,8 +239,9 @@ set(PAPI_pfm_STATIC_LIBRARY
CACHE FILEPATH "PAPI library" FORCE)
target_include_directories(omnitrace-papi SYSTEM INTERFACE ${PAPI_INCLUDE_DIR})
target_compile_definitions(omnitrace-papi INTERFACE TIMEMORY_USE_PAPI=1)
target_link_libraries(omnitrace-papi INTERFACE ${PAPI_LIBRARY} ${PAPI_pfm_LIBRARY})
omnitrace_target_compile_definitions(omnitrace-papi INTERFACE OMNITRACE_USE_PAPI
TIMEMORY_USE_PAPI=1)
install(
DIRECTORY ${OMNITRACE_PAPI_INSTALL_DIR}/lib/
+36
Vedi File
@@ -20,9 +20,18 @@ omnitrace_add_interface_library(omnitrace-rocm-smi
"Provides flags and libraries for rocm-smi")
omnitrace_add_interface_library(omnitrace-mpi "Provides MPI or MPI headers")
omnitrace_add_interface_library(omnitrace-ptl "Enables PTL support (tasking)")
omnitrace_add_interface_library(omnitrace-papi "Enable PAPI support")
omnitrace_add_interface_library(omnitrace-ompt "Enable OMPT support")
omnitrace_add_interface_library(omnitrace-python "Enables Python support")
omnitrace_add_interface_library(omnitrace-timemory-config
"CMake interface library applied to all timemory targets")
omnitrace_add_interface_library(omnitrace-compile-definitions "Compile definitions")
# libraries with relevant compile definitions
set(OMNITRACE_EXTENSION_LIBRARIES
omnitrace::omnitrace-hip omnitrace::omnitrace-roctracer omnitrace::omnitrace-rocm-smi
omnitrace::omnitrace-mpi omnitrace::omnitrace-ptl omnitrace::omnitrace-ompt
omnitrace::omnitrace-papi)
target_include_directories(omnitrace-headers INTERFACE ${PROJECT_SOURCE_DIR}/include
${PROJECT_BINARY_DIR}/include)
@@ -143,6 +152,15 @@ elseif(OMNITRACE_USE_MPI_HEADERS)
target_link_libraries(omnitrace-mpi INTERFACE MPI::MPI_HEADERS)
endif()
# ----------------------------------------------------------------------------------------#
#
# OMPT
#
# ----------------------------------------------------------------------------------------#
omnitrace_target_compile_definitions(
omnitrace-ompt INTERFACE OMNITRACE_USE_OMPT=$<BOOL:${OMNITRACE_USE_OMPT}>)
# ----------------------------------------------------------------------------------------#
#
# Dyninst
@@ -596,3 +614,21 @@ if(OMNITRACE_USE_PYTHON)
include(ConfigPython)
endif()
# ----------------------------------------------------------------------------------------#
#
# Compile definitions
#
# ----------------------------------------------------------------------------------------#
foreach(_LIB ${OMNITRACE_EXTENSION_LIBRARIES})
get_target_property(_COMPILE_DEFS ${_LIB} INTERFACE_COMPILE_DEFINITIONS)
if(_COMPILE_DEFS)
foreach(_DEF ${_COMPILE_DEFS})
if("${_DEF}" MATCHES "OMNITRACE_")
target_compile_definitions(omnitrace-compile-definitions
INTERFACE ${_DEF})
endif()
endforeach()
endif()
endforeach()
+2 -1
Vedi File
@@ -11,7 +11,8 @@ add_executable(
target_include_directories(omnitrace-avail PRIVATE ${CMAKE_CURRENT_LIST_DIR}/include)
target_compile_definitions(omnitrace-avail PRIVATE OMNITRACE_EXTERN_COMPONENTS=0)
target_link_libraries(omnitrace-avail PRIVATE omnitrace::omnitrace-interface-library)
target_link_libraries(omnitrace-avail PRIVATE omnitrace::omnitrace-compile-definitions
omnitrace::omnitrace-interface-library)
set_target_properties(
omnitrace-avail
PROPERTIES BUILD_RPATH "\$ORIGIN:${PROJECT_BINARY_DIR}:${CMAKE_BINARY_DIR}"
@@ -13,8 +13,9 @@ add_executable(
target_include_directories(omnitrace-critical-trace
PRIVATE ${CMAKE_CURRENT_LIST_DIR}/include)
target_compile_definitions(omnitrace-critical-trace PRIVATE OMNITRACE_EXTERN_COMPONENTS=0)
target_link_libraries(omnitrace-critical-trace
PRIVATE omnitrace::omnitrace-interface-library)
target_link_libraries(
omnitrace-critical-trace PRIVATE omnitrace::omnitrace-compile-definitions
omnitrace::omnitrace-interface-library)
set_target_properties(
omnitrace-critical-trace
PROPERTIES BUILD_RPATH "\$ORIGIN:${PROJECT_BINARY_DIR}:${CMAKE_BINARY_DIR}"
+3
Vedi File
@@ -23,6 +23,7 @@ target_link_libraries(
PRIVATE omnitrace::omnitrace-headers
omnitrace::omnitrace-dyninst
omnitrace::omnitrace-compile-options
omnitrace::omnitrace-compile-definitions
$<BUILD_INTERFACE:timemory::timemory-headers>
$<IF:$<BOOL:${OMNITRACE_USE_SANITIZER}>,omnitrace::omnitrace-sanitizer,>)
@@ -33,6 +34,8 @@ set_target_properties(
INSTALL_RPATH_USE_LINK_PATH ON
INSTALL_RPATH "${OMNITRACE_EXE_INSTALL_RPATH}")
omnitrace_strip_target(omnitrace-exe)
if(CMAKE_BUILD_TYPE MATCHES "^(DEBUG|Debug)")
string(REPLACE " " ";" _FLAGS "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
target_compile_options(omnitrace-exe PRIVATE ${_FLAGS})
+1 -1
Vedi File
@@ -19,4 +19,4 @@ get_filename_component(COMMON_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}" DIRECTOR
target_include_directories(omnitrace-common-library INTERFACE ${COMMON_INCLUDE_DIR})
target_compile_definitions(omnitrace-common-library
INTERFACE $<BUILD_INTERFACE:OMNITRACE_INTERNAL_BUILD>)
INTERFACE $<BUILD_INTERFACE:OMNITRACE_INTERNAL_BUILD=1>)
+4 -6
Vedi File
@@ -13,8 +13,10 @@ add_library(omnitrace::omnitrace-dl-library ALIAS omnitrace-dl-library)
target_sources(omnitrace-dl-library PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/dl.cpp
${CMAKE_CURRENT_SOURCE_DIR}/dl.hpp)
target_link_libraries(omnitrace-dl-library
PUBLIC ${dl_LIBRARY} $<BUILD_INTERFACE:omnitrace::common-library>)
target_link_libraries(
omnitrace-dl-library
PUBLIC ${dl_LIBRARY} $<BUILD_INTERFACE:omnitrace::common-library>
$<BUILD_INTERFACE:omnitrace::omnitrace-compile-definitions>)
target_include_directories(
omnitrace-dl-library
PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
@@ -34,10 +36,6 @@ if(OMNITRACE_BUILD_DEVELOPER)
endif()
endif()
omnitrace_target_compile_definitions(
omnitrace-dl-library
PUBLIC $<BUILD_INTERFACE:OMNITRACE_USE_OMPT=$<BOOL:${OMNITRACE_USE_OMPT}>>)
set_target_properties(
omnitrace-dl-library
PROPERTIES OUTPUT_NAME omnitrace-dl
@@ -19,6 +19,8 @@ target_sources(
target_include_directories(
omnitrace-user-library PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
target_link_libraries(omnitrace-user-library
PRIVATE $<BUILD_INTERFACE:omnitrace::omnitrace-compile-definitions>)
check_cxx_compiler_flag("-fno-exceptions" omnitrace_user_library_fno_exceptions)
check_cxx_compiler_flag("-ftls-model=local-dynamic"
+1
Vedi File
@@ -24,6 +24,7 @@ target_link_libraries(
$<BUILD_INTERFACE:omnitrace::omnitrace-headers>
$<BUILD_INTERFACE:omnitrace::omnitrace-threading>
$<BUILD_INTERFACE:omnitrace::omnitrace-compile-options>
$<BUILD_INTERFACE:omnitrace::omnitrace-compile-definitions>
$<BUILD_INTERFACE:omnitrace::omnitrace-hip>
$<BUILD_INTERFACE:omnitrace::omnitrace-roctracer>
$<BUILD_INTERFACE:omnitrace::omnitrace-rocm-smi>