- ROCmCreatePackage: Accepts a suffix parameter, automatically generating it for static or ASAN builds.
- Package names will no longer be pulled from
CPACK_<GEN>_PACKAGE_NAME
- Runtime packages will no longer be generated for static builds
- Package names will no longer be pulled from
- ROCMTest: Add rpath to installed tests
- AOCMCreatePackage: Allow additional provides on header-only packages
- ROCMSphinxDoc: Allow separate source and config directories
- Renamed CMake package to ROCmCMakeBuildTools. A wrapper has been provided
to ensure that
find_package(ROCM)
continues to work, but it is recommended that developers switch tofind_package(ROCmCMakeBuildTools)
- ROCMInstallTargets: Stopped installing executables in ASAN builds
- ROCMClangTidy: Fixed invalid list index in clang tidy
- Fixed test failures when
ROCM_CMAKE_GENERATOR
is an empty string
- ROCMSphinxDoc: Improved validation, documentation and rocm-docs-core integration.
- Rename CMake package to ROCmCMakeBuildTools
- ROCMClangTidy: Fixed extra make flags passed for clang tidy.
- ROCMTest: Fixed issues when using module in a subdirectory.
- Added ROCMTest module
- ROCMCreatePackage: Added support for ASAN packages
- Added the option ROCM_HEADER_WRAPPER_WERROR
- Compile-time C macro in the wrapper headers causes errors to be emitted instead of warnings.
- Configure-time CMake option sets the default for the C macro.
- ROCMInstallTargets: Added compatibility symlinks for included cmake files in
<ROCM>/lib/cmake/<PACKAGE>
.
- ROCMHeaderWrapper: The wrapper header deprecation message is now a deprecation warning.
- ROCMCreatePackage: Fixed error in prerm scripts that could break package upgrades when using the
PTH
option. - Removed unnecessary requirement for having C and C++ compilers available when building rocm-cmake from source.
- This release did not have a unique version number.
- Fixed error in prerm scripts created by
rocm_create_package
that could break uninstall for packages using thePTH
option.
ROCM_USE_DEV_COMPONENT
set to on by default for all platforms. This means that Windows will now generate runtime and devel packages by default- ROCMInstallTargets now defaults
CMAKE_INSTALL_LIBDIR
tolib
if not otherwise specified. - Changed default Debian compression type to xz and enabled multi-threaded package compression.
rocm_create_package
will no longer warn upon failure to determine version of program rpmbuild.
- Header wrapper functionality included. This is to support the change in header file locations in ROCm 5.2, while providing backwards compatibility via header file wrappers.
The associated deprecation warning can be disabled by defining
ROCM_NO_WRAPPER_HEADER_WARNING
before including the wrapper header.
- Fixed spurious failures in
rocm_check_target_ids
for target ids with target features when-Werror
is enabled. TheHAVE_<target-id>
result variable has been renamed toCOMPILER_HAS_TARGET_ID_<sanitized-target-id>
.
rocm_create_package
now will attempt to set a defaultCPACK_GENERATOR
based on theROCM_PKGTYPE
environment variable if one is not already set.
CLANG_TIDY_USE_COLOR
variable added to control the color output fromclang-tidy
, by default this isOn
.- If
CPACK_RESOURCE_FILE_LICENSE
is not set,rocm_create_package
will now automatically attempt to find a LICENSE, LICENSE.txt, or LICENSE.md file in the top-level CMake source directory. If one is found, it is set up as the license file for the package.
- Component packaging functionality:
-
rocm_package_setup_component
sets up a component for packaging, with the given name and values for the component and associated package.- The variable
ROCM_PACKAGE_COMPONENTS
stores a list of the components which have been set up withrocm_package_setup_component
.
- The variable
-
rocm_package_add_rpm_dependencies
adds any number of dependencies to the RPM package for an optional specified component, including version checks (e.g.foo >= 1.0
) -
rocm_package_add_deb_dependencies
adds any number of dependencies to the DEB package for an optional specified component, including version checks (e.g.foo >= 1.0
)- Note that this version format matches RPM, it is reformatted to the Debian package format. This is to reduce code duplication.
-
rocm_package_add_dependencies
is a convenience wrapper which calls bothrocm_add_rpm_dependencies
androcm_add_deb_dependencies
to add any number of dependencies to both packages for an optional specified component.
-
- Client packaging functions:
rocm_package_setup_client_component
is a convenience wrapper which adds the library as a runtime dependency if shared libraries were built, and sets the parent of the client package toclients
.
- Utility functions:
rocm_join_if_set
joins any number of non-empty strings to the end of a given variable interspersed with a specified glue string, setting that variable if it was previously emptyrocm_find_program_version
checks to see if the given command is available, and if it is available that the version matches some criteria. The detected version is returned in<output_variable>
, and whether it matches all given criteria in<output_variable>_OK
.<output_variable>
defaults to<program>_VERSION
if not specified.
- If
ROCM_PACKAGE_COMPONENTS
is set (either manually or byrocm_package_setup_component
), then the components listed inROCM_PACKAGE_COMPONENTS
will be built as separate packages. rocm_read_os_release
androcm_set_os_id
moved to the utilities file. As this file is included inROCMCreatePackage.cmake
, this change is backwards compatible.rocm_install_symlink_subdir
now accepts aCOMPONENT
argument, which controls the component that the symlinks are installed into.
- If the ROCm platform version that is being built for is less than version 4.5.0,
ROCM_DEP_ROCMCORE
is automatically disabled.- The ROCm platform version is determined by:
- the user-set CMake variable
ROCM_PLATFORM_VERSION
; otherwise - if the install prefix resolves to a path containing
rocm-<version>
, that version is used; otherwise - if the real path to the version of
rocm-cmake
used containsrocm-<version>
, that version is used.
- the user-set CMake variable
- If the ROCm platform version is not set, then it is assumed to be greater than 4.5.0.
- The ROCm platform version is determined by:
- Modules added to generate documentation:
ROCMDocs
ROCMDoxygenDoc
ROCMSphinxDoc
ADDONS
flag added torocm_enable_cppcheck
in order to run with addons- The cache variable
ROCM_USE_DEV_COMPONENT
may be set toOFF
to build with legacy behaviour.- On Windows, this variable defaults to
OFF
.
- On Windows, this variable defaults to
rocm_install_targets
can now install to a specific component using COMPONENT argument.rocm_install
is a wrapper oninstall
:- If the installation mode is TARGETS, call
rocm_install_targets
with the same arguments. - If
ROCM_USE_DEV_COMPONENT
isOFF
or COMPONENT is specified, callinstall
with the same arguments. - Otherwise, insert the correct arguments to install everything except libraries to the
devel
package, and install libraries to the base package with namelinks in thedevel
package.
- If the installation mode is TARGETS, call
- If
ROCM_USE_DEV_COMPONENT
isON
:rocm_install_targets
:- Unless COMPONENT is specified, library targets will be installed to the default package and namelinked in the devel package.
- Unless COMPONENT is specified, everything else (including any files/folders specified by INCLUDE) will be installed to the devel package.
- If COMPONENT was specified in the call to
rocm_install_targets
, that component is used instead of the above behaviour.
rocm_export_targets
:- All cmake files will be installed to the devel package.
rocm_create_package
:- Package generation will be performed component-wise, and automatically include the devel component, even if the COMPONENTS argument was not provided.
- If provided with the
HEADER_ONLY
option (accepting no arguments), then only the devel package will be generated. The devel package will also have the "Provides" field populated with the name/version of the runtime package for backwards compatibility. This provides field is introduced as a deprecated feature, and will be removed in a future release.
- Corrects semantic versioning to SameMajorVersion compatibility (e.g. 0.6 is compatible if 0.5 is requested).
- Moved ROCMConfigVersion.cmake file to share/rocm/cmake directory for better compatibility with automatic installation.
- Correct CHANGELOG.md formatting
- Add ROCMConfigVersion.cmake file so cmake can check the version
- Switched to semantic versioning
- Change Log added and version number incremented
Pre Change Log versions