Commit 6dde56fa authored by Vadim Pisarevsky's avatar Vadim Pisarevsky

fixed building opencv_world with VS2010

parent 3ec3c591
......@@ -303,3 +303,5 @@ ocv_add_accuracy_tests()
ocv_add_perf_tests()
set(HIGHGUI_LIBRARIES ${HIGHGUI_LIBRARIES} PARENT_SCOPE)
set(GRFMT_LIBS ${GRFMT_LIBS} PARENT_SCOPE)
project(opencv_world)
string(REPLACE "/INCREMENTAL:NO" "/INCREMENTAL:YES" CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE}")
string(REPLACE "/INCREMENTAL:NO" "/INCREMENTAL:YES" CMAKE_MODULE_LINKER_FLAGS_RELEASE "${CMAKE_MODULE_LINKER_FLAGS_RELEASE}")
string(REPLACE "/INCREMENTAL:NO" "/INCREMENTAL:YES" CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE}")
set(the_description "All the selected OpenCV modules in a single binary")
set(module_list )
......@@ -52,7 +58,7 @@ set(objpath0 "${OpenCV_BINARY_DIR}/modules/<MODULE_NAME>")
if(CMAKE_GENERATOR MATCHES "^Visual.*$")
set(have_cfg 1)
set(objpath0 "${objpath0}/CMakeFiles/opencv_<MODULE_NAME>.dir/src/<SRC_NAME_WE>.obj")
set(objpath0 "${objpath0}/opencv_<MODULE_NAME>.dir/<CONFIGURATION>/<SRC_NAME_WE>.obj")
elseif (CMAKE_GENERATOR MATCHES Xcode)
set(have_cfg 1)
set(objpath0 "${objpath0}/OpenCV.build/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/opencv_<MODULE_NAME>.build/Objects-normal/$(CURRENT_ARCH)/<SRC_NAME_WE>.o")
......@@ -61,38 +67,42 @@ else()
set(objpath0 "${objpath0}/CMakeFiles/opencv_<MODULE_NAME>.dir/src/<SRC_NAME>.o")
endif()
#message("CMAKE_CFG_INTDIR: ${CMAKE_CFG_INTDIR}")
set(objlist)
foreach(m ${OPENCV_MODULES_BUILD})
if(m STREQUAL ${the_module})
elseif(m STREQUAL "opencv_python")
elseif(m STREQUAL "opencv_ts")
else()
add_dependencies(${the_module} ${m})
string(REGEX REPLACE "^opencv_" "" bare_m "${m}")
string(REGEX REPLACE "<MODULE_NAME>" "${bare_m}" objpath1 "${objpath0}")
if(m STREQUAL "opencv_highgui")
target_link_libraries(${the_module} ${HIGHGUI_LIBRARIES} zlib libtiff libjpeg libpng libjasper)
target_link_libraries(${the_module} ${HIGHGUI_LIBRARIES} ${GRFMT_LIBS})
endif()
foreach(d ${OPENCV_MODULE_${m}_DEPS_EXT})
target_link_libraries(${the_module} ${d})
endforeach()
set(modobjlist)
foreach(src ${OPENCV_MODULE_${m}_SOURCES})
get_filename_component(srcname ${src} NAME)
if(srcname STREQUAL "precomp.cpp")
elseif(srcname MATCHES ".*\\.[cm].*")
if(srcname MATCHES ".*\\.[cm].*")
get_filename_component(srcname_we ${srcname} NAME_WE)
string(REGEX REPLACE <SRC_NAME_WE> "${srcname_we}" objpath2 "${objpath1}")
string(REGEX REPLACE <SRC_NAME> "${srcname}" objpath3 "${objpath2}")
set(modobjlist "${modobjlist} ${objpath3}")
set(modobjlist "${modobjlist} \"${objpath3}\"")
endif()
endforeach()
set(objlist "${objlist} ${modobjlist}")
endif()
endforeach()
if(have_cfg)
string(REGEX REPLACE "<CONFIGURATION>" "Debug" objlist_dbg "${objlist}")
string(REGEX REPLACE "<CONFIGURATION>" "Release" objlist_rls "${objlist}")
set_target_properties(${the_module} PROPERTIES
LINK_FLAGS_DEBUG ${objlist}
LINK_FLAGS_RELEASE ${objlist})
LINK_FLAGS_DEBUG ${objlist_dbg}
LINK_FLAGS_RELEASE ${objlist_rls})
else()
set_target_properties(${the_module} PROPERTIES
LINK_FLAGS ${objlist})
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment