Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test - Upgrades and fixes #1383

Closed
wants to merge 14 commits into from
8 changes: 8 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -164,8 +164,16 @@ add_subdirectory(amd_openvx)
add_subdirectory(amd_openvx_extensions)
add_subdirectory(utilities)

# install tests
install(FILES tests/CMakeLists.txt DESTINATION ${CMAKE_INSTALL_DATADIR}/mivisionx/test COMPONENT test)
install(DIRECTORY cmake DESTINATION ${CMAKE_INSTALL_DATADIR}/mivisionx/test COMPONENT test)
install(DIRECTORY tests/openvx_api_tests DESTINATION ${CMAKE_INSTALL_DATADIR}/mivisionx/test COMPONENT test)
install(DIRECTORY tests/vision_tests DESTINATION ${CMAKE_INSTALL_DATADIR}/mivisionx/test COMPONENT test)

# CTests
enable_testing()
include(CTest)
option(BUILT_WITH_SOURCE "MIVisionX built with source" ON)
add_subdirectory(tests)

# set package information
Expand Down
2 changes: 1 addition & 1 deletion amd_openvx/openvx/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@ install(FILES
include/VX/vx_types.h
include/VX/vx_vendors.h
include/VX/vxu.h
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/mivisionx/VX COMPONENT dev)
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/mivisionx/VX COMPONENT dev)
# install MIVisionX apps & samples -- {ROCM_PATH}/share/mivisionx/
install(DIRECTORY ../../apps/bubble_pop DESTINATION ${CMAKE_INSTALL_DATADIR}/mivisionx/apps COMPONENT dev)
install(DIRECTORY ../../apps/optical_flow DESTINATION ${CMAKE_INSTALL_DATADIR}/mivisionx/apps COMPONENT dev)
Expand Down
7 changes: 4 additions & 3 deletions amd_openvx_extensions/amd_opencv/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ find_package(OpenCV QUIET)

include_directories(../../amd_openvx/openvx/include
include
)
)

list(APPEND SOURCES
source/internal_dataTranslator.cpp
Expand Down Expand Up @@ -102,9 +102,9 @@ if(${OpenCV_VERSION_MAJOR} EQUAL 3 OR ${OpenCV_VERSION_MAJOR} EQUAL 4)
include_directories(${OpenCV_INCLUDE_DIRS})
target_link_libraries(vx_opencv ${OpenCV_LIBRARIES})
if(${OpenCV_VERSION_MAJOR} EQUAL 4)
target_compile_definitions(vx_opencv PUBLIC USE_OPENCV_4=1)
target_compile_definitions(vx_opencv PUBLIC USE_OPENCV_4=1)
else()
target_compile_definitions(vx_opencv PUBLIC USE_OPENCV_4=0)
target_compile_definitions(vx_opencv PUBLIC USE_OPENCV_4=0)
endif()
else()
message(FATAL_ERROR "OpenCV -- Version-${OpenCV_VERSION_MAJOR}.${OpenCV_VERSION_MINOR}.X Not Supported")
Expand All @@ -120,6 +120,7 @@ install(TARGETS vx_opencv LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT
install(TARGETS vx_opencv LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT asan)
# install MIVisionX include files -- {ROCM_PATH}/include/mivisionx/
install(FILES include/vx_ext_opencv.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/mivisionx COMPONENT dev)
install(DIRECTORY ${CMAKE_SOURCE_DIR}/tests/amd_opencv_tests DESTINATION ${CMAKE_INSTALL_DATADIR}/mivisionx/test COMPONENT test)

if(WIN32)
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MT")
Expand Down
173 changes: 173 additions & 0 deletions cmake/FindMIVISIONX.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,173 @@
################################################################################
#
# MIT License
#
# Copyright (c) 2017 - 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.
#
################################################################################

# find OpenVX - Core MIVisionX library
find_path(OPENVX_INCLUDE_DIR NAMES VX/vx.h PATHS ${ROCM_PATH}/include/mivisionx)
find_library(OPENVX_LIBRARY NAMES openvx HINTS ${ROCM_PATH}/lib)
find_library(OPENVXU_LIBRARY NAMES vxu HINTS ${ROCM_PATH}/lib)
mark_as_advanced(OPENVX_INCLUDE_DIR)
mark_as_advanced(OPENVX_LIBRARY)
mark_as_advanced(OPENVXU_LIBRARY)

if(OPENVX_INCLUDE_DIR AND OPENVX_LIBRARY AND OPENVXU_LIBRARY)
if(MIVISIONX_FIND_REQUIRED)
message("-- ${White}FindMIVisionX: Using OpenVX -- \n\tIncludes:${OPENVX_INCLUDE_DIR}\n\tLib:${OPENVX_LIBRARY}${ColourReset}")
endif()
set(MIVISIONX_FOUND TRUE)
set(MIVISIONX_INCLUDE_DIR ${OPENVX_INCLUDE_DIR})
set(MIVISIONX_LIBRARIES ${OPENVX_LIBRARY} ${OPENVXU_LIBRARY})
else()
if(MIVISIONX_FIND_REQUIRED)
message(FATAL_ERROR "{Red}FindMIVisionX -- Failed to find OPENVX${ColourReset}")
endif()
message( "-- ${Yellow}NOTE: FindMIVisionX failed to find OpenVX -- Install MIVisionX${ColourReset}" )
endif()

# find vx_amd_media
find_path(VX_AMD_MEDIA_INCLUDE_DIR NAMES vx_amd_media.h PATHS ${ROCM_PATH}/include/mivisionx)
find_library(VX_AMD_MEDIA_LIBRARY NAMES vx_amd_media HINTS ${ROCM_PATH}/lib)
mark_as_advanced(VX_AMD_MEDIA_LIBRARY)
if(VX_AMD_MEDIA_INCLUDE_DIR AND VX_AMD_MEDIA_LIBRARY)
if(MIVISIONX_FIND_REQUIRED)
message("-- ${White}FindMIVisionX: Using VX_AMD_MEDIA -- \n\tLib:${VX_AMD_MEDIA_LIBRARY}${ColourReset}")
endif()
set(MIVISIONX_LIBRARIES ${MIVISIONX_LIBRARIES} ${VX_AMD_MEDIA_LIBRARY})
else()
message( "-- ${Yellow}NOTE: FindMIVisionX failed to find VX_AMD_MEDIA${ColourReset}" )
endif()

# find vx_nn
find_path(VX_NN_INCLUDE_DIR NAMES vx_amd_nn.h PATHS ${ROCM_PATH}/include/mivisionx)
find_library(VX_NN_LIBRARY NAMES vx_nn HINTS ${ROCM_PATH}/lib)
mark_as_advanced(VX_NN_LIBRARY)
if(VX_NN_INCLUDE_DIR AND VX_NN_LIBRARY)
if(MIVISIONX_FIND_REQUIRED)
message("-- ${White}FindMIVisionX: Using VX_NN -- \n\tLib:${VX_NN_LIBRARY}${ColourReset}")
endif()
set(MIVISIONX_LIBRARIES ${MIVISIONX_LIBRARIES} ${VX_NN_LIBRARY})
else()
message( "-- ${Yellow}NOTE: FindMIVisionX failed to find VX_NN${ColourReset}" )
endif()

# find vx_rpp
find_path(VX_RPP_INCLUDE_DIR NAMES vx_ext_rpp.h PATHS ${ROCM_PATH}/include/mivisionx)
find_library(VX_RPP_LIBRARY NAMES vx_rpp HINTS ${ROCM_PATH}/lib)
mark_as_advanced(VX_RPP_LIBRARY)
if(VX_RPP_INCLUDE_DIR AND VX_RPP_LIBRARY)
if(MIVISIONX_FIND_REQUIRED)
message("-- ${White}FindMIVisionX: Using VX_RPP -- \n\tLib:${VX_RPP_LIBRARY}${ColourReset}")
endif()
set(MIVISIONX_LIBRARIES ${MIVISIONX_LIBRARIES} ${VX_RPP_LIBRARY})
else()
message( "-- ${Yellow}NOTE: FindMIVisionX failed to find VX_RPP${ColourReset}" )
endif()

# find vx_opencv
find_path(VX_OPENCV_INCLUDE_DIR NAMES vx_ext_opencv.h PATHS ${ROCM_PATH}/include/mivisionx)
find_library(VX_OPENCV_LIBRARY NAMES vx_opencv HINTS ${ROCM_PATH}/lib)
mark_as_advanced(VX_OPENCV_LIBRARY)
if(VX_OPENCV_LIBRARY AND VX_OPENCV_INCLUDE_DIR)
if(MIVISIONX_FIND_REQUIRED)
message("-- ${White}FindMIVisionX: Using VX_OPENCV -- \n\tLib:${VX_OPENCV_LIBRARY}${ColourReset}")
endif()
set(MIVISIONX_LIBRARIES ${MIVISIONX_LIBRARIES} ${VX_OPENCV_LIBRARY})
else()
message( "-- ${Yellow}NOTE: FindMIVisionX failed to find VX_OPENCV${ColourReset}" )
endif()

# find vx_amd_migraphx
find_path(VX_AMD_MIGRAPHX_INCLUDE_DIR NAMES vx_amd_migraphx.h PATHS ${ROCM_PATH}/include/mivisionx)
find_library(VX_AMD_MIGRAPHX_LIBRARY NAMES vx_amd_migraphx HINTS ${ROCM_PATH}/lib)
mark_as_advanced(VX_AMD_MIGRAPHX_LIBRARY)
if(VX_AMD_MIGRAPHX_LIBRARY AND VX_AMD_MIGRAPHX_INCLUDE_DIR)
if(MIVISIONX_FIND_REQUIRED)
message("-- ${White}FindMIVisionX: Using VX_AMD_MIGRAPHX -- \n\tLib:${VX_AMD_MIGRAPHX_LIBRARY}${ColourReset}")
endif()
set(MIVISIONX_LIBRARIES ${MIVISIONX_LIBRARIES} ${VX_AMD_MIGRAPHX_LIBRARY})
else()
message( "-- ${Yellow}NOTE: FindMIVisionX failed to find VX_AMD_MIGRAPHX${ColourReset}" )
endif()

# find backend
if(MIVISIONX_FOUND)
if (EXISTS "${MIVISIONX_INCLUDE_DIR}/openvx_backend.h")
file(READ "${MIVISIONX_INCLUDE_DIR}/openvx_backend.h" MIVISIONX_BACKEND_FILE)
string(REGEX MATCH "ENABLE_OPENCL ([0-9]*)" _ ${MIVISIONX_BACKEND_FILE})
set(MIVISIONX_OPENCL_BACKEND ${CMAKE_MATCH_1} CACHE INTERNAL "")
string(REGEX MATCH "ENABLE_HIP ([0-9]*)" _ ${RPP_VERSION_FILE})
set(MIVISIONX_HIP_BACKEND ${CMAKE_MATCH_1} CACHE INTERNAL "")
endif()
if(MIVISIONX_HIP_BACKEND)
set(MIVISIONX_BACKEND "HIP")
elseif()(MIVISIONX_OPENCL_BACKEND)
set(MIVISIONX_BACKEND "OPENCL")
else()
set(MIVISIONX_BACKEND "CPU")
endif()
if(MIVISIONX_FIND_REQUIRED)
message("-- ${White}FindMIVisionX: MIVISIONX_BACKEND -- ${MIVISIONX_BACKEND}${ColourReset}")
endif()
endif()

include(FindPackageHandleStandardArgs)

find_package_handle_standard_args( MIVISIONX
FOUND_VAR MIVISIONX_FOUND
REQUIRED_VARS
OPENVX_INCLUDE_DIR
OPENVX_LIBRARY
VX_AMD_MEDIA_LIBRARY
VX_NN_LIBRARY
VX_RPP_LIBRARY
VX_OPENCV_LIBRARY
VX_AMD_MIGRAPHX_LIBRARY
MIVISIONX_INCLUDE_DIR
MIVISIONX_LIBRARIES
MIVISIONX_BACKEND
)

set(MIVISIONX_FOUND ${MIVISIONX_FOUND} CACHE INTERNAL "")
set(OPENVX_INCLUDE_DIR ${OPENVX_INCLUDE_DIR} CACHE INTERNAL "")
set(OPENVX_LIBRARIES ${OPENVX_LIBRARIES} CACHE INTERNAL "")
set(VX_AMD_MEDIA_LIBRARY ${VX_AMD_MEDIA_LIBRARY} CACHE INTERNAL "")
set(VX_NN_LIBRARY ${VXRPP_LIBVX_NN_LIBRARYRARIES} CACHE INTERNAL "")
set(VX_RPP_LIBRARY ${VX_RPP_LIBRARY} CACHE INTERNAL "")
set(VX_OPENCV_LIBRARY ${VX_OPENCV_LIBRARY} CACHE INTERNAL "")
set(VX_AMD_MIGRAPHX_LIBRARY ${VX_AMD_MIGRAPHX_LIBRARY} CACHE INTERNAL "")
set(MIVISIONX_INCLUDE_DIR ${MIVISIONX_INCLUDE_DIR} CACHE INTERNAL "")
set(MIVISIONX_LIBRARIES ${MIVISIONX_LIBRARIES} CACHE INTERNAL "")
set(MIVISIONX_BACKEND ${MIVISIONX_BACKEND} CACHE INTERNAL "")

if(MIVISIONX_FOUND)
if(MIVISIONX_FIND_REQUIRED)
message("-- ${White}Using MIVISIONX -- \n\tMIVisionX Libraries:${MIVISIONX_LIBRARIES} \n\ttMIVisionX Includes:${MIVISIONX_INCLUDE_DIRS}${ColourReset}")
endif()
else()
if(MIVISIONX_FIND_REQUIRED)
message(FATAL_ERROR "{Red}FindMIVISIONX -- NOT FOUND${ColourReset}")
endif()
message( "-- ${Yellow}NOTE: FindMIVISIONX failed to find -- openvx${ColourReset}" )
endif()
92 changes: 0 additions & 92 deletions cmake/FindMIVisionX.cmake

This file was deleted.

Loading
Loading