X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSALOME_PYQT%2FSALOME_PYQT_GUILight%2FCMakeLists.txt;h=cf8cc6cf720fd3cbf0a3c2583172f8beb685b444;hb=68aee8800d95437a7b8ab577fad288e0d0640613;hp=abb02c164b4f090b803462f7848aabdd5c4e0522;hpb=2f00da15280d837f614af0ad848cea1cba83bc02;p=modules%2Fgui.git diff --git a/src/SALOME_PYQT/SALOME_PYQT_GUILight/CMakeLists.txt b/src/SALOME_PYQT/SALOME_PYQT_GUILight/CMakeLists.txt index abb02c164..cf8cc6cf7 100755 --- a/src/SALOME_PYQT/SALOME_PYQT_GUILight/CMakeLists.txt +++ b/src/SALOME_PYQT/SALOME_PYQT_GUILight/CMakeLists.txt @@ -1,9 +1,9 @@ -# Copyright (C) 2012 CEA/DEN, EDF R&D, OPEN CASCADE +# Copyright (C) 2012-2014 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 @@ -17,87 +17,104 @@ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # +INCLUDE(UsePyQt4) +IF(SALOME_USE_VTKVIEWER) + INCLUDE(${VTK_USE_FILE}) +ENDIF() + +# --- options --- + +# additional include directories INCLUDE_DIRECTORIES( ${CAS_INCLUDE_DIRS} ${QT_INCLUDES} ${SIP_INCLUDE_DIR} - ${Boost_INCLUDE_DIRS} ${PYTHON_INCLUDE_DIRS} - ${VTK_INCLUDE_DIRS} - ${PTHREAD_INCLUDE_DIRS} - ${KERNEL_ROOT_DIR}/include/salome + ${PTHREAD_INCLUDE_DIR} ${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 + ${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 + ${PROJECT_SOURCE_DIR}/src/ObjBrowser ) -SET(COMMON_LIBS ${PYTHON_LIBRARIES} ${PYQT_LIBRARIES} ${VTK_LIBRARIES} ${OPENGL_LIBRARIES} PyInterp LightApp) - -IF(SALOME_USE_CORBA) - INCLUDE_DIRECTORIES( - ${CMAKE_CURRENT_SOURCE_DIR}/../../SalomeApp - ${OMNIORB_INCLUDE_DIR} - ) - SET(COMMON_LIBS ${COMMON_LIBS} SalomeApp ${SalomeContainer}) -ELSE(SALOME_USE_CORBA) - SET(COMMON_FLAGS "${COMMON_FLAGS} -DGUI_DISABLE_CORBA") -ENDIF(SALOME_USE_CORBA) - -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 -) -# Sip definition file -SET(SIP_FILES - SALOME_PYQT_GUILight.sip -) -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 - SALOME_PYQT_DataModelLight.cxx - SALOME_PYQT_PyInterp.cxx +# additional preprocessor / compiler flags +ADD_DEFINITIONS( + ${QT_DEFINITIONS} + ${CAS_DEFINITIONS} + ${PYTHON_DEFINITIONS} ) -ADD_DEFINITIONS( "-DHAVE_CONFIG_H -DCALL_OLD_METHODS ${QT_DEFINITIONS} ${CAS_DEFINITIONS} ${BOOST_DEFINITIONS} ${VTK_DEFINITIONS} ${PYTHON_DEFINITIONS}") +# libraries to link to +SET(_link_LIBRARIES + ${PYTHON_LIBRARIES} + ${VTK_LIBRARIES} + ${OPENGL_LIBRARIES} + LightApp +) +IF(NOT SALOME_LIGHT_ONLY) + LIST(APPEND _link_LIBRARIES ${KERNEL_SalomeContainer}) +ENDIF() -ADD_LIBRARY(SalomePyQtGUILight ${SalomePyQtGUI_SOURCES} ${GUI_HEADERS_MOC} ${SIP_SRC}) -TARGET_LINK_LIBRARIES(SalomePyQtGUILight ${COMMON_LIBS}) -INSTALL(TARGETS SalomePyQtGUILight DESTINATION ${GUI_salomelib_LIBS}) +# --- headers --- -SET(COMMON_HEADERS_H - SALOME_PYQT_GUILight.h +# header files / to be processed by moc +SET(_moc_HEADERS + SALOME_PYQT_DataModelLight.h SALOME_PYQT_ModuleLight.h + SALOME_PYQT_PyModule.h +) + +# header files / no moc processing +SET(_other_HEADERS SALOME_PYQT_DataObjectLight.h - SALOME_PYQT_DataModelLight.h + SALOME_PYQT_GUILight.h SALOME_PYQT_PyInterp.h ) -INSTALL(FILES ${COMMON_HEADERS_H} DESTINATION ${GUI_salomeinclude_HEADERS}) + +# 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}) + +# --- rules --- + +ADD_LIBRARY(SalomePyQtGUILight ${SalomePyQtGUILight_SOURCES}) +TARGET_LINK_LIBRARIES(SalomePyQtGUILight ${_link_LIBRARIES}) +INSTALL(TARGETS SalomePyQtGUILight DESTINATION ${SALOME_INSTALL_LIBS}) + +INSTALL(FILES ${SalomePyQtGUILight_HEADERS} DESTINATION ${SALOME_INSTALL_HEADERS}) + +FILE(GLOB make_clean_files ${CMAKE_CURRENT_BINARY_DIR}/sip*) +SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${make_clean_files}")