Skip to content

Commit c849d9d

Browse files
committed
add opencv as external dependency to mitk diffusion
1 parent 7c84e88 commit c849d9d

File tree

4 files changed

+99
-1
lines changed

4 files changed

+99
-1
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
include(${CMAKE_CURRENT_LIST_DIR}/DiffusionAll.cmake)
1+
include(${CMAKE_CURRENT_LIST_DIR}/DiffusionDebug.cmake)
22
include(${CMAKE_CURRENT_LIST_DIR}/set_release.txt)
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
foreach(opencv_module ${OpenCV_REQUIRED_COMPONENTS_BY_MODULE})
2+
if(NOT opencv_module MATCHES "^opencv_")
3+
set(opencv_module "opencv_${opencv_module}")
4+
endif()
5+
list(APPEND _opencv_required_components_by_module ${opencv_module})
6+
endforeach()
7+
8+
find_package(OpenCV COMPONENTS ${_opencv_required_components_by_module} REQUIRED)
9+
10+
foreach(opencv_module ${_opencv_required_components_by_module})
11+
list(APPEND ALL_LIBRARIES ${opencv_module})
12+
endforeach()
13+
14+
if(WIN32)
15+
if (EXISTS ${OpenCV_LIB_PATH})
16+
list(APPEND opencv_path "${OpenCV_LIB_PATH}/../bin") # OpenCV is built in superbuild
17+
else()
18+
list(APPEND opencv_path "${OpenCV_DIR}/bin") # External OpenCV build is used
19+
endif()
20+
21+
get_property(library_search_paths GLOBAL PROPERTY MITK_ADDITIONAL_LIBRARY_SEARCH_PATHS)
22+
23+
if(NOT opencv_path IN_LIST library_search_paths)
24+
set_property(GLOBAL APPEND PROPERTY MITK_ADDITIONAL_LIBRARY_SEARCH_PATHS "${opencv_path}")
25+
endif()
26+
endif()
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
mitkFunctionAddExternalProject(NAME OpenCV ON)

CMakeExternals/OpenCV.cmake

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
#-----------------------------------------------------------------------------
2+
# OpenCV
3+
#-----------------------------------------------------------------------------
4+
if(MITK_USE_OpenCV)
5+
6+
# Sanity checks
7+
if(DEFINED OpenCV_DIR AND NOT EXISTS ${OpenCV_DIR})
8+
message(FATAL_ERROR "OpenCV_DIR variable is defined but corresponds to non-existing directory")
9+
endif()
10+
11+
set(proj OpenCV)
12+
set(proj_DEPENDENCIES)
13+
set(OpenCV_DEPENDS ${proj})
14+
15+
if(NOT DEFINED OpenCV_DIR)
16+
17+
set(additional_cmake_args)
18+
19+
if(CTEST_USE_LAUNCHERS)
20+
list(APPEND additional_cmake_args
21+
"-DCMAKE_PROJECT_${proj}_INCLUDE:FILEPATH=${CMAKE_ROOT}/Modules/CTestUseLaunchers.cmake"
22+
)
23+
endif()
24+
25+
mitk_query_custom_ep_vars()
26+
27+
ExternalProject_Add(${proj}
28+
GIT_REPOSITORY https://github.com/opencv/opencv.git
29+
GIT_TAG dad8af6b17f8e60d7b95a1203a1b4d22f56574cf # 4.9.0 (2023-12-27)
30+
LIST_SEPARATOR ${sep}
31+
CMAKE_GENERATOR ${gen}
32+
CMAKE_GENERATOR_PLATFORM ${gen_platform}
33+
CMAKE_ARGS
34+
${ep_common_args}
35+
-DBUILD_JAVA:BOOL=OFF
36+
-DBUILD_opencv_ts:BOOL=OFF
37+
-DBUILD_PERF_TESTS:BOOL=OFF
38+
-DBUILD_opencv_python3:BOOL=OFF
39+
-DBUILD_opencv_python_bindings_generator:BOOL=OFF
40+
-DBUILD_opencv_python_tests:BOOL=OFF
41+
-DWITH_QT:BOOL=OFF
42+
-DBUILD_TESTS:BOOL=OFF
43+
-DBUILD_DOCS:BOOL=OFF
44+
-DBUILD_EXAMPLES:BOOL=OFF
45+
-DOPENCV_PYTHON_SKIP_DETECTION:BOOL=ON
46+
-DWITH_CUDA:BOOL=OFF
47+
-DWITH_VTK:BOOL=OFF
48+
-DWITH_IPP:BOOL=OFF
49+
-DBUILD_IPP_IW:BOOL=OFF
50+
-DENABLE_PRECOMPILED_HEADERS:BOOL=OFF
51+
${additional_cmake_args}
52+
${${proj}_CUSTOM_CMAKE_ARGS}
53+
CMAKE_CACHE_ARGS
54+
${ep_common_cache_args}
55+
${${proj}_CUSTOM_CMAKE_CACHE_ARGS}
56+
CMAKE_CACHE_DEFAULT_ARGS
57+
${ep_common_cache_default_args}
58+
${${proj}_CUSTOM_CMAKE_CACHE_DEFAULT_ARGS}
59+
DEPENDS ${proj_DEPENDENCIES}
60+
)
61+
62+
set(OpenCV_DIR ${ep_prefix})
63+
mitkFunctionInstallExternalCMakeProject(${proj})
64+
65+
else()
66+
67+
mitkMacroEmptyExternalProject(${proj} "${proj_DEPENDENCIES}")
68+
69+
endif()
70+
71+
endif()

0 commit comments

Comments
 (0)