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

This commit is contained in:
Jonathan R. Madsen
2022-04-21 21:52:57 -05:00
committed by GitHub
orang tua 4db6ba3d28
melakukan cc9ce3a871
9 mengubah file dengan 54 tambahan dan 14 penghapusan
+2 -4
Melihat File
@@ -7,9 +7,6 @@
include_guard(GLOBAL) 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( omnitrace_checkout_git_submodule(
RELATIVE_PATH external/papi RELATIVE_PATH external/papi
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
@@ -242,8 +239,9 @@ set(PAPI_pfm_STATIC_LIBRARY
CACHE FILEPATH "PAPI library" FORCE) CACHE FILEPATH "PAPI library" FORCE)
target_include_directories(omnitrace-papi SYSTEM INTERFACE ${PAPI_INCLUDE_DIR}) 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}) 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( install(
DIRECTORY ${OMNITRACE_PAPI_INSTALL_DIR}/lib/ DIRECTORY ${OMNITRACE_PAPI_INSTALL_DIR}/lib/
+36
Melihat File
@@ -20,9 +20,18 @@ omnitrace_add_interface_library(omnitrace-rocm-smi
"Provides flags and libraries for 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-mpi "Provides MPI or MPI headers")
omnitrace_add_interface_library(omnitrace-ptl "Enables PTL support (tasking)") 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-python "Enables Python support")
omnitrace_add_interface_library(omnitrace-timemory-config omnitrace_add_interface_library(omnitrace-timemory-config
"CMake interface library applied to all timemory targets") "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 target_include_directories(omnitrace-headers INTERFACE ${PROJECT_SOURCE_DIR}/include
${PROJECT_BINARY_DIR}/include) ${PROJECT_BINARY_DIR}/include)
@@ -143,6 +152,15 @@ elseif(OMNITRACE_USE_MPI_HEADERS)
target_link_libraries(omnitrace-mpi INTERFACE MPI::MPI_HEADERS) target_link_libraries(omnitrace-mpi INTERFACE MPI::MPI_HEADERS)
endif() endif()
# ----------------------------------------------------------------------------------------#
#
# OMPT
#
# ----------------------------------------------------------------------------------------#
omnitrace_target_compile_definitions(
omnitrace-ompt INTERFACE OMNITRACE_USE_OMPT=$<BOOL:${OMNITRACE_USE_OMPT}>)
# ----------------------------------------------------------------------------------------# # ----------------------------------------------------------------------------------------#
# #
# Dyninst # Dyninst
@@ -596,3 +614,21 @@ if(OMNITRACE_USE_PYTHON)
include(ConfigPython) include(ConfigPython)
endif() 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
Melihat File
@@ -11,7 +11,8 @@ add_executable(
target_include_directories(omnitrace-avail PRIVATE ${CMAKE_CURRENT_LIST_DIR}/include) target_include_directories(omnitrace-avail PRIVATE ${CMAKE_CURRENT_LIST_DIR}/include)
target_compile_definitions(omnitrace-avail PRIVATE OMNITRACE_EXTERN_COMPONENTS=0) 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( set_target_properties(
omnitrace-avail omnitrace-avail
PROPERTIES BUILD_RPATH "\$ORIGIN:${PROJECT_BINARY_DIR}:${CMAKE_BINARY_DIR}" PROPERTIES BUILD_RPATH "\$ORIGIN:${PROJECT_BINARY_DIR}:${CMAKE_BINARY_DIR}"
@@ -13,8 +13,9 @@ add_executable(
target_include_directories(omnitrace-critical-trace target_include_directories(omnitrace-critical-trace
PRIVATE ${CMAKE_CURRENT_LIST_DIR}/include) PRIVATE ${CMAKE_CURRENT_LIST_DIR}/include)
target_compile_definitions(omnitrace-critical-trace PRIVATE OMNITRACE_EXTERN_COMPONENTS=0) target_compile_definitions(omnitrace-critical-trace PRIVATE OMNITRACE_EXTERN_COMPONENTS=0)
target_link_libraries(omnitrace-critical-trace target_link_libraries(
PRIVATE omnitrace::omnitrace-interface-library) omnitrace-critical-trace PRIVATE omnitrace::omnitrace-compile-definitions
omnitrace::omnitrace-interface-library)
set_target_properties( set_target_properties(
omnitrace-critical-trace omnitrace-critical-trace
PROPERTIES BUILD_RPATH "\$ORIGIN:${PROJECT_BINARY_DIR}:${CMAKE_BINARY_DIR}" PROPERTIES BUILD_RPATH "\$ORIGIN:${PROJECT_BINARY_DIR}:${CMAKE_BINARY_DIR}"
+3
Melihat File
@@ -23,6 +23,7 @@ target_link_libraries(
PRIVATE omnitrace::omnitrace-headers PRIVATE omnitrace::omnitrace-headers
omnitrace::omnitrace-dyninst omnitrace::omnitrace-dyninst
omnitrace::omnitrace-compile-options omnitrace::omnitrace-compile-options
omnitrace::omnitrace-compile-definitions
$<BUILD_INTERFACE:timemory::timemory-headers> $<BUILD_INTERFACE:timemory::timemory-headers>
$<IF:$<BOOL:${OMNITRACE_USE_SANITIZER}>,omnitrace::omnitrace-sanitizer,>) $<IF:$<BOOL:${OMNITRACE_USE_SANITIZER}>,omnitrace::omnitrace-sanitizer,>)
@@ -33,6 +34,8 @@ set_target_properties(
INSTALL_RPATH_USE_LINK_PATH ON INSTALL_RPATH_USE_LINK_PATH ON
INSTALL_RPATH "${OMNITRACE_EXE_INSTALL_RPATH}") INSTALL_RPATH "${OMNITRACE_EXE_INSTALL_RPATH}")
omnitrace_strip_target(omnitrace-exe)
if(CMAKE_BUILD_TYPE MATCHES "^(DEBUG|Debug)") if(CMAKE_BUILD_TYPE MATCHES "^(DEBUG|Debug)")
string(REPLACE " " ";" _FLAGS "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}") string(REPLACE " " ";" _FLAGS "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
target_compile_options(omnitrace-exe PRIVATE ${_FLAGS}) target_compile_options(omnitrace-exe PRIVATE ${_FLAGS})
+1 -1
Melihat 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_include_directories(omnitrace-common-library INTERFACE ${COMMON_INCLUDE_DIR})
target_compile_definitions(omnitrace-common-library target_compile_definitions(omnitrace-common-library
INTERFACE $<BUILD_INTERFACE:OMNITRACE_INTERNAL_BUILD>) INTERFACE $<BUILD_INTERFACE:OMNITRACE_INTERNAL_BUILD=1>)
+4 -6
Melihat 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 target_sources(omnitrace-dl-library PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/dl.cpp
${CMAKE_CURRENT_SOURCE_DIR}/dl.hpp) ${CMAKE_CURRENT_SOURCE_DIR}/dl.hpp)
target_link_libraries(omnitrace-dl-library target_link_libraries(
PUBLIC ${dl_LIBRARY} $<BUILD_INTERFACE:omnitrace::common-library>) omnitrace-dl-library
PUBLIC ${dl_LIBRARY} $<BUILD_INTERFACE:omnitrace::common-library>
$<BUILD_INTERFACE:omnitrace::omnitrace-compile-definitions>)
target_include_directories( target_include_directories(
omnitrace-dl-library omnitrace-dl-library
PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}> PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
@@ -34,10 +36,6 @@ if(OMNITRACE_BUILD_DEVELOPER)
endif() endif()
endif() endif()
omnitrace_target_compile_definitions(
omnitrace-dl-library
PUBLIC $<BUILD_INTERFACE:OMNITRACE_USE_OMPT=$<BOOL:${OMNITRACE_USE_OMPT}>>)
set_target_properties( set_target_properties(
omnitrace-dl-library omnitrace-dl-library
PROPERTIES OUTPUT_NAME omnitrace-dl PROPERTIES OUTPUT_NAME omnitrace-dl
@@ -19,6 +19,8 @@ target_sources(
target_include_directories( target_include_directories(
omnitrace-user-library PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}> omnitrace-user-library PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>) $<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("-fno-exceptions" omnitrace_user_library_fno_exceptions)
check_cxx_compiler_flag("-ftls-model=local-dynamic" check_cxx_compiler_flag("-ftls-model=local-dynamic"
+1
Melihat File
@@ -24,6 +24,7 @@ target_link_libraries(
$<BUILD_INTERFACE:omnitrace::omnitrace-headers> $<BUILD_INTERFACE:omnitrace::omnitrace-headers>
$<BUILD_INTERFACE:omnitrace::omnitrace-threading> $<BUILD_INTERFACE:omnitrace::omnitrace-threading>
$<BUILD_INTERFACE:omnitrace::omnitrace-compile-options> $<BUILD_INTERFACE:omnitrace::omnitrace-compile-options>
$<BUILD_INTERFACE:omnitrace::omnitrace-compile-definitions>
$<BUILD_INTERFACE:omnitrace::omnitrace-hip> $<BUILD_INTERFACE:omnitrace::omnitrace-hip>
$<BUILD_INTERFACE:omnitrace::omnitrace-roctracer> $<BUILD_INTERFACE:omnitrace::omnitrace-roctracer>
$<BUILD_INTERFACE:omnitrace::omnitrace-rocm-smi> $<BUILD_INTERFACE:omnitrace::omnitrace-rocm-smi>