Salome HOME
0023309: [EDF 12969] Clarify sorting algorithm of SubShapeAllSortedCentres function
[modules/geom.git] / CMakeLists.txt
index 61cd8e78709bce8d44bf4c889a0e9faa988101ea..ad0bb3c7830609b6ab1ccfc9503eb14549a445db 100755 (executable)
@@ -23,6 +23,9 @@ PROJECT(SalomeGEOM C CXX)
 
 # Ensure a proper linker behavior:
 CMAKE_POLICY(SET CMP0003 NEW)
+IF(WIN32)
+  CMAKE_POLICY(SET CMP0020 OLD) # disable automatic linking to qtmain.lib 
+ENDIF(WIN32)
 
 # Versioning
 # ===========
@@ -67,7 +70,9 @@ OPTION(SALOME_BUILD_TESTS "Build SALOME tests" ON)
 OPTION(SALOME_BUILD_GUI "Enable GUI" ON)
 CMAKE_DEPENDENT_OPTION(SALOME_GEOM_USE_OPENCV "Enable shape recognition from picture" OFF
                        "SALOME_BUILD_GUI" OFF)
-MARK_AS_ADVANCED(SALOME_BUILD_GUI SALOME_GEOM_USE_OPENCV)
+CMAKE_DEPENDENT_OPTION(SALOME_GEOM_USE_VTK "Enable VTK-dependent functionality" ON
+                       "NOT SALOME_BUILD_GUI" ON)
+MARK_AS_ADVANCED(SALOME_BUILD_GUI SALOME_GEOM_USE_OPENCV SALOME_GEOM_USE_VTK)
 
 # Prerequisites
 # =============
@@ -143,7 +148,11 @@ ENDIF(SALOME_BUILD_GUI)
 ##
 
 FIND_PACKAGE(SalomeCAS REQUIRED)
-FIND_PACKAGE(SalomeVTK REQUIRED)
+
+IF(SALOME_GEOM_USE_VTK)
+  FIND_PACKAGE(SalomeVTK REQUIRED)
+  ADD_DEFINITIONS(-DWITH_VTK)
+ENDIF(SALOME_GEOM_USE_VTK)
 
 # OpenCV
 IF(SALOME_GEOM_USE_OPENCV)
@@ -228,9 +237,9 @@ INCLUDE(CMakePackageConfigHelpers)
 SET(_${PROJECT_NAME}_exposed_targets 
   GEOMArchimede BlockFix GEOMbasic GEOMAlgo GEOMClient GEOMImpl
   GEOMUtils GEOMEngine GEOM_SupervEngine GEOMSketcher
-  SalomeIDLGEOM SalomeIDLGEOMSuperv SalomeIDLAdvancedGEOM ShHealOper XAO AdvancedEngine OCC2VTK
-  SalomeIDLSTLPlugin SalomeIDLBREPPlugin SalomeIDLSTEPPlugin SalomeIDLIGESPlugin SalomeIDLXAOPlugin SalomeIDLVTKPlugin
-  STLPluginEngine BREPPluginEngine STEPPluginEngine IGESPluginEngine XAOPluginEngine VTKPluginEngine
+  SalomeIDLGEOM SalomeIDLGEOMSuperv SalomeIDLAdvancedGEOM ShHealOper XAO AdvancedEngine 
+  SalomeIDLSTLPlugin SalomeIDLBREPPlugin SalomeIDLSTEPPlugin SalomeIDLIGESPlugin SalomeIDLXAOPlugin
+  STLPluginEngine BREPPluginEngine STEPPluginEngine IGESPluginEngine XAOPluginEngine 
 )
 IF(SALOME_BUILD_GUI)
   LIST(APPEND _${PROJECT_NAME}_exposed_targets 
@@ -244,6 +253,14 @@ IF(SALOME_BUILD_GUI)
   ENDIF(SALOME_USE_GRAPHICSVIEW)
 ENDIF(SALOME_BUILD_GUI)
 
+IF(SALOME_GEOM_USE_VTK)
+  LIST(APPEND _${PROJECT_NAME}_exposed_targets 
+    OCC2VTK
+    VTKPluginEngine
+    SalomeIDLVTKPlugin
+    )
+ENDIF(SALOME_GEOM_USE_VTK)
+
 IF(SALOME_GEOM_USE_OPENCV)
   LIST(APPEND _${PROJECT_NAME}_exposed_targets 
     GEOMShapeRec