Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2013-02-20 15:29:43 +0400
committerSergey Sharybin <sergey.vfx@gmail.com>2013-02-20 15:29:43 +0400
commit1f88ee6213ed5e8b60597034d52188256448b104 (patch)
treebbaa669638801fa6a4760de77f7e522665ed9bf9 /extern/libmv/CMakeLists.txt
parent5d04d06d76f0f48c0bc42c223b204b062938df04 (diff)
Fix #34299: Motion Tracking 20x slower under Windows
Root of the issue goes to SSBA library which didn't work properly when using optimization in MSVC. It was worked around by disabling optimization for libmv, which is in fact shame and shouldn't have been done. It seems after some changes optimization does not affect on SSBA code, but enabling optimization could be risky so close to release. For now solved by splitting SSBA to separate CMake/SCons library, disabling optimization only for this particular library and enabling optimization for rest of libmv. Tested on all files which used to fail with optimization enabled in SSBA and all of them works the same as before. Tracking speed is significantly higher now. After release we'll enable optimization for SSBA as well, so there'll be no crappy build setup. Later we'll replace old SSBA library with new BA code based on Ceres. Bundle script would be broken for until then, so better not to use it.
Diffstat (limited to 'extern/libmv/CMakeLists.txt')
-rw-r--r--extern/libmv/CMakeLists.txt21
1 files changed, 2 insertions, 19 deletions
diff --git a/extern/libmv/CMakeLists.txt b/extern/libmv/CMakeLists.txt
index 6b5a9a3b67a..aabf2324372 100644
--- a/extern/libmv/CMakeLists.txt
+++ b/extern/libmv/CMakeLists.txt
@@ -26,8 +26,6 @@
# If you're doing changes in this file, please update template
# in that script too
-add_subdirectory(third_party)
-
set(INC
.
../colamd/Include
@@ -86,8 +84,6 @@ set(SRC
third_party/gflags/gflags_completions.cc
third_party/gflags/gflags_reporting.cc
third_party/ldl/Source/ldl.c
- third_party/ssba/Geometry/v3d_metricbundle.cpp
- third_party/ssba/Math/v3d_optimization.cpp
libmv-capi.h
libmv/base/id_generator.h
@@ -148,13 +144,6 @@ set(SRC
third_party/ldl/Include/ldl.h
third_party/msinttypes/inttypes.h
third_party/msinttypes/stdint.h
- third_party/ssba/Geometry/v3d_cameramatrix.h
- third_party/ssba/Geometry/v3d_distortion.h
- third_party/ssba/Geometry/v3d_metricbundle.h
- third_party/ssba/Math/v3d_linear.h
- third_party/ssba/Math/v3d_linear_utils.h
- third_party/ssba/Math/v3d_mathutilities.h
- third_party/ssba/Math/v3d_optimization.h
)
if(WIN32)
@@ -193,14 +182,6 @@ if(WIN32)
third_party/msinttypes
)
endif()
-
- if(MSVC)
- set(MSVC_OFLAGS O1 O2 Ox)
- foreach(FLAG ${MSVC_OFLAGS})
- string(REPLACE "${FLAG}" "Od" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}")
- string(REPLACE "${FLAG}" "Od" CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO}")
- endforeach()
- endif()
else()
list(APPEND SRC
third_party/glog/src/demangle.cc
@@ -245,3 +226,5 @@ add_definitions(
)
blender_add_lib(extern_libmv "${SRC}" "${INC}" "${INC_SYS}")
+
+add_subdirectory(third_party)