Files
TheRock/rocm-systems/projects/aqlprofile/src/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

114 lines
4.3 KiB
CMake

#
# Build dynamic Library object
#
set ( TARGET_LIB "${TARGET_NAME}" )
set ( LIB_SRC
${LIB_DIR}/core/aql_profile.cpp
${LIB_DIR}/core/counters.cpp
${LIB_DIR}/core/threadtrace.cpp
${LIB_DIR}/core/spm_data.cpp
${LIB_DIR}/core/spm_decode.cpp
${LIB_DIR}/core/spm_v2.cpp
${LIB_DIR}/core/populate_aql.cpp
${LIB_DIR}/core/memorymanager.cpp
${LIB_DIR}/core/pm4_factory.cpp
${LIB_DIR}/core/gfx9_factory.cpp
${LIB_DIR}/core/gfx908_factory.cpp
${LIB_DIR}/core/gfx90a_factory.cpp
${LIB_DIR}/core/gfx940_factory.cpp
${LIB_DIR}/core/gfx10_factory.cpp
${LIB_DIR}/core/gfx11_factory.cpp
${LIB_DIR}/core/gfx115x_factory.cpp
${LIB_DIR}/core/gfx12_factory.cpp
${LIB_DIR}/core/gfx1250_factory.cpp
${LIB_DIR}/core/vega20_reg_init.cpp
${LIB_DIR}/core/parse_ip_discovery.cpp
${LIB_DIR}/core/navi_reg_init.cpp
${LIB_DIR}/core/ip_offset_table_init.cpp
${LIB_DIR}/util/hsa_rsrc_factory.cpp
)
add_library ( ${TARGET_LIB} SHARED ${LIB_SRC} )
add_library (aqlprofile::aqlprofile-lib ALIAS ${TARGET_LIB})
target_include_directories ( ${TARGET_LIB}
PUBLIC ${LIB_DIR}
PRIVATE ${API_PATH}
${LIB_DIR}/core/include
)
if ( WIN32 )
# Link the module-definition file so the linker exports all public symbols
target_sources ( ${TARGET_LIB} PRIVATE ${LIB_DIR}/hsa-amd-aqlprofile64.def )
# Locate the pre-built HIP import library (re-exports all HSA runtime symbols)
find_library ( AMDHIP64_LIB
NAMES amdhip64
HINTS "${AMDHIP64_LIB_DIR}"
)
if ( NOT AMDHIP64_LIB OR AMDHIP64_LIB STREQUAL "AMDHIP64_LIB-NOTFOUND" )
message ( FATAL_ERROR "Failed to find amdhip64 import library for Windows build. Install HIP or set AMDHIP64_LIB_DIR to the directory containing amdhip64.lib." )
endif ()
message ( STATUS "---AMDHIP64_LIB: ${AMDHIP64_LIB}" )
endif ()
target_link_libraries( ${TARGET_LIB}
PRIVATE
$<$<NOT:$<BOOL:${WIN32}>>:pthread>
$<$<NOT:$<BOOL:${WIN32}>>:hsa-runtime64::hsa-runtime64>
$<$<BOOL:${WIN32}>:${AMDHIP64_LIB}>
PUBLIC
aqlprofile::headers
)
## Generating definitions
set ( SCRIPT_DIR "${ROOT_DIR}/script" )
set ( GFXIP_DIR "${ROOT_DIR}/gfxip" )
set ( DEF_DIR "${ROOT_DIR}/src/def" )
set ( BINFO_TEMPL "${SCRIPT_DIR}/gpu_block_info.h" )
set ( BINFO_DEF "${GFXIP_DIR}/gpu_block_info.h" )
set ( BINFO_HEADER "${DEF_DIR}/gpu_block_info.h" )
set ( GFX9_TEMPL "${SCRIPT_DIR}/gfx9_def.h" )
set ( GFX9_DEF "${GFXIP_DIR}/gfx9_def.h" )
set ( GFX9_HEADER "${DEF_DIR}/gfx9_def.h" )
set ( GFX10_TEMPL "${SCRIPT_DIR}/gfx10_def.h" )
set ( GFX10_DEF "${GFXIP_DIR}/gfx10_def.h" )
set ( GFX10_HEADER "${DEF_DIR}/gfx10_def.h" )
set ( GFX11_TEMPL "${SCRIPT_DIR}/gfx11_def.h" )
set ( GFX11_DEF "${GFXIP_DIR}/gfx11_def.h" )
set ( GFX11_HEADER "${DEF_DIR}/gfx11_def.h" )
set ( GFX12_TEMPL "${SCRIPT_DIR}/gfx12_def.h" )
set ( GFX12_DEF "${GFXIP_DIR}/gfx12_def.h" )
set ( GFX12_HEADER "${DEF_DIR}/gfx12_def.h" )
include_directories ( ${ROOT_DIR} )
add_custom_target( mygenreset
COMMAND sh -xc "cp ${BINFO_TEMPL} ${BINFO_HEADER}"
COMMAND sh -xc "cp ${GFX9_TEMPL} ${GFX9_HEADER}"
COMMAND sh -xc "cp ${GFX10_TEMPL} ${GFX10_HEADER}"
COMMAND sh -xc "cp ${GFX11_TEMPL} ${GFX11_HEADER}"
COMMAND sh -xc "cp ${GFX12_TEMPL} ${GFX12_HEADER}"
)
add_custom_target( mygen
COMMAND sh -xc "cp ${BINFO_TEMPL} ${BINFO_HEADER}"
COMMAND sh -xc "cp ${GFX9_TEMPL} ${GFX9_HEADER}"
COMMAND sh -xc "cp ${GFX10_TEMPL} ${GFX10_HEADER}"
COMMAND sh -xc "cp ${GFX11_TEMPL} ${GFX11_HEADER}"
COMMAND sh -xc "cp ${GFX12_TEMPL} ${GFX12_HEADER}"
COMMAND sh -xc "sed '/gfx9_def/ s/.*//' ${GFX9_TEMPL} >${GFX9_HEADER}"
COMMAND sh -xc "${ROOT_DIR}/script/errextr.sh ${GFX9_HEADER} ${GFX9_DEF}"
COMMAND sh -xc "sed '/gfx10_def/ s/.*//' ${GFX10_TEMPL} >${GFX10_HEADER}"
COMMAND sh -xc "${ROOT_DIR}/script/errextr.sh ${GFX10_HEADER} ${GFX10_DEF}"
COMMAND sh -xc "sed '/gfx11_def/ s/.*//' ${GFX11_TEMPL} >${GFX11_HEADER}"
COMMAND sh -xc "${ROOT_DIR}/script/errextr.sh ${GFX11_HEADER} ${GFX11_DEF}"
COMMAND sh -xc "sed '/gfx12_def/ s/.*//' ${GFX12_TEMPL} >${GFX12_HEADER}"
COMMAND sh -xc "${ROOT_DIR}/script/errextr.sh ${GFX12_HEADER} ${GFX12_DEF}"
COMMAND sh -xc "head -n1 ${BINFO_TEMPL} >${BINFO_HEADER}"
COMMAND sh -xc "sed 's/_GPU_BLOCKINFO_H_/SRC_DEF_GPU_BLOCK_INFO_H_/' ${BINFO_DEF} >>${BINFO_HEADER}"
)
add_subdirectory(src/core)
if(AQLPROFILE_BUILD_TESTS)
enable_testing()
include(CTest)
add_subdirectory(src/util/tests)
add_subdirectory(src/pm4/tests)
endif()