Salome HOME
Copyright update 2022
[modules/gui.git] / src / SALOME_PY / CMakeLists.txt
old mode 100755 (executable)
new mode 100644 (file)
index 3401613..39104b1
@@ -1,9 +1,9 @@
-# Copyright (C) 2012-2013  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2012-2022  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
 #
 
-INCLUDE(${VTK_USE_FILE})
+# --- options ---
 
+# additional include directories
 INCLUDE_DIRECTORIES(
-  ${CAS_INCLUDE_DIRS}
+  ${OpenCASCADE_INCLUDE_DIR}
   ${QT_INCLUDES}
   ${PYTHON_INCLUDE_DIRS}
-  ${Boost_INCLUDE_DIRS}
-  ${PTHREAD_INCLUDE_DIRS}
-  ${KERNEL_INCLUDE_DIRS}
-  ${CMAKE_CURRENT_SOURCE_DIR}/../LightApp
-  ${CMAKE_CURRENT_SOURCE_DIR}/../Event
-  ${CMAKE_CURRENT_SOURCE_DIR}/../Session
-  ${CMAKE_CURRENT_SOURCE_DIR}/../SVTK
-  ${CMAKE_CURRENT_SOURCE_DIR}/../Qtx
-  ${CMAKE_CURRENT_SOURCE_DIR}/../SUIT
-  ${CMAKE_CURRENT_SOURCE_DIR}/../CAM
-  ${CMAKE_CURRENT_SOURCE_DIR}/../STD
-  ${CMAKE_CURRENT_SOURCE_DIR}/../VTKViewer
-  ${CMAKE_CURRENT_SOURCE_DIR}/../OBJECT
+  ${PROJECT_SOURCE_DIR}/src/CAM
+  ${PROJECT_SOURCE_DIR}/src/Event
+  ${PROJECT_SOURCE_DIR}/src/LightApp
+  ${PROJECT_SOURCE_DIR}/src/OBJECT
+  ${PROJECT_SOURCE_DIR}/src/Qtx
+  ${PROJECT_SOURCE_DIR}/src/STD
+  ${PROJECT_SOURCE_DIR}/src/SUIT
+  ${PROJECT_SOURCE_DIR}/src/SVTK
+  ${PROJECT_SOURCE_DIR}/src/VTKViewer
 )
 
-SET(COMMON_LIBS
+# additional preprocessor / compiler flags
+ADD_DEFINITIONS(
+  ${OpenCASCADE_DEFINITIONS}
+  ${QT_DEFINITIONS}
+  ${PYTHON_DEFINITIONS}
+)
+
+# libraries to link to
+SET(_link_LIBRARIES
   ${PYTHON_LIBRARIES}
   ${QT_LIBRARIES}
-  ${VTK_LIBRARIES}
   ${OPENGL_LIBRARIES}
   LightApp
-  ${VTK_PYLIBS}
-  #  ${vtkCommonPythonD}
-  #  ${vtkGraphicsPythonD}
-  #  ${vtkImagingPythonD}
-  #  ${vtkPythonCore}
 )
-IF(WINDOWS)
- ADD_DEFINITIONS("${CAS_DEFINITIONS} ${QT_DEFINITIONS} ${BOOST_DEFINITIONS} ${PYTHON_DEFINITIONS}")
-ELSE(WINDOWS)
- ADD_DEFINITIONS("-DHAVE_CONFIG_H ${CAS_DEFINITIONS} ${QT_DEFINITIONS} ${BOOST_DEFINITIONS} ${PYTHON_DEFINITIONS}")
-ENDIF(WINDOWS)
+
+# --- rules ---
 
 ADD_LIBRARY(SalomePy SalomePy.cxx)
-TARGET_LINK_LIBRARIES(SalomePy ${COMMON_LIBS})
+TARGET_LINK_LIBRARIES(SalomePy ${_link_LIBRARIES})
 INSTALL(TARGETS SalomePy DESTINATION ${SALOME_INSTALL_LIBS})
 
-IF(WINDOWS)
-  IF(CMAKE_BUILD_TYPE STREQUAL Release)
-    INSTALL(FILES ${CMAKE_INSTALL_PREFIX}/${SALOME_INSTALL_LIBS}/SalomePy.dll DESTINATION ${SALOME_INSTALL_LIBS} RENAME libSalomePy.pyd)
-  ELSE(CMAKE_BUILD_TYPE STREQUAL Release)
-    INSTALL(FILES ${CMAKE_INSTALL_PREFIX}/${SALOME_INSTALL_LIBS}/SalomePy.dll DESTINATION ${SALOME_INSTALL_LIBS} RENAME libSalomePy_d.pyd)
-  ENDIF(CMAKE_BUILD_TYPE STREQUAL Release)
-ENDIF(WINDOWS)
+# TODO: check on windows
+IF(WIN32)
+  SET_TARGET_PROPERTIES(SalomePy PROPERTIES PREFIX "lib" SUFFIX ".pyd" DEBUG_OUTPUT_NAME SalomePy_d RELEASE_OUTPUT_NAME SalomePy)
+ENDIF(WIN32)
+
+# TODO: check if PYTHON_ADD_MODULE() macro can be used to build this target
+
+# --- tests ---
+
+ADD_TEST(NAME GUI_libSalomePy COMMAND ${PYTHON_EXECUTABLE} -B ${CMAKE_CURRENT_SOURCE_DIR}/test_vtk_rendering_module.py)