tibbs / rpms / freecad

Forked from rpms/freecad 5 years ago
Clone
Blob Blame History Raw
diff -Naur freecad-0.14.3702.orig/CMakeLists.txt freecad-0.14.3702/CMakeLists.txt
--- freecad-0.14.3702.orig/CMakeLists.txt	2014-07-13 10:33:02.000000000 -0500
+++ freecad-0.14.3702/CMakeLists.txt	2014-11-30 16:28:11.540834321 -0600
@@ -117,6 +117,7 @@
 OPTION(FREECAD_MAINTAINERS_BUILD "Build FreeCAD for Maintainers, with Docu and 3rd party libs. On Windows the Installer is build." OFF)
 OPTION(FREECAD_USE_EXTERNAL_ZIPIOS "Use system installed zipios++ instead of the bundled." OFF)
 OPTION(FREECAD_USE_EXTERNAL_PIVY "Use system installed python-pivy instead of the bundled." OFF)
+OPTION(FREECAD_USE_EXTERNAL_SMESH "Use system installed smesh instead of the bundled." OFF)
 OPTION(FREECAD_BUILD_DEBIAN "Prepare for a build of a Debian package" OFF)
 
 OPTION(FREECAD_BUILD_CAM "Build the FreeCAD CAM module and the needed libs, be aware, unfinished code!" OFF)
@@ -165,6 +166,7 @@
 if (FREECAD_BUILD_DEBIAN)
     set(FREECAD_USE_EXTERNAL_ZIPIOS ON)
     set(FREECAD_USE_EXTERNAL_PIVY ON)
+    set(FREECAD_USE_EXTERNAL_SMESH ON)
 endif (FREECAD_BUILD_DEBIAN)
 
 # ==============================================================================
@@ -348,10 +350,6 @@
         message(SEND_ERROR  "Could not find libpack in specified location:" ${FREECAD_LIBPACK_DIR})
     ENDIF(FREECAD_LIBPACK_CHECKFILE6X)
 
-# -------------------------------- PyCXX --------------------------------
-
-    find_package(PyCXX REQUIRED)
-
 # -------------------------------- Swig ----------------------------------
 
     find_package(SWIG)
@@ -473,24 +471,29 @@
 
     # Salome SMESH sources are under src/3rdParty now
     IF(OCC_FOUND)
-    set(SMESH_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/src/3rdParty/salomesmesh/inc)
-    set(SMESH_LIBRARIES
-        StdMeshers
-        #MEFISTO2
-        SMESH
-        DriverUNV
-        SMESHDS
-        DriverSTL
-        DriverDAT
-        Driver
-        SMDS
-    )
-    set(SMESH_FOUND TRUE)
-    ENDIF(OCC_FOUND)
-    #find_package(SMESH)
-    #IF(NOT SMESH_FOUND)
-    #    MESSAGE("Salome SMESH was not found!")
-    #ENDIF(NOT SMESH_FOUND)
+    if(NOT FREECAD_USE_EXTERNAL_SMESH)
+        set(SMESH_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/src/3rdParty/salomesmesh/inc)
+    else()
+        include_directories(${SMESH_INCLUDE_DIR})
+        set(SMESH_LIBRARIES "")
+        foreach(SMESH_LIB
+            StdMeshers
+            #MEFISTO2
+            SMESH
+            DriverUNV
+            SMESHDS
+            DriverSTL
+            DriverDAT
+            Driver
+            SMDS
+        )
+        find_library(SMESH_${SMESH_LIB} ${SMESH_LIB} REQUIRED)
+        list(APPEND SMESH_LIBRARIES ${SMESH_${SMESH_LIB}})
+        endforeach()
+        message(STATUS "Found SMESH library: ${SMESH_LIBRARIES}")
+    endif()
+        set(SMESH_FOUND TRUE)
+        ENDIF(OCC_FOUND)
     
 # -------------------------------- Netgen --------------------------------
 
diff -Naur freecad-0.14.3702.orig/src/3rdParty/CMakeLists.txt freecad-0.14.3702/src/3rdParty/CMakeLists.txt
--- freecad-0.14.3702.orig/src/3rdParty/CMakeLists.txt	2014-07-13 10:33:02.000000000 -0500
+++ freecad-0.14.3702/src/3rdParty/CMakeLists.txt	2014-07-26 21:31:55.617168862 -0500
@@ -34,8 +34,8 @@
     endif (FREECAD_LIBPACK_CHECKFILE6X)
 endif(FREECAD_BUILD_GUI AND NOT FREECAD_USE_EXTERNAL_PIVY)
 
-# Build SalomeMesh for all Platforms since heavily patched
-if (FREECAD_BUILD_SMESH)
+if(NOT FREECAD_USE_EXTERNAL_SMESH)
+    # Build SalomeMesh for all Platforms since heavily patched
     add_subdirectory(salomesmesh)
-endif(FREECAD_BUILD_SMESH)
+endif(NOT FREECAD_USE_EXTERNAL_SMESH)
 
diff -Naur freecad-0.14.3702.orig/src/Mod/Fem/App/CMakeLists.txt freecad-0.14.3702/src/Mod/Fem/App/CMakeLists.txt
--- freecad-0.14.3702.orig/src/Mod/Fem/App/CMakeLists.txt	2014-07-13 10:33:02.000000000 -0500
+++ freecad-0.14.3702/src/Mod/Fem/App/CMakeLists.txt	2014-12-15 14:23:39.548135756 -0600
@@ -21,7 +21,7 @@
     ${PYTHON_INCLUDE_PATH}
     ${ZLIB_INCLUDE_DIR}
     ${XERCESC_INCLUDE_DIR}
-    ${CMAKE_SOURCE_DIR}/src/3rdParty/salomesmesh/inc 
+    ${SMESH_INCLUDE_DIR}
 )
 
 link_directories(${OCC_LIBRARY_DIR})
@@ -34,6 +34,8 @@
         StdMeshers
         NETGENPlugin
         SMESH
+        SMDS
+        SMESHDS
     )
 else(FREECAD_BUILD_FEM_NETGEN)
     set(Fem_LIBS
@@ -41,6 +43,8 @@
         FreeCADApp
         StdMeshers
         SMESH
+        SMDS
+        SMESHDS
     )
 endif(FREECAD_BUILD_FEM_NETGEN)
 
diff -Naur freecad-0.14.3702.orig/src/Mod/Fem/Gui/CMakeLists.txt freecad-0.14.3702/src/Mod/Fem/Gui/CMakeLists.txt
--- freecad-0.14.3702.orig/src/Mod/Fem/Gui/CMakeLists.txt	2014-07-13 10:33:02.000000000 -0500
+++ freecad-0.14.3702/src/Mod/Fem/Gui/CMakeLists.txt	2014-12-15 11:16:24.706617437 -0600
@@ -20,7 +20,7 @@
     ${SOQT_INCLUDE_DIR}
     ${PYTHON_INCLUDE_PATH}
     ${XERCESC_INCLUDE_DIR}
-    ${CMAKE_SOURCE_DIR}/src/3rdParty/salomesmesh/inc
+    ${SMESH_INCLUDE_DIR}
 )
 
 link_directories(${OCC_LIBRARY_DIR})
diff -Naur freecad-0.14.3702.orig/src/Mod/MeshPart/App/CMakeLists.txt freecad-0.14.3702/src/Mod/MeshPart/App/CMakeLists.txt
--- freecad-0.14.3702.orig/src/Mod/MeshPart/App/CMakeLists.txt	2014-07-13 10:33:02.000000000 -0500
+++ freecad-0.14.3702/src/Mod/MeshPart/App/CMakeLists.txt	2014-12-15 12:55:44.292060698 -0600
@@ -14,7 +14,6 @@
 
 include_directories(
     ${CMAKE_SOURCE_DIR}/src
-    ${CMAKE_SOURCE_DIR}/src/3rdParty/salomesmesh/inc
     ${Boost_INCLUDE_DIRS}
     ${OCC_INCLUDE_DIR}
     ${ZLIB_INCLUDE_DIR}
@@ -34,6 +33,7 @@
         StdMeshers
         NETGENPlugin
         SMESH
+        SMDS
     )
 else(FREECAD_BUILD_FEM_NETGEN)
     set(MeshPart_LIBS
@@ -41,6 +41,7 @@
         Mesh
         StdMeshers
         SMESH
+        SMDS
     )
 endif(FREECAD_BUILD_FEM_NETGEN)