- 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_GENERATORis 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.
- ROCMHeaderWrapper: The wrapper header deprecation message is now a deprecation warning.
- ROCMInstallTargets: Added compatibility symlinks for included cmake files in
<ROCM>/lib/cmake/<PACKAGE>.
- ROCMCreatePackage: Fixed error in prerm scripts that could break package upgrades when using the
PTHoption. - 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.
ROCM_USE_DEV_COMPONENTset 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_LIBDIRtolibif not otherwise specified. - Changed default Debian compression type to xz and enabled multi-threaded package compression.
rocm_create_packagewill no longer warn upon failure to determine version of program rpmbuild.
- Fixed error in prerm scripts created by
rocm_create_packagethat could break uninstall for packages using thePTHoption.
- 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_WARNINGbefore including the wrapper header.
- Fixed spurious failures in
rocm_check_target_idsfor target ids with target features when-Werroris enabled. TheHAVE_<target-id>result variable has been renamed toCOMPILER_HAS_TARGET_ID_<sanitized-target-id>.
rocm_create_packagenow will attempt to set a defaultCPACK_GENERATORbased on theROCM_PKGTYPEenvironment variable if one is not already set.
CLANG_TIDY_USE_COLORvariable added to control the color output fromclang-tidy, by default this isOn.- If
CPACK_RESOURCE_FILE_LICENSEis not set,rocm_create_packagewill 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_componentsets up a component for packaging, with the given name and values for the component and associated package.- The variable
ROCM_PACKAGE_COMPONENTSstores a list of the components which have been set up withrocm_package_setup_component.
- The variable
-
rocm_package_add_rpm_dependenciesadds 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_dependenciesadds 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_dependenciesis a convenience wrapper which calls bothrocm_add_rpm_dependenciesandrocm_add_deb_dependenciesto add any number of dependencies to both packages for an optional specified component.
-
- Client packaging functions:
rocm_package_setup_client_componentis 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_setjoins 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_versionchecks 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>_VERSIONif not specified.
- If
ROCM_PACKAGE_COMPONENTSis set (either manually or byrocm_package_setup_component), then the components listed inROCM_PACKAGE_COMPONENTSwill be built as separate packages. rocm_read_os_releaseandrocm_set_os_idmoved to the utilities file. As this file is included inROCMCreatePackage.cmake, this change is backwards compatible.rocm_install_symlink_subdirnow accepts aCOMPONENTargument, 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_ROCMCOREis 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-cmakeused 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:
ROCMDocsROCMDoxygenDocROCMSphinxDoc
ADDONSflag added torocm_enable_cppcheckin order to run with addons- The cache variable
ROCM_USE_DEV_COMPONENTmay be set toOFFto build with legacy behaviour.- On Windows, this variable defaults to
OFF.
- On Windows, this variable defaults to
rocm_install_targetscan now install to a specific component using COMPONENT argument.rocm_installis a wrapper oninstall:- If the installation mode is TARGETS, call
rocm_install_targetswith the same arguments. - If
ROCM_USE_DEV_COMPONENTisOFFor COMPONENT is specified, callinstallwith the same arguments. - Otherwise, insert the correct arguments to install everything except libraries to the
develpackage, and install libraries to the base package with namelinks in thedevelpackage.
- If the installation mode is TARGETS, call
- If
ROCM_USE_DEV_COMPONENTisON: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_ONLYoption (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