diff --git a/projects/rocjpeg/CMakeLists.txt b/projects/rocjpeg/CMakeLists.txt index ca1107c16b..cc164173bb 100644 --- a/projects/rocjpeg/CMakeLists.txt +++ b/projects/rocjpeg/CMakeLists.txt @@ -82,7 +82,7 @@ message("-- ${BoldBlue}rocJPEG Version -- ${VERSION}${ColourReset}") message("-- ${BoldBlue}rocJPEG Install Path -- ${CMAKE_INSTALL_PREFIX}${ColourReset}") list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) -list(APPEND CMAKE_PREFIX_PATH ${ROCM_PATH} ${ROCM_PATH}/hip) +list(APPEND CMAKE_PREFIX_PATH ${ROCM_PATH}/lib/cmake) # rocJPEG Default Options option(BUILD_WITH_AMD_ADVANCE "Build rocJPEG for advanced AMD GPU Architecture" OFF) @@ -201,7 +201,7 @@ if(HIP_FOUND AND Libva_FOUND) 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 + install(FILES api/rocjpeg/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) @@ -210,13 +210,11 @@ if(HIP_FOUND AND Libva_FOUND) DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}/amd_detail COMPONENT dev) # install rocJPEG samples -- {ROCM_PATH}/share/rocJPEG - install(DIRECTORY cmake DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME} COMPONENT dev) - install(FILES samples/jpegDecode/CMakeLists.txt samples/jpegDecode/jpegdecode.cpp samples/jpegDecode/README.md DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/samples/jpegDecode COMPONENT dev) install(FILES samples/jpegDecodePerf/CMakeLists.txt samples/jpegDecodePerf/jpegdecodeperf.cpp samples/jpegDecodePerf/README.md DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/samples/jpegDecodePerf COMPONENT dev) install(FILES samples/jpegDecodeBatched/CMakeLists.txt samples/jpegDecodeBatched/jpegdecodebatched.cpp samples/jpegDecodeBatched/README.md DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/samples/jpegDecodeBatched COMPONENT dev) install(FILES samples/rocjpeg_samples_utils.h DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/samples COMPONENT dev) - install(DIRECTORY data/images DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/ COMPONENT dev) + install(DIRECTORY data/images DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME} COMPONENT dev) # install license information - {ROCM_PATH}/share/doc/rocJPEG set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE") install(FILES ${CPACK_RESOURCE_FILE_LICENSE} DESTINATION ${CMAKE_INSTALL_DOCDIR} COMPONENT runtime) diff --git a/projects/rocjpeg/api/amd_detail/rocjpeg_api_trace.h b/projects/rocjpeg/api/amd_detail/rocjpeg_api_trace.h index 567c9954a2..49d68fc2d0 100644 --- a/projects/rocjpeg/api/amd_detail/rocjpeg_api_trace.h +++ b/projects/rocjpeg/api/amd_detail/rocjpeg_api_trace.h @@ -21,7 +21,7 @@ THE SOFTWARE. */ #pragma once -#include "rocjpeg.h" +#include "rocjpeg/rocjpeg.h" // Define version macros for the rocJPEG API dispatch table, specifying the MAJOR and STEP versions. // diff --git a/projects/rocjpeg/api/rocjpeg.h b/projects/rocjpeg/api/rocjpeg/rocjpeg.h similarity index 100% rename from projects/rocjpeg/api/rocjpeg.h rename to projects/rocjpeg/api/rocjpeg/rocjpeg.h diff --git a/projects/rocjpeg/cmake/FindrocJPEG.cmake b/projects/rocjpeg/cmake/FindrocJPEG.cmake deleted file mode 100644 index fd5ce68d0d..0000000000 --- a/projects/rocjpeg/cmake/FindrocJPEG.cmake +++ /dev/null @@ -1,77 +0,0 @@ -################################################################################ -# Copyright (c) 2024 Advanced Micro Devices, Inc. -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. -# -################################################################################ - -# ROCM Path -if(ROCM_PATH) - message("-- ${White}FindrocJPEG: ROCM_PATH Set -- ${ROCM_PATH}${ColourReset}") -else() - set(ROCM_PATH /opt/rocm CACHE PATH "Default ROCm installation path") -endif() - -# find rocJPEG - library and headers -find_path(ROCJPEG_INCLUDE_DIR NAMES rocjpeg.h PATHS ${ROCM_PATH}/include/rocjpeg) -find_library(ROCJPEG_LIBRARY NAMES rocjpeg HINTS ${ROCM_PATH}/lib) -mark_as_advanced(ROCJPEG_INCLUDE_DIR) -mark_as_advanced(ROCJPEG_LIBRARY) - -if(ROCJPEG_INCLUDE_DIR AND ROCJPEG_LIBRARY) - message("-- ${White}FindrocJPEG -- Using rocJPEG: \n\tIncludes:${ROCJPEG_INCLUDE_DIR}\n\tLib:${ROCJPEG_LIBRARY}${ColourReset}") - set(ROCJPEG_FOUND TRUE) -else() - if(rocJPEG_FIND_REQUIRED) - message(FATAL_ERROR "FindrocJPEG -- Failed to find rocJPEG Library") - endif() - message( "-- ${Yellow}NOTE: FindrocJPEG failed to find rocJPEG -- INSTALL rocJPEG${ColourReset}" ) -endif() - -if(ROCJPEG_FOUND) - # Find rocJPEG Version - file(READ "${ROCJPEG_INCLUDE_DIR}/rocjpeg_version.h" ROCJPEG_VERSION_FILE) - string(REGEX MATCH "ROCJPEG_MAJOR_VERSION ([0-9]*)" _ ${ROCJPEG_VERSION_FILE}) - set(ROCJPEG_VER_MAJOR ${CMAKE_MATCH_1}) - string(REGEX MATCH "ROCJPEG_MINOR_VERSION ([0-9]*)" _ ${ROCJPEG_VERSION_FILE}) - set(ROCJPEG_VER_MINOR ${CMAKE_MATCH_1}) - string(REGEX MATCH "ROCJPEG_MICRO_VERSION ([0-9]*)" _ ${ROCJPEG_VERSION_FILE}) - set(ROCJPEG_VER_MICRO ${CMAKE_MATCH_1}) - message("-- ${White}Found rocJPEG Version: ${ROCJPEG_VER_MAJOR}.${ROCJPEG_VER_MINOR}.${ROCJPEG_VER_MICRO}${ColourReset}") - mark_as_advanced(ROCJPEG_VER_MAJOR) - mark_as_advanced(ROCJPEG_VER_MINOR) - mark_as_advanced(ROCJPEG_VER_MICRO) -endif() - -include(FindPackageHandleStandardArgs) -find_package_handle_standard_args( - rocJPEG - FOUND_VAR - ROCJPEG_FOUND - REQUIRED_VARS - ROCJPEG_INCLUDE_DIR - ROCJPEG_LIBRARY -) - -set(ROCJPEG_FOUND ${ROCJPEG_FOUND} CACHE INTERNAL "") -set(ROCJPEG_INCLUDE_DIR ${ROCJPEG_INCLUDE_DIR} CACHE INTERNAL "") -set(ROCJPEG_LIBRARY ${ROCJPEG_LIBRARY} CACHE INTERNAL "") -set(ROCJPEG_VER_MAJOR ${ROCJPEG_VER_MAJOR} CACHE INTERNAL "") -set(ROCJPEG_VER_MINOR ${ROCJPEG_VER_MINOR} CACHE INTERNAL "") -set(ROCJPEG_VER_MICRO ${ROCJPEG_VER_MICRO} CACHE INTERNAL "") diff --git a/projects/rocjpeg/cmake_modules/rocjpeg-config.cmake.in b/projects/rocjpeg/cmake_modules/rocjpeg-config.cmake.in index 901bad9689..dd5ed227fe 100644 --- a/projects/rocjpeg/cmake_modules/rocjpeg-config.cmake.in +++ b/projects/rocjpeg/cmake_modules/rocjpeg-config.cmake.in @@ -1,17 +1,22 @@ # - 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. +# ROCJPEG_INCLUDE_DIR - include directory for rocjpeg +# ROCJPEG_LIB_DIR - library directory for rocjpeg +# ROCJPEG_LIBRARY - library to link against @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_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}") +set_and_check(rocJPEG_LIB_DIR "@PACKAGE_LIB_INSTALL_DIR@") +set_and_check(rocjpeg_LIBRARY "@PACKAGE_LIB_INSTALL_DIR@/librocjpeg.so") +set_and_check(ROCJPEG_LIBRARY "@PACKAGE_LIB_INSTALL_DIR@/librocjpeg.so") +set_and_check(rocJPEG_LIBRARY "@PACKAGE_LIB_INSTALL_DIR@/librocjpeg.so") + get_filename_component(ROCJPEG_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) include("${ROCJPEG_CMAKE_DIR}/rocjpeg-targets.cmake") diff --git a/projects/rocjpeg/docs/doxygen/Doxyfile b/projects/rocjpeg/docs/doxygen/Doxyfile index 97a100a7a9..2a8d0bd379 100644 --- a/projects/rocjpeg/docs/doxygen/Doxyfile +++ b/projects/rocjpeg/docs/doxygen/Doxyfile @@ -830,7 +830,7 @@ WARN_LOGFILE = # Note: If this tag is empty the current directory is searched. INPUT = ../reference/index.md \ - ../../api/rocjpeg.h + ../../api/rocjpeg/rocjpeg.h # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses diff --git a/projects/rocjpeg/samples/jpegDecode/CMakeLists.txt b/projects/rocjpeg/samples/jpegDecode/CMakeLists.txt index 4e129c5557..dda66d53f5 100644 --- a/projects/rocjpeg/samples/jpegDecode/CMakeLists.txt +++ b/projects/rocjpeg/samples/jpegDecode/CMakeLists.txt @@ -41,11 +41,10 @@ project(jpegdecode) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED On) -list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/../../cmake) -list(APPEND CMAKE_PREFIX_PATH ${ROCM_PATH}/hip ${ROCM_PATH}) +list(APPEND CMAKE_PREFIX_PATH ${ROCM_PATH}/lib/cmake) find_package(HIP QUIET) -find_package(rocJPEG QUIET) +find_package(ROCJPEG QUIET) find_package(rocprofiler-register QUIET) if(HIP_FOUND AND ROCJPEG_FOUND AND rocprofiler-register_FOUND) diff --git a/projects/rocjpeg/samples/jpegDecodeBatched/CMakeLists.txt b/projects/rocjpeg/samples/jpegDecodeBatched/CMakeLists.txt index f14bb1317c..690d580311 100644 --- a/projects/rocjpeg/samples/jpegDecodeBatched/CMakeLists.txt +++ b/projects/rocjpeg/samples/jpegDecodeBatched/CMakeLists.txt @@ -41,11 +41,10 @@ project(jpegdecodebatched) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED On) -list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/../../cmake) -list(APPEND CMAKE_PREFIX_PATH ${ROCM_PATH}/hip ${ROCM_PATH}) +list(APPEND CMAKE_PREFIX_PATH ${ROCM_PATH}/lib/cmake) find_package(HIP QUIET) -find_package(rocJPEG QUIET) +find_package(ROCJPEG QUIET) find_package(rocprofiler-register QUIET) if(HIP_FOUND AND ROCJPEG_FOUND AND rocprofiler-register_FOUND) diff --git a/projects/rocjpeg/samples/jpegDecodePerf/CMakeLists.txt b/projects/rocjpeg/samples/jpegDecodePerf/CMakeLists.txt index e61802aedc..d8dcf12edf 100644 --- a/projects/rocjpeg/samples/jpegDecodePerf/CMakeLists.txt +++ b/projects/rocjpeg/samples/jpegDecodePerf/CMakeLists.txt @@ -41,11 +41,10 @@ project(jpegdecodeperf) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED On) -list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/../../cmake) -list(APPEND CMAKE_PREFIX_PATH ${ROCM_PATH}/hip ${ROCM_PATH}) +list(APPEND CMAKE_PREFIX_PATH ${ROCM_PATH}/lib/cmake) find_package(HIP QUIET) -find_package(rocJPEG QUIET) +find_package(ROCJPEG QUIET) find_package(rocprofiler-register QUIET) # threads diff --git a/projects/rocjpeg/samples/rocjpeg_samples_utils.h b/projects/rocjpeg/samples/rocjpeg_samples_utils.h index c0737b20e3..3975ec62f2 100644 --- a/projects/rocjpeg/samples/rocjpeg_samples_utils.h +++ b/projects/rocjpeg/samples/rocjpeg_samples_utils.h @@ -42,7 +42,7 @@ THE SOFTWARE. namespace fs = std::experimental::filesystem; #endif #include -#include "rocjpeg.h" +#include "rocjpeg/rocjpeg.h" #define CHECK_ROCJPEG(call) { \ RocJpegStatus rocjpeg_status = (call); \ diff --git a/projects/rocjpeg/src/rocjpeg_decoder.h b/projects/rocjpeg/src/rocjpeg_decoder.h index 92748ca58f..09daf8f02a 100644 --- a/projects/rocjpeg/src/rocjpeg_decoder.h +++ b/projects/rocjpeg/src/rocjpeg_decoder.h @@ -27,7 +27,7 @@ THE SOFTWARE. #include #include #include -#include "../api/rocjpeg.h" +#include "../api/rocjpeg/rocjpeg.h" #include "rocjpeg_api_stream_handle.h" #include "rocjpeg_parser.h" #include "rocjpeg_commons.h" diff --git a/projects/rocjpeg/src/rocjpeg_vaapi_decoder.h b/projects/rocjpeg/src/rocjpeg_vaapi_decoder.h index 030f1cc86e..9751fda82b 100644 --- a/projects/rocjpeg/src/rocjpeg_vaapi_decoder.h +++ b/projects/rocjpeg/src/rocjpeg_vaapi_decoder.h @@ -43,7 +43,7 @@ THE SOFTWARE. #include #include "rocjpeg_commons.h" #include "rocjpeg_parser.h" -#include "../api/rocjpeg.h" +#include "../api/rocjpeg/rocjpeg.h" /** * @brief Enumeration representing the compute partition for the MI300+ family of GPUs. diff --git a/projects/rocjpeg/test/CMakeLists.txt b/projects/rocjpeg/test/CMakeLists.txt index 279de73885..c65005b977 100644 --- a/projects/rocjpeg/test/CMakeLists.txt +++ b/projects/rocjpeg/test/CMakeLists.txt @@ -47,21 +47,32 @@ endif() set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED On) -project(ROCJPEG-test) +project(rocjpeg-test) # make test with CTest enable_testing() include(CTest) -# add find modules -list(APPEND CMAKE_MODULE_PATH ${ROCM_PATH}/share/rocjpeg/cmake) +# add ROCm find Config location +list(APPEND CMAKE_PREFIX_PATH ${ROCM_PATH}/lib/cmake) # find rocDecode -find_package(rocJPEG QUIET) +find_package(ROCJPEG QUIET) + +if(ROCJPEG_FOUND) + message("-- ${White}${PROJECT_NAME}: rocJPEG found with find_package(ROCJPEG QUIET)${ColourReset}") + message("-- \t${White}ROCJPEG_INCLUDE_DIR -- ${ROCJPEG_INCLUDE_DIR}${ColourReset}") + message("-- \t${White}ROCJPEG_LIB_DIR -- ${ROCJPEG_LIB_DIR}${ColourReset}") + message("-- \t${White}ROCJPEG_LIBRARY -- ${ROCJPEG_LIBRARY}${ColourReset}") + message("-- \t${White}ROCJPEG_FOUND -- ${ROCJPEG_FOUND}${ColourReset}") + message("-- \t${White}ROCJPEG_VERSION -- ${ROCJPEG_VERSION}${ColourReset}") + message("-- \t${White}ROCJPEG_VERSION_MAJOR -- ${ROCJPEG_VERSION_MAJOR}${ColourReset}") + message("-- \t${White}ROCJPEG_VERSION_MINOR -- ${ROCJPEG_VERSION_MINOR}${ColourReset}") + message("-- \t${White}ROCJPEG_VERSION_PATCH -- ${ROCJPEG_VERSION_PATCH}${ColourReset}") +else() + message("-- ${Yellow}${PROJECT_NAME} requires rocJPEG. Install rocJPEG before running CTests") +endif(ROCJPEG_FOUND) -if(NOT ROCJPEG_FOUND) - message("-- ${Yellow}${PROJECT_NAME} requires rocJPEG. Install rocJPEG before running CTests") -endif() add_test( NAME