omnitrace-compile-definitions (CMake) [skip ci] (#43)
This commit is contained in:
committato da
GitHub
parent
4db6ba3d28
commit
cc9ce3a871
+2
-4
@@ -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/
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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}"
|
||||
|
||||
@@ -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})
|
||||
|
||||
@@ -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>)
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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>
|
||||
|
||||
Fai riferimento in un nuovo problema
Block a user