From eec07e83a752b55f93b23b5246cadf8aea224543 Mon Sep 17 00:00:00 2001 From: Dana Robinson Date: Fri, 6 Feb 2026 18:45:44 -0700 Subject: [PATCH 1/6] CMAKE_SOURCE_DIR --> PROJECT_SOURCE_DIR If hipFile is used as a subproject in another project, `CMAKE_SOURCE_DIR` will point to the root of *that* project instead of ours. `PROJECT_SOURCE_DIR` will point to *our* project root, which is the root of the repo. --- CMakeLists.txt | 2 +- cmake/AISAddExecutable.cmake | 2 +- cmake/AISAddLibraries.cmake | 2 +- cmake/AISDocumentation.cmake | 2 +- cmake/AISInstall.cmake | 6 +++--- cmake/AISUseGTest.cmake | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 352adc4c..4a420d4d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -86,7 +86,7 @@ endif() #----------------------------------------------------------------------------- # Include our custom CMake code in the module path #----------------------------------------------------------------------------- -set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH}) +set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH}) #----------------------------------------------------------------------------- # Set ROCm Version and Install Path diff --git a/cmake/AISAddExecutable.cmake b/cmake/AISAddExecutable.cmake index 29eed7ed..e22e4435 100644 --- a/cmake/AISAddExecutable.cmake +++ b/cmake/AISAddExecutable.cmake @@ -72,5 +72,5 @@ function(ais_add_executable) target_include_directories(${arg_NAME} SYSTEM PRIVATE ${incl}) endforeach() - target_include_directories(${arg_NAME} PRIVATE "${CMAKE_SOURCE_DIR}/shared") + target_include_directories(${arg_NAME} PRIVATE "${PROJECT_SOURCE_DIR}/shared") endfunction() diff --git a/cmake/AISAddLibraries.cmake b/cmake/AISAddLibraries.cmake index 9438f352..e911ce0b 100644 --- a/cmake/AISAddLibraries.cmake +++ b/cmake/AISAddLibraries.cmake @@ -93,7 +93,7 @@ function(ais_add_libraries) endif() # Add the common include path - target_include_directories(${arg_NAME} PRIVATE "${CMAKE_SOURCE_DIR}/shared") + target_include_directories(${arg_NAME} PRIVATE "${PROJECT_SOURCE_DIR}/shared") # Set compiler flags ais_set_compiler_flags(${arg_NAME}) diff --git a/cmake/AISDocumentation.cmake b/cmake/AISDocumentation.cmake index 4707e06f..abd5e7ae 100644 --- a/cmake/AISDocumentation.cmake +++ b/cmake/AISDocumentation.cmake @@ -15,7 +15,7 @@ if(AIS_BUILD_DOCS) find_package(Doxygen REQUIRED) # Set Doxygen input (pasted into Doxyfile.in) - set(AIS_DOXYFILE_INPUT "${CMAKE_SOURCE_DIR}/include") + set(AIS_DOXYFILE_INPUT "${PROJECT_SOURCE_DIR}/include") # Set the path to the documentation set(AIS_DOC_PATH "${CMAKE_CURRENT_BINARY_DIR}/docs") diff --git a/cmake/AISInstall.cmake b/cmake/AISInstall.cmake index 0e068789..39b3f51a 100644 --- a/cmake/AISInstall.cmake +++ b/cmake/AISInstall.cmake @@ -13,7 +13,7 @@ rocm_install(TARGETS hipfile) # Install the headers rocm_install( - DIRECTORY ${CMAKE_SOURCE_DIR}/include/ + DIRECTORY ${PROJECT_SOURCE_DIR}/include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} ) @@ -25,7 +25,7 @@ install(PROGRAMS tools/ais-check/ais-check DESTINATION bin) # the DESTINATION path or you'll get `examples/examples/*` output if(AIS_INSTALL_EXAMPLES) install( - DIRECTORY ${CMAKE_SOURCE_DIR}/examples + DIRECTORY ${PROJECT_SOURCE_DIR}/examples DESTINATION share/doc/${CMAKE_PROJECT_NAME} FILES_MATCHING PATTERN "*.cpp" @@ -98,7 +98,7 @@ rocm_export_targets( ) # CPack license setup -set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/LICENSE.md") +set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE.md") set(CPACK_RPM_PACKAGE_LICENSE "MIT") # rocm-cmake sets CPACK_SET_DESTDIR on Linux, which conflicts with diff --git a/cmake/AISUseGTest.cmake b/cmake/AISUseGTest.cmake index d5a898c6..21087e34 100644 --- a/cmake/AISUseGTest.cmake +++ b/cmake/AISUseGTest.cmake @@ -46,7 +46,7 @@ function(ais_gtest_discover_tests target) set_property( DIRECTORY APPEND PROPERTY TEST_INCLUDE_FILES - "${CMAKE_SOURCE_DIR}/cmake/AISSetCoverageFile.cmake" + "${PROJECT_SOURCE_DIR}/cmake/AISSetCoverageFile.cmake" "${coverage_include_file}" ) From 90d2acb8a3c360874232d5d44022f777fb170474 Mon Sep 17 00:00:00 2001 From: Dana Robinson Date: Fri, 6 Feb 2026 18:59:31 -0700 Subject: [PATCH 2/6] PROJECT_SOURCE_DIR --> HIPFILE_SOURCE_PATH --- CMakeLists.txt | 1 + cmake/AISAddExecutable.cmake | 2 +- cmake/AISAddLibraries.cmake | 2 +- cmake/AISUseGTest.cmake | 2 +- 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4a420d4d..89cf55f4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -253,6 +253,7 @@ endif() #----------------------------------------------------------------------------- # Set the path to the include directories for later use +set(HIPFILE_ROOT_PATH "${CMAKE_CURRENT_SOURCE_DIR}") set(HIPFILE_INCLUDE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/include") set(HIPFILE_AMD_SOURCE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/src/amd_detail") set(HIPFILE_NVIDIA_SOURCE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/src/nvidia_detail") diff --git a/cmake/AISAddExecutable.cmake b/cmake/AISAddExecutable.cmake index e22e4435..aee21d92 100644 --- a/cmake/AISAddExecutable.cmake +++ b/cmake/AISAddExecutable.cmake @@ -72,5 +72,5 @@ function(ais_add_executable) target_include_directories(${arg_NAME} SYSTEM PRIVATE ${incl}) endforeach() - target_include_directories(${arg_NAME} PRIVATE "${PROJECT_SOURCE_DIR}/shared") + target_include_directories(${arg_NAME} PRIVATE "${HIPFILE_ROOT_PATH}/shared") endfunction() diff --git a/cmake/AISAddLibraries.cmake b/cmake/AISAddLibraries.cmake index e911ce0b..f40cb995 100644 --- a/cmake/AISAddLibraries.cmake +++ b/cmake/AISAddLibraries.cmake @@ -93,7 +93,7 @@ function(ais_add_libraries) endif() # Add the common include path - target_include_directories(${arg_NAME} PRIVATE "${PROJECT_SOURCE_DIR}/shared") + target_include_directories(${arg_NAME} PRIVATE "${HIPFILE_ROOT_PATH}/shared") # Set compiler flags ais_set_compiler_flags(${arg_NAME}) diff --git a/cmake/AISUseGTest.cmake b/cmake/AISUseGTest.cmake index 21087e34..cea7cf65 100644 --- a/cmake/AISUseGTest.cmake +++ b/cmake/AISUseGTest.cmake @@ -46,7 +46,7 @@ function(ais_gtest_discover_tests target) set_property( DIRECTORY APPEND PROPERTY TEST_INCLUDE_FILES - "${PROJECT_SOURCE_DIR}/cmake/AISSetCoverageFile.cmake" + "${HIPFILE_ROOT_PATH}/cmake/AISSetCoverageFile.cmake" "${coverage_include_file}" ) From 041f49cfdd2d1e6268c07aa791ddd8b197c95d09 Mon Sep 17 00:00:00 2001 From: Dana Robinson Date: Fri, 6 Feb 2026 19:03:14 -0700 Subject: [PATCH 3/6] Fix module path --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 89cf55f4..660b2209 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -86,7 +86,7 @@ endif() #----------------------------------------------------------------------------- # Include our custom CMake code in the module path #----------------------------------------------------------------------------- -set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH}) +set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH}) #----------------------------------------------------------------------------- # Set ROCm Version and Install Path From e0487ec355e973ab354d939674a0df25e93ffbdc Mon Sep 17 00:00:00 2001 From: Dana Robinson Date: Wed, 11 Feb 2026 15:28:37 -0700 Subject: [PATCH 4/6] Move paths in CMakeLists.txt --- CMakeLists.txt | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 660b2209..49ec7006 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -37,6 +37,16 @@ project("hipfile" # Switch between building static and shared libraries option(BUILD_SHARED_LIBS "Build using shared libraries" ON) +# Set the path to the include directories for later use +# Do this early so we can use these later, in functions, etc. +set(HIPFILE_ROOT_PATH "${CMAKE_CURRENT_SOURCE_DIR}") +set(HIPFILE_INCLUDE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/include") +set(HIPFILE_AMD_SOURCE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/src/amd_detail") +set(HIPFILE_NVIDIA_SOURCE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/src/nvidia_detail") +set(HIPFILE_SRC_COMMON_PATH "${CMAKE_CURRENT_SOURCE_DIR}/src/common") +set(HIPFILE_TEST_COMMON_PATH "${CMAKE_CURRENT_SOURCE_DIR}/test/common") +set(HIPFILE_AMD_TEST_PATH "${CMAKE_CURRENT_SOURCE_DIR}/test/amd_detail") + # Set the list of build types for ccmake/CMake GUI # # This turns the build type box into a multi-select so you don't have to @@ -252,15 +262,6 @@ endif() # Configure hipFile #----------------------------------------------------------------------------- -# Set the path to the include directories for later use -set(HIPFILE_ROOT_PATH "${CMAKE_CURRENT_SOURCE_DIR}") -set(HIPFILE_INCLUDE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/include") -set(HIPFILE_AMD_SOURCE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/src/amd_detail") -set(HIPFILE_NVIDIA_SOURCE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/src/nvidia_detail") -set(HIPFILE_SRC_COMMON_PATH "${CMAKE_CURRENT_SOURCE_DIR}/src/common") -set(HIPFILE_TEST_COMMON_PATH "${CMAKE_CURRENT_SOURCE_DIR}/test/common") -set(HIPFILE_AMD_TEST_PATH "${CMAKE_CURRENT_SOURCE_DIR}/test/amd_detail") - # Add the src directory depending on the HIP platform if(AIS_BUILD_NVIDIA_DETAIL) add_subdirectory(src/nvidia_detail) From 176a6217cc4041405dbba7c0ffffb75a41b80870 Mon Sep 17 00:00:00 2001 From: Dana Robinson Date: Wed, 11 Feb 2026 15:30:43 -0700 Subject: [PATCH 5/6] Update root path in AISInstall.cmake --- cmake/AISInstall.cmake | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cmake/AISInstall.cmake b/cmake/AISInstall.cmake index 39b3f51a..fe8205c7 100644 --- a/cmake/AISInstall.cmake +++ b/cmake/AISInstall.cmake @@ -13,7 +13,7 @@ rocm_install(TARGETS hipfile) # Install the headers rocm_install( - DIRECTORY ${PROJECT_SOURCE_DIR}/include/ + DIRECTORY ${HIPFILE_ROOT_PATH}/include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} ) @@ -25,7 +25,7 @@ install(PROGRAMS tools/ais-check/ais-check DESTINATION bin) # the DESTINATION path or you'll get `examples/examples/*` output if(AIS_INSTALL_EXAMPLES) install( - DIRECTORY ${PROJECT_SOURCE_DIR}/examples + DIRECTORY ${HIPFILE_ROOT_PATH}/examples DESTINATION share/doc/${CMAKE_PROJECT_NAME} FILES_MATCHING PATTERN "*.cpp" @@ -98,7 +98,7 @@ rocm_export_targets( ) # CPack license setup -set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE.md") +set(CPACK_RESOURCE_FILE_LICENSE "${HIPFILE_ROOT_PATH}/LICENSE.md") set(CPACK_RPM_PACKAGE_LICENSE "MIT") # rocm-cmake sets CPACK_SET_DESTDIR on Linux, which conflicts with From f423b3a9150f1a0ee175ce349b5ab07fcb909d25 Mon Sep 17 00:00:00 2001 From: Dana Robinson Date: Wed, 11 Feb 2026 15:32:17 -0700 Subject: [PATCH 6/6] Update hipFile root path in AISDocumentation --- cmake/AISDocumentation.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/AISDocumentation.cmake b/cmake/AISDocumentation.cmake index abd5e7ae..2407978f 100644 --- a/cmake/AISDocumentation.cmake +++ b/cmake/AISDocumentation.cmake @@ -15,7 +15,7 @@ if(AIS_BUILD_DOCS) find_package(Doxygen REQUIRED) # Set Doxygen input (pasted into Doxyfile.in) - set(AIS_DOXYFILE_INPUT "${PROJECT_SOURCE_DIR}/include") + set(AIS_DOXYFILE_INPUT "${HIPFILE_ROOT_PATH}/include") # Set the path to the documentation set(AIS_DOC_PATH "${CMAKE_CURRENT_BINARY_DIR}/docs")