# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
#
+INCLUDE(UsePyQt4)
INCLUDE(${VTK_USE_FILE})
+# --- options ---
+
+# additional include directories
INCLUDE_DIRECTORIES(
${CAS_INCLUDE_DIRS}
${QT_INCLUDES}
${SIP_INCLUDE_DIR}
- ${Boost_INCLUDE_DIRS}
${PYTHON_INCLUDE_DIRS}
- ${PTHREAD_INCLUDE_DIRS}
${KERNEL_INCLUDE_DIRS}
${CMAKE_CURRENT_BINARY_DIR}
- ${CMAKE_CURRENT_SOURCE_DIR}/../../PyInterp
- ${CMAKE_CURRENT_SOURCE_DIR}/../../PyConsole
- ${CMAKE_CURRENT_SOURCE_DIR}/../../SUIT
- ${CMAKE_CURRENT_SOURCE_DIR}/../../Qtx
- ${CMAKE_CURRENT_SOURCE_DIR}/../../LightApp
- ${CMAKE_CURRENT_SOURCE_DIR}/../../Plot2d
- ${CMAKE_CURRENT_SOURCE_DIR}/../../OCCViewer
- ${CMAKE_CURRENT_SOURCE_DIR}/../../CAM
- ${CMAKE_CURRENT_SOURCE_DIR}/../../STD
- ${CMAKE_CURRENT_SOURCE_DIR}/../../SUITApp
- ${CMAKE_CURRENT_SOURCE_DIR}/../../CAM
- ${CMAKE_CURRENT_SOURCE_DIR}/../../STD
- ${CMAKE_CURRENT_SOURCE_DIR}/../../Event
+ ${PROJECT_SOURCE_DIR}/src/CAM
+ ${PROJECT_SOURCE_DIR}/src/Event
+ ${PROJECT_SOURCE_DIR}/src/LightApp
+ ${PROJECT_SOURCE_DIR}/src/OCCViewer
+ ${PROJECT_SOURCE_DIR}/src/Plot2d
+ ${PROJECT_SOURCE_DIR}/src/PyConsole
+ ${PROJECT_SOURCE_DIR}/src/PyInterp
+ ${PROJECT_SOURCE_DIR}/src/Qtx
+ ${PROJECT_SOURCE_DIR}/src/STD
+ ${PROJECT_SOURCE_DIR}/src/SUIT
+ ${PROJECT_SOURCE_DIR}/src/SUITApp
)
-SET(COMMON_LIBS ${PYTHON_LIBRARIES} ${PYQT_LIBRARIES} ${VTK_LIBRARIES} ${OPENGL_LIBRARIES} PyInterp LightApp)
+# additional preprocessor / compiler flags
+ADD_DEFINITIONS(
+ "-DCALL_OLD_METHODS"
+ ${QT_DEFINITIONS}
+ ${CAS_DEFINITIONS}
+ ${PYTHON_DEFINITIONS}
+)
+IF(SALOME_LIGHT_ONLY)
+ ADD_DEFINITIONS("-DGUI_DISABLE_CORBA")
+ENDIF()
+# libraries to link to
+SET(_link_LIBRARIES
+ ${PYTHON_LIBRARIES}
+ ${VTK_LIBRARIES}
+ ${OPENGL_LIBRARIES}
+ LightApp
+)
IF(NOT SALOME_LIGHT_ONLY)
- INCLUDE_DIRECTORIES(
- ${CMAKE_CURRENT_SOURCE_DIR}/../../SalomeApp
- ${OMNIORB_INCLUDE_DIR}
- )
- SET(COMMON_LIBS ${COMMON_LIBS} SalomeApp ${SalomeContainer})
-ELSE(NOT SALOME_LIGHT_ONLY)
- SET(COMMON_FLAGS "${COMMON_FLAGS} -DGUI_DISABLE_CORBA")
-ENDIF(NOT SALOME_LIGHT_ONLY)
-
-SET(GUI_HEADERS SALOME_PYQT_PyModule.h SALOME_PYQT_ModuleLight.h SALOME_PYQT_DataModelLight.h)
-QT4_WRAP_CPP(GUI_HEADERS_MOC ${GUI_HEADERS})
-
-# extra source files (generated by sip)
-SET(SIP_SRC
- sipAPISalomePyQtGUILight.h
- sipSalomePyQtGUILightcmodule.cc
+ LIST(APPEND _link_LIBRARIES ${KERNEL_SalomeContainer})
+ENDIF()
+
+# --- headers ---
+
+# header files / to be processed by moc
+SET(_moc_HEADERS
+ SALOME_PYQT_DataModelLight.h
+ SALOME_PYQT_ModuleLight.h
+ SALOME_PYQT_PyModule.h
)
-# Sip definition file
-SET(SIP_FILES
- SALOME_PYQT_GUILight.sip
+
+# header files / no moc processing
+SET(_other_HEADERS
+ SALOME_PYQT_DataObjectLight.h
+ SALOME_PYQT_GUILight.h
+ SALOME_PYQT_PyInterp.h
)
-FOREACH(input ${SIP_FILES})
- SET(input ${CMAKE_CURRENT_SOURCE_DIR}/${input})
- SET(output)
- FOREACH(out ${SIP_SRC})
- SET(output ${output} ${CMAKE_CURRENT_BINARY_DIR}/${out})
- ENDFOREACH(out ${SIP_SRC})
- ADD_CUSTOM_COMMAND(
- OUTPUT ${output}
- COMMAND ${SIP_EXECUTABLE} ${PYQT_SIPFLAGS} ${input}
- MAIN_DEPENDENCY ${input}
- )
-ENDFOREACH(input ${SIP_FILES})
-
-
-SET(SalomePyQtGUI_SOURCES
- SALOME_PYQT_PyModule.cxx
- SALOME_PYQT_ModuleLight.cxx
- SALOME_PYQT_DataObjectLight.cxx
+
+# header files / to install
+SET(SalomePyQtGUILight_HEADERS ${_moc_HEADERS} ${_other_HEADERS})
+
+# --- resources ---
+
+# sip files / to be processed by sip
+SET(_sip_files SALOME_PYQT_GUILight.sip)
+
+# --- sources ---
+
+# sources / moc wrappings
+QT4_WRAP_CPP(_moc_SOURCES ${_moc_HEADERS})
+
+# sources / sip wrappings
+PYQT4_WRAP_SIP(_sip_SOURCES ${_sip_files})
+
+# sources / static
+SET(_other_SOURCES
SALOME_PYQT_DataModelLight.cxx
+ SALOME_PYQT_DataObjectLight.cxx
+ SALOME_PYQT_ModuleLight.cxx
SALOME_PYQT_PyInterp.cxx
+ SALOME_PYQT_PyModule.cxx
)
+# sources / to compile
+SET(SalomePyQtGUILight_SOURCES ${_other_SOURCES} ${_moc_SOURCES} ${_sip_SOURCES})
-IF(WINDOWS)
- ADD_DEFINITIONS( "-DCALL_OLD_METHODS ${QT_DEFINITIONS} ${CAS_DEFINITIONS} ${BOOST_DEFINITIONS} ${PYTHON_DEFINITIONS}")
-ELSE(WINDOWS)
- ADD_DEFINITIONS( "-DHAVE_CONFIG_H -DCALL_OLD_METHODS ${QT_DEFINITIONS} ${CAS_DEFINITIONS} ${BOOST_DEFINITIONS} ${PYTHON_DEFINITIONS}")
-ENDIF(WINDOWS)
+# --- rules ---
-
-ADD_LIBRARY(SalomePyQtGUILight ${SalomePyQtGUI_SOURCES} ${GUI_HEADERS_MOC} ${SIP_SRC})
-TARGET_LINK_LIBRARIES(SalomePyQtGUILight ${COMMON_LIBS})
+ADD_LIBRARY(SalomePyQtGUILight ${SalomePyQtGUILight_SOURCES})
+TARGET_LINK_LIBRARIES(SalomePyQtGUILight ${_link_LIBRARIES})
INSTALL(TARGETS SalomePyQtGUILight DESTINATION ${SALOME_INSTALL_LIBS})
-SET(COMMON_HEADERS_H
- SALOME_PYQT_GUILight.h
- SALOME_PYQT_ModuleLight.h
- SALOME_PYQT_DataObjectLight.h
- SALOME_PYQT_DataModelLight.h
- SALOME_PYQT_PyInterp.h
-)
-INSTALL(FILES ${COMMON_HEADERS_H} DESTINATION ${SALOME_INSTALL_HEADERS})
+INSTALL(FILES ${SalomePyQtGUILight_HEADERS} DESTINATION ${SALOME_INSTALL_HEADERS})