diff --git a/cMake/FreeCAD_Helpers/InitializeFreeCADBuildOptions.cmake b/cMake/FreeCAD_Helpers/InitializeFreeCADBuildOptions.cmake index e9aa47fd6e..65711b74f8 100644 --- a/cMake/FreeCAD_Helpers/InitializeFreeCADBuildOptions.cmake +++ b/cMake/FreeCAD_Helpers/InitializeFreeCADBuildOptions.cmake @@ -142,12 +142,12 @@ macro(InitializeFreeCADBuildOptions) option(BUILD_CLOUD "Build the FreeCAD cloud module" OFF) option(ENABLE_DEVELOPER_TESTS "Build the FreeCAD unit tests suit" ON) - if(MSVC) + if(MSVC OR APPLE) set(FREECAD_3DCONNEXION_SUPPORT "NavLib" CACHE STRING "Select version of the 3Dconnexion device integration") set_property(CACHE FREECAD_3DCONNEXION_SUPPORT PROPERTY STRINGS "NavLib" "Raw input") - else(MSVC) + else(MSVC OR APPLE) set(FREECAD_3DCONNEXION_SUPPORT "Raw input") - endif(MSVC) + endif(MSVC OR APPLE) if(MSVC) option(BUILD_FEM_NETGEN "Build the FreeCAD FEM module with the NETGEN mesher" ON) diff --git a/src/Gui/3Dconnexion/navlib/NavlibNavigation.cpp b/src/Gui/3Dconnexion/navlib/NavlibNavigation.cpp index 5acd45cd36..00e40ba46c 100644 --- a/src/Gui/3Dconnexion/navlib/NavlibNavigation.cpp +++ b/src/Gui/3Dconnexion/navlib/NavlibNavigation.cpp @@ -122,6 +122,8 @@ CameraType NavlibInterface::getCamera() const return nullptr; } +template SoCamera* NavlibInterface::getCamera() const; + void NavlibInterface::onViewChanged(const Gui::MDIView* view) { if (view == nullptr) diff --git a/src/Gui/3Dconnexion/navlib/NavlibPivot.cpp b/src/Gui/3Dconnexion/navlib/NavlibPivot.cpp index 1b8ed7524b..716fcdb796 100644 --- a/src/Gui/3Dconnexion/navlib/NavlibPivot.cpp +++ b/src/Gui/3Dconnexion/navlib/NavlibPivot.cpp @@ -109,6 +109,8 @@ long NavlibInterface::SetPivotVisible(bool visible) return 0; } +extern template SoCamera* NavlibInterface::getCamera() const; + long NavlibInterface::GetHitLookAt(navlib::point_t& position) const { if (is2DView())