diff --git a/src/Mod/Assembly/App/CMakeLists.txt b/src/Mod/Assembly/App/CMakeLists.txt index 8d8613830..2117aa1f1 100644 --- a/src/Mod/Assembly/App/CMakeLists.txt +++ b/src/Mod/Assembly/App/CMakeLists.txt @@ -4,8 +4,6 @@ else(MSVC) add_definitions(-DHAVE_LIMITS_H -DHAVE_CONFIG_H) endif(MSVC) -#add_definitions( -DUSE_LOGGING ) - include_directories( ${CMAKE_SOURCE_DIR}/src ${CMAKE_BINARY_DIR}/src @@ -58,13 +56,27 @@ SET(Module_SRCS ) SOURCE_GROUP("Module" FILES ${Module_SRCS}) +#externalisation is not possible for msvc as a stupid bug prevents the function definition resolving +if(MSVC) + set(Solver_SRC ) +elseif(MSVC) + set(Solver_SRC Solver/solver_3d_ext1.cpp + Solver/solver_3d_ext2.cpp + Solver/solver_3d_ext3.cpp + ) + + if(FREECAD_ASSEMBLY_DEBUG_FACILITIES) + set(Solver_SRC ${Solver_SRC} + Solver/solver_state_ext1.cpp + Solver/solver_state_ext2.cpp + ) + endif(FREECAD_ASSEMBLY_DEBUG_FACILITIES) + + add_definitions(-DDCM_EXTERNAL_CORE) + add_definitions(-DDCM_EXTERNAL_3D) + add_definitions(-DDCM_EXTERNAL_STATE) +endif(MSVC) -set(Solver_SRC Solver/solver_3d_ext1.cpp - Solver/solver_3d_ext2.cpp - Solver/solver_3d_ext3.cpp - Solver/solver_state_ext1.cpp - Solver/solver_state_ext2.cpp -) SOURCE_GROUP("Solver" FILES ${Solver_SRC}) SET(Python_SRCS diff --git a/src/Mod/Assembly/App/Solver/Solver.h b/src/Mod/Assembly/App/Solver/Solver.h index c40249eda..1005601f5 100644 --- a/src/Mod/Assembly/App/Solver/Solver.h +++ b/src/Mod/Assembly/App/Solver/Solver.h @@ -23,10 +23,6 @@ #ifndef SOLVER_H #define SOLVER_H -#define DCM_EXTERNAL_CORE -#define DCM_EXTERNAL_3D -#define DCM_EXTERNAL_STATE - #include "PreCompiled.h" #include "opendcm/core.hpp" diff --git a/src/Mod/Assembly/App/opendcm/core/imp/clustergraph_imp.hpp b/src/Mod/Assembly/App/opendcm/core/imp/clustergraph_imp.hpp index a49c31fc4..9709f7757 100644 --- a/src/Mod/Assembly/App/opendcm/core/imp/clustergraph_imp.hpp +++ b/src/Mod/Assembly/App/opendcm/core/imp/clustergraph_imp.hpp @@ -772,7 +772,7 @@ void ClusterGraph::setObject(key template< typename edge_prop, typename vertex_prop, typename cluster_prop, typename objects> template -std::pair< typename ClusterGraph::template object_iterator, typename ClusterGraph::template object_iterator > +std::pair< typename ClusterGraph::object_iterator, typename ClusterGraph::object_iterator > ClusterGraph::getObjects(LocalEdge k) { std::vector& vec = fusion::at_c<1> ((*this) [k]); diff --git a/src/Mod/Assembly/App/opendcm/core/kernel.hpp b/src/Mod/Assembly/App/opendcm/core/kernel.hpp index 7b6bfc14e..4526a6370 100644 --- a/src/Mod/Assembly/App/opendcm/core/kernel.hpp +++ b/src/Mod/Assembly/App/opendcm/core/kernel.hpp @@ -70,7 +70,7 @@ struct iterations { typedef setting_property kind; struct default_value { int operator()() { - return 5e3; + return int(5e3); }; }; };