Salome HOME
- edit documentation
[modules/smesh.git] / SalomeSMESHConfig.cmake.in
index 0212e3d84c77669709932b736ea07ac1fee43169..d82a2ee2a0f26cfc91705bfa35f223c88d6e66d1 100644 (file)
@@ -43,16 +43,26 @@ SET_AND_CHECK(SMESH_ROOT_DIR_EXP "@PACKAGE_CMAKE_INSTALL_PREFIX@")
 
 # Include directories
 SET_AND_CHECK(SMESH_INCLUDE_DIRS "${SMESH_ROOT_DIR_EXP}/@SALOME_INSTALL_HEADERS@")
+SET(SMESH_INCLUDE_DIRS "${SMESH_INCLUDE_DIRS};@_SalomeSMESH_EXTRA_HEADERS@")
+SET(SMESH_DEFINITIONS "@GEOM_DEFINITIONS@")
+
+# Package specific environment variables
+@_SalomeSMESH_EXTRA_ENV_FULL@
 
 #### Now the specificities
 
 # Options exported by the package:
-SET(SALOME_BUILD_DOC    @SALOME_BUILD_DOC@)
+SET(SALOME_SMESH_BUILD_DOC @SALOME_BUILD_DOC@)
+SET(SALOME_SMESH_BUILD_TESTS @SALOME_BUILD_TESTS@)
 
 # Advanced options
-SET(SALOME_BUILD_GUI       @SALOME_BUILD_GUI@)
+SET(SALOME_SMESH_BUILD_GUI @SALOME_BUILD_GUI@)
 SET(SALOME_SMESH_USE_CGNS  @SALOME_SMESH_USE_CGNS@)
 SET(SALOME_SMESH_USE_TBB   @SALOME_SMESH_USE_TBB@)
+SET(SALOME_SMESH_ENABLE_MEFISTO   @SALOME_SMESH_ENABLE_MEFISTO@)
+IF(NOT WIN32)
+  LIST(APPEND SMESH_DEFINITIONS "-DENABLE_MEFISTO")
+ENDIF(NOT WIN32)
 
 # Level 1 prerequisites:
 SET_AND_CHECK(GEOM_ROOT_DIR_EXP "@PACKAGE_GEOM_ROOT_DIR@")
@@ -69,21 +79,32 @@ ENDIF()
 # For all prerequisites, load the corresponding targets if the package was used 
 # in CONFIG mode. This ensures dependent projects link correctly
 # without having to set LD_LIBRARY_PATH:
-SET(_PREREQ CGNS TBB)
-SET(_PREREQ_CONFIG_DIR "@CGNS_DIR@" "@TBB_DIR@" )
+SET(_PREREQ @_PREREQ_LIST@)
+SET(_PREREQ_CONFIG_DIR @_PREREQ_DIR_LIST@)
+SET(_PREREQ_COMPONENTS "@_PREREQ_COMPO_LIST@")
 LIST(LENGTH _PREREQ_CONFIG_DIR _list_len)
-# Another CMake stupidity - FOREACH(... RANGE r) generates r+1 numbers ...
-MATH(EXPR _range "${_list_len}-1")
-FOREACH(_p RANGE ${_range})  
-  LIST(GET _PREREQ            ${_p} _pkg    )
-  LIST(GET _PREREQ_CONFIG_DIR ${_p} _pkg_dir)
-  IF(_pkg_dir)
-     MESSAGE(STATUS "===> Reloading targets from ${_pkg} ...")
-     FIND_PACKAGE(${_pkg} REQUIRED NO_MODULE 
+IF(NOT _list_len EQUAL 0)
+  # Another CMake stupidity - FOREACH(... RANGE r) generates r+1 numbers ...
+  MATH(EXPR _range "${_list_len}-1")
+  FOREACH(_p RANGE ${_range})  
+    LIST(GET _PREREQ            ${_p} _pkg    )
+    LIST(GET _PREREQ_CONFIG_DIR ${_p} _pkg_dir)
+    LIST(GET _PREREQ_COMPONENTS ${_p} _pkg_compo)
+    MESSAGE(STATUS "===> Reloading targets from ${_pkg} ...")
+    IF(NOT _pkg_compo)
+      FIND_PACKAGE(${_pkg} REQUIRED NO_MODULE 
           PATHS "${_pkg_dir}" 
           NO_DEFAULT_PATH)
-  ENDIF()
-ENDFOREACH()
+    ELSE()
+      STRING(REPLACE "," ";" _compo_lst "${_pkg_compo}")
+      MESSAGE(STATUS "===> (components: ${_pkg_compo})")
+      FIND_PACKAGE(${_pkg} REQUIRED NO_MODULE
+          COMPONENTS ${_compo_lst} 
+          PATHS "${_pkg_dir}"
+          NO_DEFAULT_PATH)
+    ENDIF()
+  ENDFOREACH()
+ENDIF()
 
 # Installation directories
 SET(SALOME_INSTALL_BINS "@SALOME_INSTALL_BINS@")
@@ -119,7 +140,9 @@ SET(SMESH_MeshDriverUNV MeshDriverUNV)
 SET(SMESH_MEDWrapperBase MEDWrapperBase)
 SET(SMESH_MEDWrapper MEDWrapper)
 SET(SMESH_MEDWrapper_V2_2 MEDWrapper_V2_2)
-SET(SMESH_MEFISTO2D MEFISTO2D)
+IF(SALOME_SMESH_ENABLE_MEFISTO)
+  SET(SMESH_MEFISTO2D MEFISTO2D)
+ENDIF(SALOME_SMESH_ENABLE_MEFISTO)
 SET(SMESH_SMESHObject SMESHObject)
 SET(SMESH_GeomSelectionTools GeomSelectionTools)
 SET(SMESH_SMDS SMDS)