mirror of
https://github.com/opencv/opencv.git
synced 2024-12-03 00:10:21 +08:00
6cf0910842
* cmake: Fix DirectX detection in mingw The pragma comment directive is valid for MSVC only. So, the DirectX detection fails in mingw. The failure is fixed by adding the required linking library (here d3d11) in the try_compile() function in OpenCVDetectDirectX.cmake file. Also add a message if the first DirectX check fails. * gapi: Fix compilation with mingw These changes remove MSVC specific pragma directive. The compilation fails at linking time due to absence of proper linking library. The required libraries are added in corresponding CMakeLists.txt file. * samples: Fix compilation with mingw These changes remove MSVC specific pragma directive. The compilation fails at linking time due to absence of proper linking library. The required libraries are added in corresponding CMakeLists.txt file.
35 lines
1.2 KiB
CMake
35 lines
1.2 KiB
CMake
ocv_install_example_src(directx *.cpp *.hpp CMakeLists.txt)
|
|
|
|
set(OPENCV_DIRECTX_SAMPLES_REQUIRED_DEPS
|
|
opencv_core
|
|
opencv_imgproc
|
|
opencv_imgcodecs
|
|
opencv_videoio
|
|
opencv_highgui)
|
|
ocv_check_dependencies(${OPENCV_DIRECTX_SAMPLES_REQUIRED_DEPS})
|
|
|
|
if(NOT BUILD_EXAMPLES OR NOT OCV_DEPENDENCIES_FOUND)
|
|
return()
|
|
endif()
|
|
|
|
project("directx_samples")
|
|
ocv_include_modules_recurse(${tgt} ${OPENCV_DIRECTX_SAMPLES_REQUIRED_DEPS})
|
|
file(GLOB all_samples RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.cpp)
|
|
foreach(sample_filename ${all_samples})
|
|
ocv_define_sample(tgt ${sample_filename} directx)
|
|
ocv_target_link_libraries(${tgt} PRIVATE ${OPENCV_LINKER_LIBS} ${OPENCV_DIRECTX_SAMPLES_REQUIRED_DEPS})
|
|
ocv_target_link_libraries(${tgt} PRIVATE "gdi32")
|
|
if(sample_filename STREQUAL "d3d9_interop.cpp")
|
|
ocv_target_link_libraries(${tgt} PRIVATE d3d9)
|
|
endif()
|
|
if(sample_filename STREQUAL "d3d9ex_interop.cpp")
|
|
ocv_target_link_libraries(${tgt} PRIVATE d3d9)
|
|
endif()
|
|
if(sample_filename STREQUAL "d3d10_interop.cpp")
|
|
ocv_target_link_libraries(${tgt} PRIVATE d3d10)
|
|
endif()
|
|
if(sample_filename STREQUAL "d3d11_interop.cpp")
|
|
ocv_target_link_libraries(${tgt} PRIVATE d3d11)
|
|
endif()
|
|
endforeach()
|