Salome HOME
Issue #1865 : Implementation and test python interface for the field feature
[modules/shaper.git] / CMakeLists.txt
index d00323c9532020222e620ab174a71af2eec3361b..7a2007df6ca4a1d75586ddd62baa9c0d6d8a47e9 100644 (file)
@@ -1,7 +1,7 @@
 CMAKE_MINIMUM_REQUIRED(VERSION 2.8.10)
 
 PROJECT (SHAPER)
-SET (SHAPER_Version 2.3.1)
+SET (SHAPER_Version 2.5.0)
 
 SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/CMakeCommon" ${CMAKE_MODULE_PATH})
 
@@ -13,30 +13,18 @@ INCLUDE(FindSalome)
 INCLUDE(FindCAS)
 INCLUDE(FindSUIT)
 
-IF(UNIX)
-  IF(CMAKE_COMPILER_IS_GNUCC)
-    #C++11 is not supported on some platforms, disable it
-    MESSAGE(STATUS "Setting -std=c++0x flag for the gcc...")
-    SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
-
-    #Supporting test coverage checks (gcov) in the DEBUG mode
-    IF(USE_TEST_COVERAGE)
-      INCLUDE(CodeCoverage)
-      MESSAGE(STATUS "Setting flags for gcov support the gcc...")
-      SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O0 -fprofile-arcs -ftest-coverage")
-      SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -O0 -fprofile-arcs -ftest-coverage")
-      SET(CMAKE_SHARED_LINKER_FLAGS "-lgcov")
-
-      SETUP_TARGET_FOR_COVERAGE(test_coverage  # Name for custom target.
-                                ctest          # Name of the test driver executable that runs the tests.
-                                coverage)      # Name of output directory.
-    ENDIF(USE_TEST_COVERAGE)
-
-    #SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -E")
-    MESSAGE(STATUS "gcc flags are: " ${CMAKE_CXX_FLAGS})
-    MESSAGE(STATUS "linker flags are: " ${CMAKE_SHARED_LINKER_FLAGS})
-  ENDIF(CMAKE_COMPILER_IS_GNUCC)
-ENDIF(UNIX)
+# Find LibXml2
+IF(DEFINED ENV{LIBXML2_ROOT_DIR})
+    IF(WIN32)
+        FILE(TO_CMAKE_PATH $ENV{LIBXML2_ROOT_DIR}/lib/libxml2.lib LIBXML2_LIBRARIES)
+        FILE(TO_CMAKE_PATH $ENV{LIBXML2_ROOT_DIR}/include LIBXML2_INCLUDE_DIR)
+    ELSE()
+        FILE(TO_CMAKE_PATH $ENV{LIBXML2_ROOT_DIR}/lib/libxml2.so LIBXML2_LIBRARIES)
+        FILE(TO_CMAKE_PATH $ENV{LIBXML2_ROOT_DIR}/include/libxml2 LIBXML2_INCLUDE_DIR)
+    ENDIF()
+ENDIF()
+# It could be called only once
+FIND_PACKAGE(LibXml2 REQUIRED)
 
 IF(${HAVE_SALOME})
     SET(SHAPER_INSTALL_ADDONS bin/salome CACHE INTERNAL "" FORCE)
@@ -50,6 +38,8 @@ IF(${HAVE_SALOME})
     SET(SHAPER_INSTALL_XML_RESOURCES share/salome/resources/shaper CACHE INTERNAL "" FORCE)
     SET(SHAPER_INSTALL_GUI_DOC share/doc/salome/gui/SHAPER CACHE INTERNAL "" FORCE)
     SET(SHAPER_INSTALL_TUI_DOC share/doc/salome/tui/SHAPER CACHE INTERNAL "" FORCE)
+    # without SALOME there is another kind of documentation, separated one
+    ADD_SUBDIRECTORY (doc)
 ELSE(${HAVE_SALOME})
     SET(SHAPER_INSTALL_ADDONS addons CACHE INTERNAL "" FORCE)
     SET(SHAPER_INSTALL_BIN bin CACHE INTERNAL "" FORCE)
@@ -64,14 +54,13 @@ ELSE(${HAVE_SALOME})
     SET(SHAPER_INSTALL_TUI_DOC doc CACHE INTERNAL "" FORCE)
 ENDIF(${HAVE_SALOME})
 
-#IF(CMAKE_BUILD_TYPE MATCHES Release)
-ADD_SUBDIRECTORY (doc)
-#ENDIF(CMAKE_BUILD_TYPE MATCHES Release)
 ADD_SUBDIRECTORY (src/Config)
 ADD_SUBDIRECTORY (src/Events)
 ADD_SUBDIRECTORY (src/Model)
+ADD_SUBDIRECTORY (src/XAO)
 ADD_SUBDIRECTORY (src/GeomAPI)
 ADD_SUBDIRECTORY (src/ModelAPI)
+ADD_SUBDIRECTORY (src/ModelGeomAlgo)
 ADD_SUBDIRECTORY (src/GeomAlgoAPI)
 ADD_SUBDIRECTORY (src/GeomAlgoImpl)
 ADD_SUBDIRECTORY (src/GeomData)
@@ -79,7 +68,9 @@ ADD_SUBDIRECTORY (src/GeomDataAPI)
 ADD_SUBDIRECTORY (src/PartSetPlugin)
 ADD_SUBDIRECTORY (src/ConstructionPlugin)
 ADD_SUBDIRECTORY (src/BuildPlugin)
+ADD_SUBDIRECTORY (src/PrimitivesPlugin)
 ADD_SUBDIRECTORY (src/FeaturesPlugin)
+ADD_SUBDIRECTORY (src/CollectionPlugin)
 ADD_SUBDIRECTORY (src/SamplePanelPlugin)
 ADD_SUBDIRECTORY (src/SketcherPrs)
 ADD_SUBDIRECTORY (src/SketchPlugin)
@@ -96,9 +87,15 @@ ADD_SUBDIRECTORY (src/PythonAddons)
 ADD_SUBDIRECTORY (src/PythonAPI)
 # High Level C++/Python API
 ADD_SUBDIRECTORY (src/ModelHighAPI)
+ADD_SUBDIRECTORY (src/BuildAPI)
+ADD_SUBDIRECTORY (src/ConnectorAPI)
 ADD_SUBDIRECTORY (src/ConstructionAPI)
 ADD_SUBDIRECTORY (src/ExchangeAPI)
 ADD_SUBDIRECTORY (src/FeaturesAPI)
+ADD_SUBDIRECTORY (src/CollectionAPI)
+ADD_SUBDIRECTORY (src/ParametersAPI)
+ADD_SUBDIRECTORY (src/PartSetAPI)
+ADD_SUBDIRECTORY (src/PrimitivesAPI)
 ADD_SUBDIRECTORY (src/SketchAPI)
 
 IF(${HAVE_SALOME})