-# Copyright (C) 2012 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
# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
#
+IF(SALOME_USE_VTKVIEWER)
+ INCLUDE(${VTK_USE_FILE})
+ENDIF()
+
+# --- options ---
+
+# additional include directories
INCLUDE_DIRECTORIES(
${CAS_INCLUDE_DIRS}
- ${QT_INCLUDE_DIRS}
- ${PTHREAD_INCLUDE_DIRS}
- ${PYTHON_INCLUDE_DIRS}
+ ${QT_INCLUDES}
${SIP_INCLUDE_DIRS}
- ${BOOST_INCLUDE_DIRS}
${PYTHON_INCLUDE_DIRS}
- ${VTK_INCLUDE_DIRS}
- ${OMNIORB_INCLUDE_DIRS}
- ${KERNEL_ROOT_DIR}/include/salome
- ${CMAKE_CURRENT_SOURCE_DIR}
- ${CMAKE_CURRENT_SOURCE_DIR}/../../PyInterp
- ${CMAKE_CURRENT_SOURCE_DIR}/../../SalomeApp
- ${CMAKE_CURRENT_SOURCE_DIR}/../../SUIT
- ${CMAKE_CURRENT_SOURCE_DIR}/../../Qtx
- ${CMAKE_CURRENT_SOURCE_DIR}/../../LightApp
- ${CMAKE_CURRENT_SOURCE_DIR}/../SALOME_PYQT_GUILight
- ${CMAKE_CURRENT_SOURCE_DIR}/../../Plot2d
- ${CMAKE_CURRENT_SOURCE_DIR}/../../OCCViewer
- ${CMAKE_CURRENT_SOURCE_DIR}/../../SalomeApp
- ${CMAKE_CURRENT_SOURCE_DIR}/../../CAM
- ${CMAKE_CURRENT_SOURCE_DIR}/../../STD
+ ${PTHREAD_INCLUDE_DIR}
+ ${Boost_INCLUDE_DIRS}
+ ${OMNIORB_INCLUDE_DIR}
+ ${PROJECT_SOURCE_DIR}/src/CAM
+ ${PROJECT_SOURCE_DIR}/src/LightApp
+ ${PROJECT_SOURCE_DIR}/src/PyInterp
+ ${PROJECT_SOURCE_DIR}/src/Qtx
+ ${PROJECT_SOURCE_DIR}/src/SALOME_PYQT/SALOME_PYQT_GUILight
+ ${PROJECT_SOURCE_DIR}/src/STD
+ ${PROJECT_SOURCE_DIR}/src/SUIT
+ ${PROJECT_SOURCE_DIR}/src/SalomeApp
)
-SET(COMMON_FLAGS "-DCALL_OLD_METHODS -DHAVE_CONFIG_H ${QT_DEFINITIONS} ${PYTHON_DEFINITIONS} ${CAS_DEFINITIONS} ${BOOST_DEFINITIONS} ${VTK_DEFINITIONS} ${CORBA_DEFINITIONS} ${PLATFORM_DEFINITIONS}")
-SET(COMMON_LIBS
- ${PYTHON_LIBS}
- ${PYQT_LIBS}
- ${VTK_LIBS}
- ${OGL_LIBS}
+# additional preprocessor / compiler flags
+ADD_DEFINITIONS(
+ ${QT_DEFINITIONS}
+ ${CAS_DEFINITIONS}
+ ${PYTHON_DEFINITIONS}
+ ${BOOST_DEFINITIONS}
+ ${OMNIORB_DEFINITIONS}
+)
+
+# libraries to link to
+SET(_link_LIBRARIES
+ ${PYTHON_LIBRARIES}
+ ${VTK_LIBRARIES}
+ ${OPENGL_LIBRARIES}
${PLATFORM_LIBS}
- PyInterp
- SalomeApp
- OCCViewer
- Plot2d
- SalomePyQtGUILight
+ ${OMNIORB_LIBRARIES}
+ SalomePyQtGUILight SalomeApp
)
-SET(GUI_HEADERS SALOME_PYQT_Module.h)
-QT4_WRAP_CPP(GUI_HEADERS_MOC ${GUI_HEADERS})
+# --- headers ---
-ADD_LIBRARY(SalomePyQtGUI SHARED SALOME_PYQT_Module.cxx ${GUI_HEADERS_MOC})
-SET_TARGET_PROPERTIES(SalomePyQtGUI PROPERTIES COMPILE_FLAGS "${COMMON_FLAGS}")
-TARGET_LINK_LIBRARIES(SalomePyQtGUI ${COMMON_LIBS})
-INSTALL(TARGETS SalomePyQtGUI DESTINATION ${GUI_salomelib_LIBS})
+# header files / to be processed by moc
+SET(_moc_HEADERS SALOME_PYQT_Module.h)
-SET(COMMON_HEADERS_H
- SALOME_PYQT_GUI.h
- SALOME_PYQT_Module.h
-)
+# header files / no moc processing
+SET(_other_HEADERS SALOME_PYQT_GUI.h)
+
+# header files / to install
+SET(SalomePyQtGUI_HEADERS ${_moc_HEADERS} ${_other_HEADERS})
+
+# --- sources ---
+
+# sources / moc wrappings
+QT4_WRAP_CPP(_moc_SOURCES ${_moc_HEADERS})
+
+# sources / static
+SET(_other_SOURCES SALOME_PYQT_Module.cxx)
+
+# sources / to compile
+SET(SalomePyQtGUI_SOURCES ${_other_SOURCES} ${_moc_SOURCES})
+
+# --- rules ---
+
+ADD_LIBRARY(SalomePyQtGUI ${SalomePyQtGUI_SOURCES})
+TARGET_LINK_LIBRARIES(SalomePyQtGUI ${_link_LIBRARIES})
+INSTALL(TARGETS SalomePyQtGUI DESTINATION ${SALOME_INSTALL_LIBS})
-INSTALL(FILES ${COMMON_HEADERS_H} DESTINATION ${GUI_salomeinclude_HEADERS})
+INSTALL(FILES ${SalomePyQtGUI_HEADERS} DESTINATION ${SALOME_INSTALL_HEADERS})