From 6dde56faf48225ba42cc8553287f3f71bfd13885 Mon Sep 17 00:00:00 2001 From: Vadim Pisarevsky Date: Sat, 12 May 2012 16:27:40 +0000 Subject: [PATCH] fixed building opencv_world with VS2010 --- modules/highgui/CMakeLists.txt | 2 ++ modules/world/CMakeLists.txt | 28 +++++++++++++++++++--------- 2 files changed, 21 insertions(+), 9 deletions(-) diff --git a/modules/highgui/CMakeLists.txt b/modules/highgui/CMakeLists.txt index 414b85f..acaf3e4 100644 --- a/modules/highgui/CMakeLists.txt +++ b/modules/highgui/CMakeLists.txt @@ -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) + diff --git a/modules/world/CMakeLists.txt b/modules/world/CMakeLists.txt index 7d3a8e2..5efadd8 100644 --- a/modules/world/CMakeLists.txt +++ b/modules/world/CMakeLists.txt @@ -1,3 +1,9 @@ +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/") if(CMAKE_GENERATOR MATCHES "^Visual.*$") set(have_cfg 1) - set(objpath0 "${objpath0}/CMakeFiles/opencv_.dir/src/.obj") + set(objpath0 "${objpath0}/opencv_.dir//.obj") elseif (CMAKE_GENERATOR MATCHES Xcode) set(have_cfg 1) set(objpath0 "${objpath0}/OpenCV.build/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/opencv_.build/Objects-normal/$(CURRENT_ARCH)/.o") @@ -61,38 +67,42 @@ else() set(objpath0 "${objpath0}/CMakeFiles/opencv_.dir/src/.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 "" "${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 "${srcname_we}" objpath2 "${objpath1}") string(REGEX REPLACE "${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 "" "Debug" objlist_dbg "${objlist}") + string(REGEX REPLACE "" "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}) -- 2.7.4