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
179 lines
4.7 KiB
CMake
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()
|