omnitrace-compile-definitions (CMake) [skip ci] (#43)
This commit is contained in:
committed by
GitHub
orang tua
4db6ba3d28
melakukan
cc9ce3a871
+2
-4
@@ -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/
|
||||||
|
|||||||
@@ -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()
|
||||||
|
|||||||
@@ -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}"
|
||||||
|
|||||||
@@ -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})
|
||||||
|
|||||||
@@ -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>)
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
Reference in New Issue
Block a user