Files
TheRock/rocm-systems/projects/rocprofiler-systems/external/dyninst/common/CMakeLists.txt
T
derek.holloway 7502bf64a4
CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
Flatten subprojects into a single base monorepo
2026-09-02 16:34:47 -07:00

179 lines
4.7 KiB
CMake

include_guard(GLOBAL)
include(DyninstLibrary)
configure_file(${PROJECT_SOURCE_DIR}/cmake/dyninstversion.h.in
${CMAKE_CURRENT_SOURCE_DIR}/h/dyninstversion.h)
set(_public_headers
h/Annotatable.h
h/Architecture.h
h/Buffer.h
h/compiler_annotations.h
h/compiler_diagnostics.h
h/concurrent.h
h/DynAST.h
h/dyn_regs.h
h/dyn_syscalls.h
h/dyntypes.h
h/Edge.h
h/entryIDs.h
h/Graph.h
h/IBSTree-fast.h
h/IBSTree.h
h/MachSyscall.h
h/mnemonics/aarch64_entryIDs.h
h/mnemonics/ppc_entryIDs.h
h/mnemonics/x86_entryIDs.h
h/mnemonics/AMDGPU/gfx908_entryIDs.h
h/mnemonics/AMDGPU/gfx90a_entryIDs.h
h/mnemonics/AMDGPU/gfx940_entryIDs.h
h/mnemonics/IntelGPU/generic_entryIDs.h
h/mnemonics/NVIDIA/generic_entryIDs.h
h/Node.h
h/ProcReader.h
h/registers/MachRegister.h
h/registers/aarch64_regs.h
h/registers/abstract_regs.h
h/registers/AMDGPU/amdgpu_gfx908_regs.h
h/registers/AMDGPU/amdgpu_gfx90a_regs.h
h/registers/AMDGPU/amdgpu_gfx940_regs.h
h/registers/cuda_regs.h
h/registers/MachRegister.h
h/registers/ppc32_regs.h
h/registers/ppc64_regs.h
h/registers/reg_def.h
h/registers/x86_64_regs.h
h/registers/x86_regs.h
h/SymReader.h
h/unaligned_memory_access.h
h/util.h
h/VariableLocation.h
h/dyninstversion.h # generated by cmake/version.h.in at config time
)
set(_private_headers
src/addrtranslate.h
src/addrtranslate-sysv.h
src/arch-aarch64.h
src/arch.h
src/arch-power.h
src/arch-x86.h
src/debug_common.h
src/dthread.h
src/dyn_register.h
src/freebsdHeaders.h
src/freebsdKludges.h
src/headers.h
src/ia32_locations.h
src/IntervalTree.h
src/linuxHeaders.h
src/linuxKludges.h
src/lprintf.h
src/lru_cache.h
src/MappedFile.h
src/NodeIterator.h
src/ntHeaders.h
src/parseauxv.h
src/pathName.h
src/pool_allocators.h
src/registers/MachRegister.C
src/sha1.h
src/singleton_object_pool.h
src/stats.h
src/symbolDemangle.h
src/symbolDemangleWithCache.h
src/Timer.h
src/vgannotations.h
src/vm_maps.h)
set(_sources
src/pfq-rwlock.C
src/concurrent.C
src/Timer.C
src/lprintf.C
src/pathName.C
src/stats.C
src/Annotatable.C
src/MappedFile.C
src/sha1.C
src/util.C
src/Node.C
src/Graph.C
src/Edge.C
src/DOT.C
src/dyn_regs.C
src/AST.C
src/addrtranslate.C
src/arch-x86.C
src/arch-power.C
src/arch-aarch64.C
src/debug_common.C
src/VariableLocation.C
src/Buffer.C
src/MachSyscall.C)
if(DYNINST_OS_UNIX)
list(APPEND _sources src/addrtranslate-sysv.C src/symbolDemangleWithCache.C
src/symbolDemangle.c)
endif()
if(DYNINST_OS_FreeBSD)
list(APPEND _sources src/freebsdKludges.C src/addrtranslate-freebsd.C)
elseif(DYNINST_OS_Linux)
list(APPEND _sources src/linuxKludges.C src/parseauxv.C src/addrtranslate-auxv.C
src/addrtranslate-linux.C)
elseif(DYNINST_OS_Windows)
list(APPEND _sources src/ntKludges.C src/addrtranslate-win.C)
endif()
if(${CMAKE_CXX_COMPILER_ID} MATCHES "GNU")
if(${CMAKE_CXX_COMPILER_VERSION} MATCHES "^[789](\.|$)")
# Disable var-tracking-assignments for arch-x86.C for gcc 7, 8, & 9. The default
# max size for these compilers is too small so it fails, adjusting it using
#
# PROPERTIES COMPILE_FLAGS "--param=max-vartrack-size=600000000"
#
# succeeds, but just disable it.
set_source_files_properties(src/arch-x86.C PROPERTIES COMPILE_FLAGS
"-fno-var-tracking-assignments")
endif()
endif()
# adjust warning threshold if set in cmake/warnings.cmake
if(debugMaxFrameSizeOverrideSyscallInformation)
set_source_files_properties(
src/MachSyscall.C
PROPERTIES
COMPILE_FLAGS
$<$<CONFIG:DEBUG>:-Wframe-larger-than=${debugMaxFrameSizeOverrideSyscallInformation}>
)
endif()
if(nonDebugMaxFrameSizeOverrideSyscallInformation)
set_source_files_properties(
src/MachSyscall.C
PROPERTIES
COMPILE_FLAGS
$<$<NOT:$<CONFIG:DEBUG>>:-Wframe-larger-than=${nonDebugMaxFrameSizeOverrideSyscallInformation}>
)
endif()
# cmake-format: off
dyninst_library(
common
PUBLIC_HEADER_FILES ${_public_headers}
PRIVATE_HEADER_FILES ${_private_headers}
SOURCE_FILES ${_sources}
DEFINES COMMON_LIB
PUBLIC_DEPS Dyninst::TBB
PRIVATE_DEPS Dyninst::LibIberty OpenMP::OpenMP_CXX Dyninst::Valgrind Threads::Threads
)
# cmake-format: on
if(DYNINST_OS_Windows)
foreach(t ${common_TARGETS})
target_compile_definitions(${t} PRIVATE "WIN32" "_WIN32_WINNT=0x500")
target_link_libraries(${t} PRIVATE Psapi WS2_32 dbghelp)
endforeach()
endif()