Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rename CMake package to ROCmCMakeBuildTools #128

Merged
merged 13 commits into from
Oct 11, 2023
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
# Change Log for rocm-cmake

## [rocm-cmake 0.10.0 for ROCm 5.7.0]

### Changed
- Rename CMake package to ROCmCMakeBuildTools
- Deprecate use of ROCM package name, redirects to ROCmCMakeBuildTools for backwards compatibility
### Added
- Added ROCMTest module
- ROCMCreatePackage: Added support for ASAN packages
Expand Down
10 changes: 6 additions & 4 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,18 +9,21 @@ set(CMAKE_INSTALL_PREFIX "/opt/rocm" CACHE PATH "")
project(rocm-cmake LANGUAGES NONE)

install(DIRECTORY share DESTINATION .)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/ROCMConfigVersion.cmake DESTINATION share/rocm/cmake)
install(
FILES ${CMAKE_CURRENT_BINARY_DIR}/ROCmCMakeBuildToolsConfigVersion.cmake
DESTINATION share/rocmcmakebuildtools/cmake
)

set(CPACK_RPM_PACKAGE_LICENSE "MIT")

list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/share/rocm/cmake)
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/share/rocmcmakebuildtools/cmake)
include(ROCMCreatePackage)
include(ROCMSetupVersion)

rocm_setup_version(VERSION 0.10.0)

include(CMakePackageConfigHelpers)
write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/ROCMConfigVersion.cmake
write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/ROCmCMakeBuildToolsConfigVersion.cmake
COMPATIBILITY SameMajorVersion)

rocm_create_package(
Expand All @@ -41,4 +44,3 @@ enable_testing()
add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure -C ${CMAKE_CFG_INTDIR})
add_subdirectory(test)
add_subdirectory(doc)

8 changes: 5 additions & 3 deletions share/rocm/cmake/ROCMConfig.cmake
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
# ######################################################################################################################
# Copyright (C) 2017 Advanced Micro Devices, Inc.
# Copyright (C) 2023 Advanced Micro Devices, Inc.
# ######################################################################################################################

list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR})
include(ROCMChecks)
message(NOTICE
"Use of find_package(ROCM) is deprecated, please switch to find_package(ROCmCMakeBuildTools)."
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Then, you probably need to change the message to something like

    "Use of find_package(ROCM) will be deprecated soon, please switch to find_package(ROCmCMakeBuildTools)."

)
find_package(ROCmCMakeBuildTools HINTS "${CMAKE_CURRENT_LIST_DIR}")
7 changes: 7 additions & 0 deletions share/rocm/cmake/ROCMConfigVersion.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# ######################################################################################################################
# Copyright (C) 2023 Advanced Micro Devices, Inc.
# ######################################################################################################################

list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/../../rocmcmakebuildtools/cmake)

include(ROCmCMakeBuildToolsConfigVersion)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# ######################################################################################################################
# Copyright (C) 2017 Advanced Micro Devices, Inc.
# ######################################################################################################################

list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR})
include(ROCMChecks)
8 changes: 4 additions & 4 deletions test/analyze/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
cmake_minimum_required (VERSION 3.5)
project(simple LANGUAGES CXX)

find_package(ROCM)
find_package(ROCmCMakeBuildTools)

include(ROCMInstallTargets)
include(ROCMAnalyzers)
Expand All @@ -15,7 +15,7 @@ include(ROCMSetupVersion)
include(ROCMClangTidy)
rocm_enable_clang_tidy(
DEV_WARNINGS_AS_ERRORS
CHECKS
CHECKS
*
-llvmlibc-*
ERRORS
Expand All @@ -26,10 +26,10 @@ rocm_enable_clang_tidy(
include(ROCMCppCheck)
rocm_enable_cppcheck(
INCONCLUSIVE
CHECKS
CHECKS
warning
FORCE
SUPPRESS
SUPPRESS
unmatchedSuppression
SOURCES
simple.cpp
Expand Down
2 changes: 1 addition & 1 deletion test/libbasic/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
cmake_minimum_required (VERSION 3.5)
project(basic CXX)

find_package(ROCM)
find_package(ROCmCMakeBuildTools)
find_package(simple)

include(ROCMInstallTargets)
Expand Down
20 changes: 10 additions & 10 deletions test/libheaderonly/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
cmake_minimum_required (VERSION 3.5)
project(headeronly LANGUAGES NONE)

find_package(ROCM)
find_package(ROCmCMakeBuildTools)

include(ROCMInstallTargets)
include(ROCMPackageConfigHelpers)
Expand All @@ -18,15 +18,15 @@ rocm_setup_version(VERSION 1.0.0)

if(ROCM_PREFIX)
rocm_create_package(
NAME headeronly
NAME headeronly
PREFIX ${ROCM_PREFIX}
MAINTAINER "Amd [email protected]"
PTH
LDCONFIG
HEADER_ONLY)
else()
rocm_create_package(
NAME headeronly
NAME headeronly
MAINTAINER "Amd [email protected]"
PTH
LDCONFIG
Expand All @@ -38,15 +38,15 @@ set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin)

add_library(headeronly INTERFACE)
target_include_directories(headeronly
INTERFACE
target_include_directories(headeronly
INTERFACE
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
$<INSTALL_INTERFACE:headeronly/include/>)

if(ROCM_PREFIX)
rocm_install_targets(
TARGETS headeronly
INCLUDE include
TARGETS headeronly
INCLUDE include
PREFIX ${ROCM_PREFIX})
rocm_install(
DIRECTORY
Expand All @@ -58,8 +58,8 @@ if(ROCM_PREFIX)
PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ
)
rocm_export_targets(
TARGETS headeronly
INCLUDE ${CMAKE_CURRENT_SOURCE_DIR}/importtarget.cmake
TARGETS headeronly
INCLUDE ${CMAKE_CURRENT_SOURCE_DIR}/importtarget.cmake
PREFIX ${ROCM_PREFIX})
rocm_install_symlink_subdir(${ROCM_PREFIX})
else()
Expand All @@ -76,6 +76,6 @@ else()
PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ
)
rocm_export_targets(
TARGETS headeronly
TARGETS headeronly
INCLUDE ${CMAKE_CURRENT_SOURCE_DIR}/importtarget.cmake)
endif()
6 changes: 3 additions & 3 deletions test/libsimple/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
cmake_minimum_required (VERSION 3.5)
project(simple CXX)

find_package(ROCM)
find_package(ROCmCMakeBuildTools)

include(ROCMInstallTargets)
include(ROCMPackageConfigHelpers)
Expand All @@ -18,14 +18,14 @@ rocm_setup_version(VERSION 1.0.0)

if(ROCM_PREFIX)
rocm_create_package(
NAME simple
NAME simple
PREFIX ${ROCM_PREFIX}
MAINTAINER "Amd [email protected]"
PTH
LDCONFIG)
else()
rocm_create_package(
NAME simple
NAME simple
MAINTAINER "Amd [email protected]"
PTH
LDCONFIG)
Expand Down
6 changes: 3 additions & 3 deletions test/libsimple2/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
cmake_minimum_required (VERSION 3.5)
project(simple2 CXX)

find_package(ROCM)
find_package(ROCmCMakeBuildTools)

include(ROCMInstallTargets)
include(ROCMPackageConfigHelpers)
Expand All @@ -20,13 +20,13 @@ rocm_setup_version(VERSION 1.0.0)

if(ROCM_PREFIX)
rocm_create_package(
NAME simple2
NAME simple2
PREFIX ${ROCM_PREFIX}
MAINTAINER "Amd [email protected]"
LDCONFIG)
else()
rocm_create_package(
NAME simple2
NAME simple2
MAINTAINER "Amd [email protected]"
LDCONFIG)
endif()
Expand Down
51 changes: 51 additions & 0 deletions test/libsimplecompat/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
################################################################################
# Copyright (C) 2017 Advanced Micro Devices, Inc.
################################################################################


cmake_minimum_required (VERSION 3.5)
project(simple CXX)

find_package(ROCM)

include(ROCMInstallTargets)
include(ROCMPackageConfigHelpers)
include(ROCMSetupVersion)
include(ROCMInstallSymlinks)
include(ROCMCreatePackage)

rocm_setup_version(VERSION 1.0.0)

if(ROCM_PREFIX)
rocm_create_package(
NAME simple
PREFIX ${ROCM_PREFIX}
MAINTAINER "Amd [email protected]"
PTH
LDCONFIG)
else()
rocm_create_package(
NAME simple
MAINTAINER "Amd [email protected]"
PTH
LDCONFIG)
endif()

set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin)

add_library(simple simple.cpp)
rocm_set_soversion(simple 1.1.2)

add_executable(simple-main main.cpp)
target_link_libraries(simple-main simple)

if(ROCM_PREFIX)
rocm_install_targets(TARGETS simple simple-main INCLUDE include PREFIX ${ROCM_PREFIX})
rocm_export_targets(TARGETS simple INCLUDE ${CMAKE_CURRENT_SOURCE_DIR}/importtarget.cmake PREFIX ${ROCM_PREFIX})
rocm_install_symlink_subdir(${ROCM_PREFIX})
else()
rocm_install_targets(TARGETS simple simple-main INCLUDE include)
rocm_export_targets(TARGETS simple INCLUDE ${CMAKE_CURRENT_SOURCE_DIR}/importtarget.cmake)
endif()
3 changes: 3 additions & 0 deletions test/libsimplecompat/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
This is a placeholder license file for the purposes of testing, and is not the license for this repository or the files
contained in this directory. The license for rocm-cmake (including all files in this directory) can be located at
"https://github.com/RadeonOpenCompute/rocm-cmake/blob/master/LICENSE".
3 changes: 3 additions & 0 deletions test/libsimplecompat/importtarget.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# ######################################################################################################################
# Copyright (C) 2017 Advanced Micro Devices, Inc.
# ######################################################################################################################
12 changes: 12 additions & 0 deletions test/libsimplecompat/include/simple.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
/*******************************************************************************
* Copyright (C) 2017 Advanced Micro Devices, Inc.
******************************************************************************/


#ifndef GUARD_SIMPLE_H
#define GUARD_SIMPLE_H

void simple();


#endif
6 changes: 6 additions & 0 deletions test/libsimplecompat/main.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@

void simple();

int main() {
simple();
}
7 changes: 7 additions & 0 deletions test/libsimplecompat/simple.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
/*******************************************************************************
* Copyright (C) 2017 Advanced Micro Devices, Inc.
******************************************************************************/


void simple()
{}
4 changes: 2 additions & 2 deletions test/libsimpletest/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
cmake_minimum_required (VERSION 3.5)
project(simple CXX)

find_package(ROCM)
find_package(ROCmCMakeBuildTools)

include(ROCMInstallTargets)
include(ROCMPackageConfigHelpers)
Expand All @@ -20,7 +20,7 @@ rocm_setup_version(VERSION 1.0.0)
rocm_enable_test_package(simple)

rocm_create_package(
NAME simple
NAME simple
MAINTAINER "Amd [email protected]"
PTH
LDCONFIG)
Expand Down
6 changes: 3 additions & 3 deletions test/libwrapper/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
cmake_minimum_required (VERSION 3.5)
project(test-wrapper CXX)

find_package(ROCM)
find_package(ROCmCMakeBuildTools)

include(ROCMInstallTargets)
include(ROCMPackageConfigHelpers)
Expand All @@ -19,14 +19,14 @@ rocm_setup_version(VERSION 1.0.0)

if(ROCM_PREFIX)
rocm_create_package(
NAME wrapper
NAME wrapper
PREFIX ${ROCM_PREFIX}
MAINTAINER "Amd [email protected]"
PTH
LDCONFIG)
else()
rocm_create_package(
NAME wrapper
NAME wrapper
MAINTAINER "Amd [email protected]"
PTH
LDCONFIG)
Expand Down
9 changes: 9 additions & 0 deletions test/pass/rename-compatibility.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# ######################################################################################################################
# Copyright (C) 2023 Advanced Micro Devices, Inc.
# ######################################################################################################################

install_dir(${TEST_DIR}/libsimplecompat TARGETS package)
test_check_package(
NAME simple
HEADER simple.h
TARGET simple)
2 changes: 1 addition & 1 deletion test/test.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ macro(test_exec)
endmacro()

macro(use_rocm_cmake)
list(APPEND CMAKE_MODULE_PATH ${PREFIX}/share/rocm/cmake)
list(APPEND CMAKE_MODULE_PATH ${PREFIX}/share/rocmcmakebuildtools/cmake)
endmacro()

function(configure_dir DIR)
Expand Down
2 changes: 1 addition & 1 deletion test/toolchain-var/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@


cmake_minimum_required (VERSION 3.5)
find_package(ROCM)
find_package(ROCmCMakeBuildTools)
project(toolchain-var CXX)

if(CHANGE_TOOLCHAIN)
Expand Down
Loading
Loading