Skip to content

Commit a212026

Browse files
committed
Merge pull request opencv#9415 from alalek:cmake_deprecated_policies
2 parents 3b38eea + 8c84763 commit a212026

18 files changed

+194
-143
lines changed

CMakeLists.txt

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -77,29 +77,16 @@ if(WINRT)
7777
endif()
7878
endif()
7979

80-
if(POLICY CMP0020)
81-
cmake_policy(SET CMP0020 OLD)
82-
endif()
83-
84-
if(POLICY CMP0022)
85-
cmake_policy(SET CMP0022 OLD)
86-
endif()
87-
88-
if(POLICY CMP0023)
89-
cmake_policy(SET CMP0023 NEW)
90-
endif()
91-
9280
if(POLICY CMP0026)
93-
# silence cmake 3.0+ warnings about reading LOCATION attribute
94-
cmake_policy(SET CMP0026 OLD)
81+
cmake_policy(SET CMP0026 NEW)
9582
endif()
9683

9784
if(POLICY CMP0042)
9885
cmake_policy(SET CMP0042 NEW)
9986
endif()
10087

10188
if(POLICY CMP0046)
102-
cmake_policy(SET CMP0046 OLD)
89+
cmake_policy(SET CMP0046 NEW)
10390
endif()
10491

10592
if(POLICY CMP0051)
@@ -1380,7 +1367,7 @@ if(HAVE_OPENCL)
13801367
set(__libs "")
13811368
foreach(l ${OPENCL_LIBRARIES})
13821369
if(TARGET ${l})
1383-
get_target_property(p ${l} LOCATION)
1370+
get_target_property(p ${l} IMPORTED_LOCATION)
13841371
if(p MATCHES NOTFOUND)
13851372
list(APPEND __libs "${l}")
13861373
else()

cmake/FindCUDA.cmake

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1556,7 +1556,7 @@ macro(CUDA_ADD_LIBRARY cuda_target)
15561556
# variable will have been defined.
15571557
CUDA_LINK_SEPARABLE_COMPILATION_OBJECTS("${link_file}" ${cuda_target} "${_options}" "${${cuda_target}_SEPARABLE_COMPILATION_OBJECTS}")
15581558

1559-
target_link_libraries(${cuda_target}
1559+
target_link_libraries(${cuda_target} LINK_PRIVATE
15601560
${CUDA_LIBRARIES}
15611561
)
15621562

@@ -1600,7 +1600,7 @@ macro(CUDA_ADD_EXECUTABLE cuda_target)
16001600
# variable will have been defined.
16011601
CUDA_LINK_SEPARABLE_COMPILATION_OBJECTS("${link_file}" ${cuda_target} "${_options}" "${${cuda_target}_SEPARABLE_COMPILATION_OBJECTS}")
16021602

1603-
target_link_libraries(${cuda_target}
1603+
target_link_libraries(${cuda_target} LINK_PRIVATE
16041604
${CUDA_LIBRARIES}
16051605
)
16061606

@@ -1675,9 +1675,9 @@ endmacro()
16751675
###############################################################################
16761676
macro(CUDA_ADD_CUFFT_TO_TARGET target)
16771677
if (CUDA_BUILD_EMULATION)
1678-
target_link_libraries(${target} ${CUDA_cufftemu_LIBRARY})
1678+
target_link_libraries(${target} LINK_PRIVATE ${CUDA_cufftemu_LIBRARY})
16791679
else()
1680-
target_link_libraries(${target} ${CUDA_cufft_LIBRARY})
1680+
target_link_libraries(${target} LINK_PRIVATE ${CUDA_cufft_LIBRARY})
16811681
endif()
16821682
endmacro()
16831683

@@ -1688,9 +1688,9 @@ endmacro()
16881688
###############################################################################
16891689
macro(CUDA_ADD_CUBLAS_TO_TARGET target)
16901690
if (CUDA_BUILD_EMULATION)
1691-
target_link_libraries(${target} ${CUDA_cublasemu_LIBRARY})
1691+
target_link_libraries(${target} LINK_PRIVATE ${CUDA_cublasemu_LIBRARY})
16921692
else()
1693-
target_link_libraries(${target} ${CUDA_cublas_LIBRARY})
1693+
target_link_libraries(${target} LINK_PRIVATE ${CUDA_cublas_LIBRARY})
16941694
endif()
16951695
endmacro()
16961696

cmake/OpenCVDetectAndroidSDK.cmake

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -290,16 +290,15 @@ macro(add_android_project target path)
290290
add_library(${JNI_LIB_NAME} SHARED ${android_proj_jni_files})
291291
ocv_target_include_modules_recurse(${JNI_LIB_NAME} ${android_proj_NATIVE_DEPS})
292292
ocv_target_include_directories(${JNI_LIB_NAME} "${path}/jni")
293-
ocv_target_link_libraries(${JNI_LIB_NAME} ${OPENCV_LINKER_LIBS} ${android_proj_NATIVE_DEPS})
293+
ocv_target_link_libraries(${JNI_LIB_NAME} LINK_PRIVATE ${OPENCV_LINKER_LIBS} ${android_proj_NATIVE_DEPS})
294294

295295
set_target_properties(${JNI_LIB_NAME} PROPERTIES
296296
OUTPUT_NAME "${JNI_LIB_NAME}"
297297
LIBRARY_OUTPUT_DIRECTORY "${android_proj_bin_dir}/libs/${ANDROID_NDK_ABI_NAME}"
298298
)
299299

300-
get_target_property(android_proj_jni_location "${JNI_LIB_NAME}" LOCATION)
301300
if (NOT (CMAKE_BUILD_TYPE MATCHES "debug"))
302-
add_custom_command(TARGET ${JNI_LIB_NAME} POST_BUILD COMMAND ${CMAKE_STRIP} --strip-unneeded "${android_proj_jni_location}")
301+
add_custom_command(TARGET ${JNI_LIB_NAME} POST_BUILD COMMAND ${CMAKE_STRIP} --strip-unneeded "$<TARGET_FILE:${JNI_LIB_NAME}>")
303302
endif()
304303
endif()
305304
endif()

cmake/OpenCVGenABI.cmake

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,18 +26,17 @@ set(OPENCV_ABI_SKIP_HEADERS "")
2626
set(OPENCV_ABI_SKIP_LIBRARIES "")
2727
foreach(mod ${OPENCV_MODULES_BUILD})
2828
string(REGEX REPLACE "^opencv_" "" mod "${mod}")
29-
if(NOT "${OPENCV_MODULE_opencv_${mod}_LOCATION}" STREQUAL "${OpenCV_SOURCE_DIR}/modules/${mod}")
29+
if(NOT OPENCV_MODULE_opencv_${mod}_CLASS STREQUAL "PUBLIC"
30+
OR NOT "${OPENCV_MODULE_opencv_${mod}_LOCATION}" STREQUAL "${OpenCV_SOURCE_DIR}/modules/${mod}" # opencv_contrib
31+
)
3032
# headers
3133
foreach(h ${OPENCV_MODULE_opencv_${mod}_HEADERS})
3234
file(RELATIVE_PATH h "${OPENCV_MODULE_opencv_${mod}_LOCATION}/include" "${h}")
3335
list(APPEND OPENCV_ABI_SKIP_HEADERS "${h}")
3436
endforeach()
3537
# libraries
3638
if(TARGET opencv_${mod}) # opencv_world
37-
set(lib_name "")
38-
get_target_property(lib_name opencv_${mod} LOCATION)
39-
get_filename_component(lib_name "${lib_name}" NAME)
40-
list(APPEND OPENCV_ABI_SKIP_LIBRARIES "${lib_name}")
39+
list(APPEND OPENCV_ABI_SKIP_LIBRARIES "\$<TARGET_FILE_NAME:opencv_${mod}>")
4140
endif()
4241
endif()
4342
endforeach()
@@ -48,4 +47,5 @@ string(REPLACE ";" "\n " OPENCV_ABI_SKIP_LIBRARIES "${OPENCV_ABI_SKIP_LIBRARI
4847
set(OPENCV_ABI_GCC_OPTIONS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_RELEASE} -DOPENCV_ABI_CHECK=1")
4948
string(REGEX REPLACE "([^ ]) +([^ ])" "\\1\\n \\2" OPENCV_ABI_GCC_OPTIONS "${OPENCV_ABI_GCC_OPTIONS}")
5049

51-
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake/templates/opencv_abi.xml.in" "${path1}")
50+
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake/templates/opencv_abi.xml.in" "${path1}.base")
51+
file(GENERATE OUTPUT "${path1}" INPUT "${path1}.base")

cmake/OpenCVGenAndroidMK.cmake

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,29 @@ if(ANDROID)
2020
endif()
2121

2222
# build the list of opencv libs and dependencies for all modules
23-
ocv_get_all_libs(OPENCV_MODULES_CONFIGMAKE OPENCV_EXTRA_COMPONENTS_CONFIGMAKE OPENCV_3RDPARTY_COMPONENTS_CONFIGMAKE)
23+
ocv_get_all_libs(OPENCV_MODULES OPENCV_EXTRA_COMPONENTS OPENCV_3RDPARTY_COMPONENTS)
2424

2525
# list -> string
26-
string(REPLACE ";" " " OPENCV_MODULES_CONFIGMAKE "${OPENCV_MODULES_CONFIGMAKE}")
27-
string(REPLACE ";" " " OPENCV_EXTRA_COMPONENTS_CONFIGMAKE "${OPENCV_EXTRA_COMPONENTS_CONFIGMAKE}")
28-
string(REPLACE ";" " " OPENCV_3RDPARTY_COMPONENTS_CONFIGMAKE "${OPENCV_3RDPARTY_COMPONENTS_CONFIGMAKE}")
26+
foreach(_var OPENCV_MODULES OPENCV_EXTRA_COMPONENTS OPENCV_3RDPARTY_COMPONENTS)
27+
set(var "${_var}_CONFIGMAKE")
28+
set(${var} "")
29+
foreach(lib ${${_var}})
30+
set(lib_name "${lib}")
31+
if(TARGET ${lib})
32+
get_target_property(_output ${lib} IMPORTED_LOCATION)
33+
if(NOT _output)
34+
get_target_property(output_name ${lib} OUTPUT_NAME)
35+
if(output_name)
36+
set(lib_name "${output_name}")
37+
endif()
38+
else()
39+
ocv_get_libname(lib_name "${_output}")
40+
endif()
41+
endif()
42+
set(${var} "${${var}} ${lib_name}")
43+
endforeach()
44+
string(STRIP "${${var}}" ${var})
45+
endforeach()
2946

3047
# replace 'opencv_<module>' -> '<module>''
3148
string(REPLACE "opencv_" "" OPENCV_MODULES_CONFIGMAKE "${OPENCV_MODULES_CONFIGMAKE}")

cmake/OpenCVGenPkgconfig.cmake

Lines changed: 76 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
if(MSVC OR IOS)
2+
return()
3+
endif()
4+
15
# --------------------------------------------------------------------------------------------
26
# according to man pkg-config
37
# The package name specified on the pkg-config command line is defined to
@@ -12,11 +16,11 @@
1216
macro(fix_prefix lst isown)
1317
set(_lst)
1418
foreach(item ${${lst}})
15-
if(TARGET ${item})
16-
get_target_property(item "${item}" LOCATION_${CMAKE_BUILD_TYPE})
17-
if("${isown}")
18-
get_filename_component(item "${item}" NAME_WE)
19-
string(REGEX REPLACE "^lib(.*)" "\\1" item "${item}")
19+
if(DEFINED TARGET_LOCATION_${item})
20+
set(item "${TARGET_LOCATION_${item}}")
21+
if(${isown})
22+
get_filename_component(item "${item}" NAME)
23+
ocv_get_libname(item "${item}")
2024
endif()
2125
endif()
2226
if(item MATCHES "^-l")
@@ -25,8 +29,8 @@ macro(fix_prefix lst isown)
2529
list(APPEND _lst "${item}")
2630
elseif(item MATCHES "[\\/]")
2731
get_filename_component(libdir "${item}" PATH)
28-
get_filename_component(libname "${item}" NAME_WE)
29-
string(REGEX REPLACE "^lib(.*)" "\\1" libname "${libname}")
32+
get_filename_component(_libname "${item}" NAME)
33+
ocv_get_libname(libname "${_libname}")
3034
list(APPEND _lst "-L${libdir}" "-l${libname}")
3135
else()
3236
list(APPEND _lst "-l${item}")
@@ -36,6 +40,14 @@ macro(fix_prefix lst isown)
3640
unset(_lst)
3741
endmacro()
3842

43+
if(NOT DEFINED CMAKE_HELPER_SCRIPT)
44+
45+
if(INSTALL_TO_MANGLED_PATHS)
46+
set(OPENCV_PC_FILE_NAME "opencv-${OPENCV_VERSION}.pc")
47+
else()
48+
set(OPENCV_PC_FILE_NAME opencv.pc)
49+
endif()
50+
3951
# build the list of opencv libs and dependencies for all modules
4052
ocv_get_all_libs(_modules _extra _3rdparty)
4153

@@ -56,9 +68,61 @@ if(_modules MATCHES "opencv_contrib_world")
5668
list(INSERT _modules 0 "opencv_contrib_world")
5769
endif()
5870

59-
fix_prefix(_modules TRUE)
60-
fix_prefix(_extra FALSE)
61-
fix_prefix(_3rdparty TRUE)
71+
set(HELPER_SCRIPT "")
72+
ocv_cmake_script_append_var(HELPER_SCRIPT
73+
BUILD_SHARED_LIBS
74+
CMAKE_BINARY_DIR
75+
CMAKE_INSTALL_PREFIX
76+
OpenCV_SOURCE_DIR
77+
OPENCV_PC_FILE_NAME
78+
OPENCV_VERSION_PLAIN
79+
OPENCV_LIB_INSTALL_PATH
80+
OPENCV_INCLUDE_INSTALL_PATH
81+
OPENCV_3P_LIB_INSTALL_PATH
82+
83+
_modules
84+
_extra
85+
_3rdparty
86+
)
87+
88+
foreach(item ${_modules} ${_extra} ${_3rdparty})
89+
if(TARGET ${item})
90+
set(HELPER_SCRIPT "${HELPER_SCRIPT}
91+
set(TARGET_LOCATION_${item} \"$<TARGET_FILE:${item}>\")
92+
")
93+
endif()
94+
endforeach()
95+
96+
set(CMAKE_HELPER_SCRIPT "${CMAKE_BINARY_DIR}/OpenCVGenPkgConfig.info.cmake")
97+
file(GENERATE OUTPUT "${CMAKE_HELPER_SCRIPT}" CONTENT "${HELPER_SCRIPT}")
98+
99+
add_custom_target(developer_scripts)
100+
add_custom_command(
101+
OUTPUT "${CMAKE_BINARY_DIR}/unix-install/${OPENCV_PC_FILE_NAME}"
102+
COMMAND ${CMAKE_COMMAND} "-DCMAKE_HELPER_SCRIPT=${CMAKE_HELPER_SCRIPT}" -P "${OpenCV_SOURCE_DIR}/cmake/OpenCVGenPkgconfig.cmake"
103+
DEPENDS "${CMAKE_BINARY_DIR}/OpenCVGenPkgConfig.info.cmake"
104+
"${OpenCV_SOURCE_DIR}/cmake/OpenCVGenPkgconfig.cmake"
105+
COMMENT "Generate ${OPENCV_PC_FILE_NAME}"
106+
)
107+
add_custom_target(gen-pkgconfig ALL SOURCES "${CMAKE_BINARY_DIR}/unix-install/${OPENCV_PC_FILE_NAME}")
108+
add_dependencies(developer_scripts gen-pkgconfig)
109+
110+
111+
if(UNIX AND NOT ANDROID)
112+
install(FILES ${CMAKE_BINARY_DIR}/unix-install/${OPENCV_PC_FILE_NAME} DESTINATION ${OPENCV_LIB_INSTALL_PATH}/pkgconfig COMPONENT dev)
113+
endif()
114+
115+
# =============================================================================
116+
else() # DEFINED CMAKE_HELPER_SCRIPT
117+
118+
cmake_minimum_required(VERSION 2.8.12.2)
119+
cmake_policy(SET CMP0012 NEW)
120+
include("${CMAKE_HELPER_SCRIPT}")
121+
include("${OpenCV_SOURCE_DIR}/cmake/OpenCVUtils.cmake")
122+
123+
fix_prefix(_modules 1)
124+
fix_prefix(_extra 0)
125+
fix_prefix(_3rdparty 1)
62126

63127
ocv_list_unique(_modules)
64128
ocv_list_unique(_extra)
@@ -68,7 +132,7 @@ set(OPENCV_PC_LIBS
68132
"-L\${exec_prefix}/${OPENCV_LIB_INSTALL_PATH}"
69133
"${_modules}"
70134
)
71-
if (BUILD_SHARED_LIBS)
135+
if(BUILD_SHARED_LIBS)
72136
set(OPENCV_PC_LIBS_PRIVATE "${_extra}")
73137
else()
74138
set(OPENCV_PC_LIBS_PRIVATE
@@ -86,15 +150,8 @@ set(exec_prefix "\${prefix}")
86150
set(libdir "\${exec_prefix}/${OPENCV_LIB_INSTALL_PATH}")
87151
set(includedir "\${prefix}/${OPENCV_INCLUDE_INSTALL_PATH}")
88152

89-
if(INSTALL_TO_MANGLED_PATHS)
90-
set(OPENCV_PC_FILE_NAME "opencv-${OPENCV_VERSION}.pc")
91-
else()
92-
set(OPENCV_PC_FILE_NAME opencv.pc)
93-
endif()
94153
configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/opencv-XXX.pc.in"
95154
"${CMAKE_BINARY_DIR}/unix-install/${OPENCV_PC_FILE_NAME}"
96155
@ONLY)
97156

98-
if(UNIX AND NOT ANDROID)
99-
install(FILES ${CMAKE_BINARY_DIR}/unix-install/${OPENCV_PC_FILE_NAME} DESTINATION ${OPENCV_LIB_INSTALL_PATH}/pkgconfig COMPONENT dev)
100-
endif()
157+
endif() # DEFINED CMAKE_HELPER_SCRIPT

cmake/OpenCVModule.cmake

Lines changed: 9 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -787,15 +787,12 @@ macro(_ocv_create_module)
787787
endif()
788788

789789
set(sub_objs "")
790-
set(sub_links "")
791790
set(cuda_objs "")
792791
if (OPENCV_MODULE_${the_module}_CHILDREN)
793792
message(STATUS "Complex module ${the_module}")
794793
foreach (m ${OPENCV_MODULE_${the_module}_CHILDREN})
795794
if (BUILD_${m} AND TARGET ${m}_object)
796-
get_target_property(_sub_links ${m} LINK_LIBRARIES)
797795
list(APPEND sub_objs $<TARGET_OBJECTS:${m}_object>)
798-
list(APPEND sub_links ${_sub_links})
799796
message(STATUS " + ${m}")
800797
else()
801798
message(STATUS " - ${m}")
@@ -837,38 +834,21 @@ macro(_ocv_create_module)
837834
)
838835

839836
if (cuda_objs)
840-
target_link_libraries(${the_module} ${cuda_objs})
841-
endif()
842-
843-
# TODO: is it needed?
844-
if (sub_links)
845-
ocv_list_filterout(sub_links "^opencv_")
846-
ocv_list_unique(sub_links)
847-
target_link_libraries(${the_module} ${sub_links})
837+
target_link_libraries(${the_module} LINK_PRIVATE ${cuda_objs})
848838
endif()
849839

850840
unset(sub_objs)
851-
unset(sub_links)
852841
unset(cuda_objs)
853842

854843
set_target_properties(${the_module} PROPERTIES LABELS "${OPENCV_MODULE_${the_module}_LABEL};Module")
855844
set_source_files_properties(${OPENCV_MODULE_${the_module}_HEADERS} ${OPENCV_MODULE_${the_module}_SOURCES} ${${the_module}_pch}
856845
PROPERTIES LABELS "${OPENCV_MODULE_${the_module}_LABEL};Module")
857846

858-
if(NOT BUILD_SHARED_LIBS OR NOT INSTALL_CREATE_DISTRIB)
859-
ocv_target_link_libraries(${the_module} ${OPENCV_MODULE_${the_module}_DEPS_TO_LINK})
860-
ocv_target_link_libraries(${the_module} LINK_INTERFACE_LIBRARIES ${OPENCV_MODULE_${the_module}_DEPS_TO_LINK})
861-
ocv_target_link_libraries(${the_module} ${OPENCV_MODULE_${the_module}_DEPS_EXT} ${OPENCV_LINKER_LIBS} ${IPP_LIBS} ${ARGN})
862-
if (HAVE_CUDA)
863-
ocv_target_link_libraries(${the_module} ${CUDA_LIBRARIES} ${CUDA_npp_LIBRARY})
864-
endif()
865-
else()
866-
ocv_target_link_libraries(${the_module} LINK_PRIVATE ${OPENCV_MODULE_${the_module}_DEPS_TO_LINK})
867-
ocv_target_link_libraries(${the_module} LINK_PRIVATE ${OPENCV_MODULE_${the_module}_DEPS_TO_LINK})
868-
ocv_target_link_libraries(${the_module} LINK_PRIVATE ${OPENCV_MODULE_${the_module}_DEPS_EXT} ${OPENCV_LINKER_LIBS} ${IPP_LIBS} ${ARGN})
869-
if (HAVE_CUDA)
870-
ocv_target_link_libraries(${the_module} LINK_PRIVATE ${CUDA_LIBRARIES} ${CUDA_npp_LIBRARY})
871-
endif()
847+
ocv_target_link_libraries(${the_module} LINK_PUBLIC ${OPENCV_MODULE_${the_module}_DEPS_TO_LINK})
848+
ocv_target_link_libraries(${the_module} LINK_PUBLIC ${OPENCV_MODULE_${the_module}_DEPS_EXT})
849+
ocv_target_link_libraries(${the_module} LINK_PRIVATE ${OPENCV_LINKER_LIBS} ${OPENCV_HAL_LINKER_LIBS} ${IPP_LIBS} ${ARGN})
850+
if (HAVE_CUDA)
851+
ocv_target_link_libraries(${the_module} LINK_PRIVATE ${CUDA_LIBRARIES} ${CUDA_npp_LIBRARY})
872852
endif()
873853

874854
add_dependencies(opencv_modules ${the_module})
@@ -1074,7 +1054,7 @@ function(ocv_add_perf_tests)
10741054
source_group("Src" FILES "${${the_target}_pch}")
10751055
ocv_add_executable(${the_target} ${OPENCV_PERF_${the_module}_SOURCES} ${${the_target}_pch})
10761056
ocv_target_include_modules(${the_target} ${perf_deps} "${perf_path}")
1077-
ocv_target_link_libraries(${the_target} ${perf_deps} ${OPENCV_MODULE_${the_module}_DEPS} ${OPENCV_LINKER_LIBS})
1057+
ocv_target_link_libraries(${the_target} LINK_PRIVATE ${perf_deps} ${OPENCV_MODULE_${the_module}_DEPS} ${OPENCV_LINKER_LIBS})
10781058
add_dependencies(opencv_perf_tests ${the_target})
10791059

10801060
set_target_properties(${the_target} PROPERTIES LABELS "${OPENCV_MODULE_${the_module}_LABEL};PerfTest")
@@ -1151,7 +1131,7 @@ function(ocv_add_accuracy_tests)
11511131
source_group("Src" FILES "${${the_target}_pch}")
11521132
ocv_add_executable(${the_target} ${OPENCV_TEST_${the_module}_SOURCES} ${${the_target}_pch})
11531133
ocv_target_include_modules(${the_target} ${test_deps} "${test_path}")
1154-
ocv_target_link_libraries(${the_target} ${test_deps} ${OPENCV_MODULE_${the_module}_DEPS} ${OPENCV_LINKER_LIBS})
1134+
ocv_target_link_libraries(${the_target} LINK_PRIVATE ${test_deps} ${OPENCV_MODULE_${the_module}_DEPS} ${OPENCV_LINKER_LIBS})
11551135
add_dependencies(opencv_tests ${the_target})
11561136

11571137
set_target_properties(${the_target} PROPERTIES LABELS "${OPENCV_MODULE_${the_module}_LABEL};AccuracyTest")
@@ -1208,7 +1188,7 @@ function(ocv_add_samples)
12081188

12091189
ocv_add_executable(${the_target} "${source}")
12101190
ocv_target_include_modules(${the_target} ${samples_deps})
1211-
ocv_target_link_libraries(${the_target} ${samples_deps})
1191+
ocv_target_link_libraries(${the_target} LINK_PRIVATE ${samples_deps})
12121192
set_target_properties(${the_target} PROPERTIES PROJECT_LABEL "(sample) ${name}")
12131193

12141194
set_target_properties(${the_target} PROPERTIES LABELS "${OPENCV_MODULE_${the_module}_LABEL};Sample")

0 commit comments

Comments
 (0)