Salome HOME
Win32 compatibility.
[modules/geom.git] / CMakeLists.txt
index 2721960e4533d778f8ddbf2bc2ec192211f32338..e59eee6010d7e7315877e40335d5f27aba61cf08 100755 (executable)
@@ -17,6 +17,8 @@
 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
 CMAKE_MINIMUM_REQUIRED(VERSION 2.8.8 FATAL_ERROR)
+INCLUDE(CMakeDependentOption)
+
 PROJECT(SalomeGEOM C CXX)
 
 # Ensure a proper linker behavior:
@@ -64,8 +66,8 @@ OPTION(SALOME_BUILD_TESTS "Build SALOME tests" ${SALOME_BUILD_TESTS})
 
 # Advanced options:
 OPTION(SALOME_BUILD_GUI       "Enable GUI" ON)
-OPTION(SALOME_GEOM_USE_OPENCV "Enable shape recognition from picture" OFF)
-
+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)
 
 # Prerequisites
@@ -121,6 +123,7 @@ ENDIF(SALOME_BUILD_GUI)
 ##
 ## Prerequisites From GUI:
 ##
+
 IF(SALOME_BUILD_GUI)
 
   # Qt4
@@ -131,12 +134,6 @@ IF(SALOME_BUILD_GUI)
     FIND_PACKAGE(SalomeOpenGL)
     SALOME_LOG_OPTIONAL_PACKAGE(OpenGL SALOME_USE_GLVIEWER) 
   ENDIF() 
-  IF(SALOME_USE_VTKVIEWER)
-    # Required components are listed in the FindSalomeVTK.cmake file: 
-    FIND_PACKAGE(SalomeVTK 6.0)
-    SALOME_LOG_OPTIONAL_PACKAGE(VTK SALOME_USE_VTKVIEWER)
-  ENDIF()
-
 ENDIF(SALOME_BUILD_GUI)
 
 ##
@@ -144,19 +141,14 @@ ENDIF(SALOME_BUILD_GUI)
 ##
 
 FIND_PACKAGE(SalomeCAS REQUIRED)
+FIND_PACKAGE(SalomeVTK 6.0 REQUIRED)
 
-IF(SALOME_BUILD_GUI)
-  # OpenCV
-  IF(SALOME_GEOM_USE_OPENCV)
-    FIND_PACKAGE(SalomeOpenCV)
-    SALOME_LOG_OPTIONAL_PACKAGE(OpenCV SALOME_GEOM_USE_OPENCV)
-  ENDIF(SALOME_GEOM_USE_OPENCV)
-ELSE()
-  SET(SALOME_GEOM_USE_OPENCV OFF)
-ENDIF(SALOME_BUILD_GUI)
+# OpenCV
 IF(SALOME_GEOM_USE_OPENCV)
-  SET(OPENCV_DEFINITIONS "-DWITH_OPENCV")
-ENDIF()
+  FIND_PACKAGE(SalomeOpenCV REQUIRED)
+  SALOME_LOG_OPTIONAL_PACKAGE(OpenCV SALOME_GEOM_USE_OPENCV)
+  ADD_DEFINITIONS(-DWITH_OPENCV)
+ENDIF(SALOME_GEOM_USE_OPENCV)
 
 # Detection summary:
 SALOME_PACKAGE_REPORT_AND_CHECK()
@@ -229,13 +221,13 @@ INCLUDE(CMakePackageConfigHelpers)
 SET(_${PROJECT_NAME}_exposed_targets 
   GEOMArchimede BREPExport BREPImport BlockFix GEOMbasic GEOMAlgo GEOMClient GEOMImpl
   GEOMUtils GEOMEngine GEOM_SupervEngine IGESExport IGESImport GEOMSketcher
-  SalomeIDLGEOM STEPExport STEPImport STLExport ShHealOper XAO AdvancedEngine
+  SalomeIDLGEOM STEPExport STEPImport STLExport ShHealOper XAO AdvancedEngine OCC2VTK VTKExport 
 )
 IF(SALOME_BUILD_GUI)
   LIST(APPEND _${PROJECT_NAME}_exposed_targets 
     AdvancedGUI BasicGUI BlocksGUI BooleanGUI BuildGUI DisplayGUI DlgRef EntityGUI GEOMBase
     GEOMFiltersSelection GEOM GEOMToolsGUI GenerationGUI GroupGUI Material MeasureGUI GEOMObject
-    OCC2VTK VTKExport OperationGUI PrimitiveGUI RepairGUI TransformationGUI ImportExportGUI
+    OperationGUI PrimitiveGUI RepairGUI TransformationGUI ImportExportGUI
     )
 ENDIF(SALOME_BUILD_GUI)
 
@@ -258,7 +250,7 @@ SET(OPENCV_ROOT_DIR "${OPENCV_ROOT_DIR}")
 SET(GUI_ROOT_DIR "${GUI_ROOT_DIR}")
 
 SET(CONF_INCLUDE_DIRS "${PROJECT_SOURCE_DIR}/include" "${PROJECT_BINARY_DIR}/include")
-CONFIGURE_PACKAGE_CONFIG_FILE(adm_local/cmake_files/${PROJECT_NAME}Config.cmake.in 
+CONFIGURE_PACKAGE_CONFIG_FILE(${PROJECT_NAME}Config.cmake.in
     ${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake
     INSTALL_DESTINATION "${SALOME_INSTALL_CMAKE_LOCAL}"
     PATH_VARS CONF_INCLUDE_DIRS SALOME_INSTALL_CMAKE_LOCAL CMAKE_INSTALL_PREFIX