CMake Modules - Config Files and version (#128)

* Setup - remove pkg-config install

* CMake Modules

* Version - note

* Package - updates

* Version - file updates

* Version File - remove static version file

* GitIgnore - version file

* Version File - Updates

* CMake Config - Targets updates

[ROCm/rocjpeg commit: 2020d2cf8f]
Этот коммит содержится в:
Kiriti Gowda
2025-03-11 08:41:09 -07:00
коммит произвёл GitHub
родитель 3901d4d68e
Коммит 1229372a2a
7 изменённых файлов: 85 добавлений и 16 удалений
+2 -1
Просмотреть файл
@@ -2,4 +2,5 @@ build/
samples/*/build
.vscode/
doxygen_output*
_doxygen/
_doxygen/
api/rocjpeg_version.h
+2 -1
Просмотреть файл
@@ -3,9 +3,10 @@
Documentation for rocJPEG is available at
[https://rocm.docs.amd.com/projects/rocJPEG/en/latest/](https://rocm.docs.amd.com/projects/rocJPEG/en/latest/)
## (Unreleased) rocJPEG 0.10.1
## rocJPEG 0.11.0 for ROCm 6.5
## Added
* cmake config files
* CTEST - New tests were introduced for JPEG batch decoding using various output formats, such as yuv_planar, y, rgb, and rgb_planar, both with and without region-of-interest (ROI).
## Changed
+54 -3
Просмотреть файл
@@ -39,8 +39,10 @@ endif()
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED On)
# NOTE: Match version with api/rocjpeg_version.h
set(VERSION "0.10.1")
# rocJPEG Version
# NOTE: package version and rocjpeg_version.h is generated with this version
set(VERSION "0.11.0")
# Set Project Version and Language
project(rocjpeg VERSION ${VERSION} LANGUAGES CXX)
@@ -190,12 +192,18 @@ if(HIP_FOUND AND Libva_FOUND)
ROCJPEG_ROCP_REG_VERSION_PATCH=${VERSION_PATCH})
endif()
#Generate BUILD_INFO
configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/api/rocjpeg_version.h.in ${CMAKE_CURRENT_BINARY_DIR}/rocjpeg_version.h @ONLY )
install(TARGETS ${PROJECT_NAME} EXPORT rocjpeg-targets DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT dev)
# install rocJPEG libs -- {ROCM_PATH}/lib
install(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT runtime NAMELINK_SKIP)
install(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT dev NAMELINK_ONLY)
install(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT asan)
# install rocJPEG include files -- {ROCM_PATH}/include/rocJPEG
install(FILES api/rocjpeg.h api/rocjpeg_version.h
install(FILES api/rocjpeg.h
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME} COMPONENT dev)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/rocjpeg_version.h
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME} COMPONENT dev)
# install rocJPEG api trace include file -- {ROCM_PATH}/include/rocjpeg/amd_detail
install(FILES api/amd_detail/rocjpeg_api_trace.h
@@ -219,6 +227,49 @@ if(HIP_FOUND AND Libva_FOUND)
message("-- ${White}AMD ROCm rocJPEG -- CMAKE_CXX_FLAGS:${CMAKE_CXX_FLAGS}${ColourReset}")
message("-- ${White}AMD ROCm rocJPEG -- Link Libraries: ${LINK_LIBRARY_LIST}${ColourReset}")
## Cmake module config file configurations
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules/" CACHE INTERNAL "Default module path.")
## Export the package for use from the build-tree
## (this registers the build-tree with a global CMake-registry)
export(PACKAGE ${PROJECT_NAME})
set(CONF_LIB_DIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
## Create the rocjpeg-config.cmake and rocjpeg-config-version files
include(CMakePackageConfigHelpers)
set(CONFIG_PACKAGE_INSTALL_DIR ${CONF_LIB_DIR}/cmake/${PROJECT_NAME})
set(LIB_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}")
set(INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR}")
set(BIN_INSTALL_DIR "${CMAKE_INSTALL_BINDIR}")
## Generate Config File for rocJPEG
configure_package_config_file(
${CMAKE_MODULE_PATH}/${PROJECT_NAME}-config.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config.cmake
INSTALL_DESTINATION ${CONFIG_PACKAGE_INSTALL_DIR}
PATH_VARS LIB_INSTALL_DIR INCLUDE_INSTALL_DIR BIN_INSTALL_DIR
)
## Generate config Version File for rocJPEG
write_basic_package_version_file(
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake
VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}"
COMPATIBILITY SameMajorVersion
)
## Install the rocjpeg-config.cmake and rocjpeg-config-version.cmake
install(FILES
"${PROJECT_BINARY_DIR}/${PROJECT_NAME}-config.cmake"
"${PROJECT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake"
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}"
COMPONENT dev
)
## Install the export set for use with the install-tree
install(EXPORT rocjpeg-targets DESTINATION
"${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}" COMPONENT dev
)
# make test with CTest
enable_testing()
include(CTest)
-1
Просмотреть файл
@@ -26,7 +26,6 @@ THE SOFTWARE.
#pragma once
#include "hip/hip_runtime.h"
#include "rocjpeg_version.h"
/**
* @file rocjpeg.h
+8 -8
Просмотреть файл
@@ -20,8 +20,8 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
*/
#ifndef ROCJPEG_VERSION_H
#define ROCJPEG_VERSION_H
#ifndef _ROCJPEG_VERSION_H_
#define _ROCJPEG_VERSION_H_
/*!
* \file
@@ -32,11 +32,11 @@ THE SOFTWARE.
#ifdef __cplusplus
extern "C" {
#endif
#define ROCJPEG_MAJOR_VERSION 0
#define ROCJPEG_MINOR_VERSION 10
#define ROCJPEG_MICRO_VERSION 1
#endif /* __cplusplus */
#define ROCJPEG_MAJOR_VERSION @PROJECT_VERSION_MAJOR@
#define ROCJPEG_MINOR_VERSION @PROJECT_VERSION_MINOR@
#define ROCJPEG_MICRO_VERSION @PROJECT_VERSION_PATCH@
/**
* ROCJPEG_CHECK_VERSION:
@@ -53,7 +53,7 @@ extern "C" {
(ROCJPEG_MAJOR_VERSION == (major) && ROCJPEG_MINOR_VERSION == (minor) && ROCJPEG_MICRO_VERSION >= (micro)))
#ifdef __cplusplus
}
} // end extern "C" block
#endif
#endif
#endif //_ROCJPEG_VERSION_H_ header guard
+18
Просмотреть файл
@@ -0,0 +1,18 @@
# - Config file for the rocjpeg package
# It defines the following variables
# ROCJPEG_INCLUDE_DIR - include directories for rocjpeg
# ROCJPEG_LIB_DIR - libraries to link against
# ROCM_PATH - Install Base Location for ROCM.
@PACKAGE_INIT@
# Compute paths
set_and_check(rocjpeg_INCLUDE_DIR "@PACKAGE_INCLUDE_INSTALL_DIR@")
set_and_check(ROCJPEG_INCLUDE_DIR "@PACKAGE_INCLUDE_INSTALL_DIR@")
set_and_check(rocjpeg_LIB_DIR "@PACKAGE_LIB_INSTALL_DIR@")
set_and_check(ROCJPEG_LIB_DIR "@PACKAGE_LIB_INSTALL_DIR@")
set_and_check(ROCM_PATH "${PACKAGE_PREFIX_DIR}")
get_filename_component(ROCJPEG_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
include("${ROCJPEG_CMAKE_DIR}/rocjpeg-targets.cmake")
+1 -2
Просмотреть файл
@@ -29,7 +29,7 @@ else:
import subprocess
__copyright__ = "Copyright (c) 2024 - 2025, AMD ROCm rocJPEG"
__version__ = "2.3.0"
__version__ = "2.4.0"
__email__ = "mivisionx.support@amd.com"
__status__ = "Shipping"
@@ -154,7 +154,6 @@ if userName == 'root':
# source install - common package dependencies
commonPackages = [
'cmake',
'pkg-config',
'rocm-hip-runtime'
]