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]
这个提交包含在:
@@ -2,4 +2,5 @@ build/
|
||||
samples/*/build
|
||||
.vscode/
|
||||
doxygen_output*
|
||||
_doxygen/
|
||||
_doxygen/
|
||||
api/rocjpeg_version.h
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -26,7 +26,6 @@ THE SOFTWARE.
|
||||
|
||||
#pragma once
|
||||
#include "hip/hip_runtime.h"
|
||||
#include "rocjpeg_version.h"
|
||||
|
||||
/**
|
||||
* @file rocjpeg.h
|
||||
|
||||
@@ -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
|
||||
@@ -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")
|
||||
|
||||
@@ -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'
|
||||
]
|
||||
|
||||
|
||||
在新工单中引用
屏蔽一个用户