Salome HOME
Merge remote branch 'origin/hydro/imps_2015'
[modules/gui.git] / src / SALOME_PYQT / SalomePyQt / CMakeLists.txt
index 9827dc25f5b7032de49b104c6efc3f276c15b331..e77ddf6ae1bc239530fee1bbd4b728f0e2d92ee5 100755 (executable)
@@ -1,9 +1,9 @@
-# Copyright (C) 2012-2013  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2012-2015  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -18,7 +18,9 @@
 #
 
 INCLUDE(UsePyQt4)
-INCLUDE(${VTK_USE_FILE})
+IF(SALOME_USE_VTKVIEWER)
+  INCLUDE(${VTK_USE_FILE})
+ENDIF()
 
 # --- options ---
 
@@ -30,23 +32,43 @@ INCLUDE_DIRECTORIES(
   ${SIP_INCLUDE_DIR}
   ${Boost_INCLUDE_DIRS}
   ${PYTHON_INCLUDE_DIRS}
-  ${KERNEL_INCLUDE_DIRS}
   ${CMAKE_CURRENT_SOURCE_DIR}
   ${PROJECT_SOURCE_DIR}/src/CAM
   ${PROJECT_SOURCE_DIR}/src/Event
   ${PROJECT_SOURCE_DIR}/src/LightApp
   ${PROJECT_SOURCE_DIR}/src/LogWindow
   ${PROJECT_SOURCE_DIR}/src/OBJECT
-  ${PROJECT_SOURCE_DIR}/src/OCCViewer
   ${PROJECT_SOURCE_DIR}/src/ObjBrowser
-  ${PROJECT_SOURCE_DIR}/src/Plot2d
   ${PROJECT_SOURCE_DIR}/src/PyInterp
+  ${PROJECT_SOURCE_DIR}/src/PyConsole
   ${PROJECT_SOURCE_DIR}/src/Qtx
   ${PROJECT_SOURCE_DIR}/src/SALOME_PYQT/SALOME_PYQT_GUILight
   ${PROJECT_SOURCE_DIR}/src/STD
   ${PROJECT_SOURCE_DIR}/src/SUIT
 )
 
+IF(SALOME_USE_OCCVIEWER)
+  INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/src/OCCViewer)
+ENDIF(SALOME_USE_OCCVIEWER)
+IF(SALOME_USE_PVVIEWER)
+  INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/src/PVViewer)
+ENDIF(SALOME_USE_PVVIEWER)
+IF(SALOME_USE_PLOT2DVIEWER)
+  INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/src/Plot2d)
+ELSE(SALOME_USE_PLOT2DVIEWER)
+  #disable 'ENABLE_PLOT2D' feature
+  SET(PYQT_SIPFLAGS ${PYQT_SIPFLAGS} "-xENABLE_PLOT2D;")
+ENDIF(SALOME_USE_PLOT2DVIEWER)
+
+IF(SALOME_LIGHT_ONLY)
+  #disable 'ENABLE_CORBA' feature
+  SET(PYQT_SIPFLAGS ${PYQT_SIPFLAGS} "-xENABLE_CORBA;")
+ELSE(SALOME_LIGHT_ONLY)
+  INCLUDE_DIRECTORIES(
+    ${PROJECT_SOURCE_DIR}/src/SalomeApp
+  )
+ENDIF(SALOME_LIGHT_ONLY)
+
 # additional preprocessor / compiler flags
 ADD_DEFINITIONS(
   ${QWT_DEFINITIONS}
@@ -54,6 +76,7 @@ ADD_DEFINITIONS(
   ${CAS_DEFINITIONS}
   ${BOOST_DEFINITIONS}
   ${PYTHON_DEFINITIONS}
+  ${OMNIORB_DEFINITIONS}
 )
 
 # libraries to link to
@@ -74,6 +97,9 @@ SET(_moc_HEADERS SalomePyQt.h)
 
 # sip files / to be processed by sip
 SET(_sip_files SalomePyQt.sip)
+IF(SALOME_USE_PLOT2DVIEWER)
+  LIST(APPEND _sip_files SalomePyQt_Plot2d.sip)
+ENDIF(SALOME_USE_PLOT2DVIEWER)
 
 # --- sources ---
 
@@ -95,8 +121,11 @@ ADD_LIBRARY(SalomePyQt ${SalomePyQt_SOURCES})
 TARGET_LINK_LIBRARIES(SalomePyQt ${_link_LIBRARIES})
 INSTALL(TARGETS SalomePyQt DESTINATION ${SALOME_INSTALL_LIBS})
 
-IF(WINDOWS)
+IF(WIN32)
   SET_TARGET_PROPERTIES(SalomePyQt PROPERTIES SUFFIX ".pyd" DEBUG_OUTPUT_NAME SalomePyQt_d RELEASE_OUTPUT_NAME SalomePyQt)
 ELSE()
   SET_TARGET_PROPERTIES(SalomePyQt PROPERTIES PREFIX "")
 ENDIF()
+
+FILE(GLOB make_clean_files ${CMAKE_CURRENT_BINARY_DIR}/sip*)
+SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${make_clean_files}")