cmake: CMP0026 NEW

This commit is contained in:
Alexander Alekhin
2017-08-16 22:49:17 +00:00
parent e63d3dd25f
commit 87a98e4562
9 changed files with 158 additions and 66 deletions

View File

@@ -20,12 +20,29 @@ if(ANDROID)
endif()
# build the list of opencv libs and dependencies for all modules
ocv_get_all_libs(OPENCV_MODULES_CONFIGMAKE OPENCV_EXTRA_COMPONENTS_CONFIGMAKE OPENCV_3RDPARTY_COMPONENTS_CONFIGMAKE)
ocv_get_all_libs(OPENCV_MODULES OPENCV_EXTRA_COMPONENTS OPENCV_3RDPARTY_COMPONENTS)
# list -> string
string(REPLACE ";" " " OPENCV_MODULES_CONFIGMAKE "${OPENCV_MODULES_CONFIGMAKE}")
string(REPLACE ";" " " OPENCV_EXTRA_COMPONENTS_CONFIGMAKE "${OPENCV_EXTRA_COMPONENTS_CONFIGMAKE}")
string(REPLACE ";" " " OPENCV_3RDPARTY_COMPONENTS_CONFIGMAKE "${OPENCV_3RDPARTY_COMPONENTS_CONFIGMAKE}")
foreach(_var OPENCV_MODULES OPENCV_EXTRA_COMPONENTS OPENCV_3RDPARTY_COMPONENTS)
set(var "${_var}_CONFIGMAKE")
set(${var} "")
foreach(lib ${${_var}})
set(lib_name "${lib}")
if(TARGET ${lib})
get_target_property(_output ${lib} IMPORTED_LOCATION)
if(NOT _output)
get_target_property(output_name ${lib} OUTPUT_NAME)
if(output_name)
set(lib_name "${output_name}")
endif()
else()
ocv_get_libname(lib_name "${_output}")
endif()
endif()
set(${var} "${${var}} ${lib_name}")
endforeach()
string(STRIP "${${var}}" ${var})
endforeach()
# replace 'opencv_<module>' -> '<module>''
string(REPLACE "opencv_" "" OPENCV_MODULES_CONFIGMAKE "${OPENCV_MODULES_CONFIGMAKE}")