MESSAGE(FATAL_ERROR "We absolutely need a Salome SMESH with GUI, please set SALOME_BUILD_GUI=ON in SMESH module")
ENDIF(NOT SALOME_SMESH_BUILD_GUI)
ENDIF(SALOME_BUILD_GUI)
- IF(SALOME_BUILD_DOC)
- IF(NOT SALOME_SMESH_BUILD_DOC)
- MESSAGE(FATAL_ERROR "We absolutely need a Salome SMESH documentation to build BLSURFPLUGIN documentation. "
- "So, you should either set SALOME_BUILD_DOC=OFF in BLSURFPLUGIN or set SALOME_BUILD_DOC=ON in SMESH module.")
- ENDIF(NOT SALOME_SMESH_BUILD_DOC)
- ENDIF(SALOME_BUILD_DOC)
ELSE(EXISTS ${SMESH_ROOT_DIR})
MESSAGE(FATAL_ERROR "We absolutely need a Salome SMESH, please define SMESH_ROOT_DIR")
ENDIF(EXISTS ${SMESH_ROOT_DIR})
ADD_SUBDIRECTORY(resources)
ADD_SUBDIRECTORY(src)
ADD_SUBDIRECTORY(bin)
-IF(SALOME_BUILD_DOC)
- ADD_SUBDIRECTORY(doc)
-ENDIF(SALOME_BUILD_DOC)
+ADD_SUBDIRECTORY(doc)
IF(SALOME_BUILD_TESTS)
ADD_SUBDIRECTORY(tests)
ENDIF(SALOME_BUILD_TESTS)
# Install the export set for use with the install-tree
INSTALL(EXPORT ${PROJECT_NAME}TargetGroup DESTINATION "${SALOME_INSTALL_CMAKE_LOCAL}"
FILE ${PROJECT_NAME}Targets.cmake)
+
+IF(SALOME_BUILD_TESTS)
+ CONFIGURE_FILE(CTestTestfileInstall.cmake
+ ${CMAKE_CURRENT_BINARY_DIR}/CTestTestfileInstall.cmake
+ @ONLY)
+ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/CTestTestfileInstall.cmake
+ DESTINATION ${SALOME_BLSURFPLUGIN_INSTALL_TESTS}
+ RENAME CTestTestfile.cmake)
+ENDIF()
--- /dev/null
+# Copyright (C) 2016-2020 CEA/DEN, EDF R&D
+#
+# 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, 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
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
+SET(TESTS_DIR "$ENV{BLSURFPLUGIN_ROOT_DIR}/@SALOME_INSTALL_DOC@/examples/BLSURFPLUGIN")
+
+INCLUDE(tests.set)
+INCLUDE(examples.set)
+
+SET(COMPONENT_NAME BLSURFPLUGIN)
+SET(SALOME_TEST_DRIVER "$ENV{KERNEL_ROOT_DIR}/bin/salome/appliskel/salome_test_driver.py")
+SET(TIMEOUT 300)
+
+FOREACH(tfile ${TEST_SCRIPTS} ${EXAMPLE_SCRIPTS})
+ GET_FILENAME_COMPONENT(TEST_NAME ${tfile} NAME_WE)
+ SET(TEST_NAME "${COMPONENT_NAME}_${TEST_NAME}")
+ ADD_TEST(${TEST_NAME} python ${SALOME_TEST_DRIVER} ${TIMEOUT} ${TESTS_DIR}/${tfile})
+ SET_TESTS_PROPERTIES(${TEST_NAME} PROPERTIES LABELS "${COMPONENT_NAME}")
+ENDFOREACH()
#
ADD_SUBDIRECTORY(examples)
-ADD_SUBDIRECTORY(gui)
-ADD_SUBDIRECTORY(tui)
\ No newline at end of file
+IF(SALOME_BUILD_DOC)
+ ADD_SUBDIRECTORY(gui)
+ ADD_SUBDIRECTORY(tui)
+ENDIF()
# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
#
-# FILE(GLOB files "${CMAKE_CURRENT_SOURCE_DIR}/*.py")
-
INCLUDE(examples.set)
-SET(COMPONENT_NAME BLSURFPLUGIN)
+# Install examples
+
+INSTALL(FILES ${EXAMPLE_SCRIPTS} DESTINATION ${SALOME_INSTALL_DOC}/examples/BLSURFPLUGIN)
+
+# Tests
-SET(TEST_INSTALL_DIRECTORY ${SALOME_BLSURFPLUGIN_INSTALL_TESTS})
+IF(SALOME_BUILD_TESTS)
+ # make test
-# make test
-SALOME_GENERATE_TESTS_ENVIRONMENT(tests_env)
+ SALOME_GENERATE_TESTS_ENVIRONMENT(tests_env)
+ SET(TEST_HELPER ${KERNEL_ROOT_DIR}/bin/salome/test_helper.py)
-FOREACH(tfile ${EXAMPLE_NAMES})
- SET(TEST_NAME ${COMPONENT_NAME}_${tfile})
- ADD_TEST(NAME ${TEST_NAME}
- COMMAND ${PYTHON_EXECUTABLE} -B ${CMAKE_SOURCE_DIR}/doc/salome/examples/testme.py ${CMAKE_CURRENT_SOURCE_DIR}/${tfile}.py)
- SET_TESTS_PROPERTIES(${TEST_NAME} PROPERTIES ENVIRONMENT "${tests_env}")
- SET_TESTS_PROPERTIES(${TEST_NAME} PROPERTIES LABELS "${COMPONENT_NAME}")
- INSTALL(FILES ${tfile}.py DESTINATION ${SALOME_INSTALL_DOC}/examples/BLSURFPLUGIN)
-ENDFOREACH()
+ FOREACH(tfile ${EXAMPLE_SCRIPTS})
+ GET_FILENAME_COMPONENT(TEST_NAME ${tfile} NAME_WE)
+ ADD_TEST(NAME ${TEST_NAME}
+ COMMAND ${PYTHON_EXECUTABLE} -B ${TEST_HELPER} ${CMAKE_CURRENT_SOURCE_DIR}/${tfile})
+ SET_TESTS_PROPERTIES(${TEST_NAME} PROPERTIES ENVIRONMENT "${tests_env}")
+ ENDFOREACH()
-# salome test
-FOREACH(tfile ${EXAMPLE_NAMES})
- INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${tfile}.py
- DESTINATION ${TEST_INSTALL_DIRECTORY})
-ENDFOREACH()
+ # salome test
-INSTALL(FILES examples.set DESTINATION ${TEST_INSTALL_DIRECTORY})
\ No newline at end of file
+ INSTALL(FILES examples.set DESTINATION ${SALOME_BLSURFPLUGIN_INSTALL_TESTS})
+ENDIF()
# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
#
-SET(EXAMPLE_NAMES
- blsurfdemo
- periodicity_prepro
+SET(EXAMPLE_SCRIPTS
+ blsurfdemo.py
+ periodicity_prepro.py
)
+++ /dev/null
-# Copyright (C) 2007-2020 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, 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
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-#
-# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
-#
-
-#!/usr/bin/env python3
-
-import unittest, sys, os
-
-class SalomeSession(object):
- def __init__(self, script):
- import runSalome
- run_script = "runSalome.py"
- if sys.platform == 'win32':
- module_dir = os.getenv("KERNEL_ROOT_DIR")
- if module_dir: run_script = os.path.join(module_dir, "bin", "salome", run_script)
- pass
- sys.argv = [run_script]
- sys.argv += ["--terminal"]
- sys.argv += ["--modules=GEOM,MED,SMESH"]
- sys.argv += ["%s" % script]
- if sys.platform == 'win32':
- main_module_path = sys.modules['__main__'].__file__
- sys.modules['__main__'].__file__ = ''
- clt, d = runSalome.main()
- if sys.platform == 'win32':
- sys.modules['__main__'].__file__ = main_module_path
- return
-
- def __del__(self):
- port = os.getenv('NSPORT')
- import killSalomeWithPort
- killSalomeWithPort.killMyPort(port)
- return
- pass
-
-class MyTest(unittest.TestCase):
- def testFunction(self):
- SalomeSession(sys.argv[1])
- pass
-
-unittest.main(argv=sys.argv[:1])
INCLUDE(tests.set)
-SET(COMPONENT_NAME BLSURFPLUGIN)
+# Install tests
-SET(TEST_INSTALL_DIRECTORY ${SALOME_BLSURFPLUGIN_INSTALL_TESTS})
+INSTALL(FILES ${TEST_SCRIPTS} DESTINATION ${SALOME_INSTALL_DOC}/examples/BLSURFPLUGIN)
-# make test
-SALOME_GENERATE_TESTS_ENVIRONMENT(tests_env)
+# Tests
-FOREACH(tfile ${TEST_NAMES})
- SET(TEST_NAME ${COMPONENT_NAME}_${tfile})
- ADD_TEST(NAME ${TEST_NAME}
- COMMAND ${PYTHON_EXECUTABLE} -B ${CMAKE_SOURCE_DIR}/doc/salome/examples/testme.py ${CMAKE_CURRENT_SOURCE_DIR}/${tfile}.py)
- SET_TESTS_PROPERTIES(${TEST_NAME} PROPERTIES ENVIRONMENT "${tests_env}")
- SET_TESTS_PROPERTIES(${TEST_NAME} PROPERTIES LABELS "${COMPONENT_NAME}")
-ENDFOREACH()
+IF(SALOME_BUILD_TESTS)
+ # make test
-# salome test
-FOREACH(tfile ${TEST_NAMES})
- INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${tfile}.py
- DESTINATION ${TEST_INSTALL_DIRECTORY})
-ENDFOREACH()
+ SALOME_GENERATE_TESTS_ENVIRONMENT(tests_env)
+ SET(TEST_HELPER ${KERNEL_ROOT_DIR}/bin/salome/test_helper.py)
-INSTALL(FILES CTestTestfileInstall.cmake
- DESTINATION ${TEST_INSTALL_DIRECTORY}
- RENAME CTestTestfile.cmake)
+ FOREACH(tfile ${TEST_SCRIPTS})
+ GET_FILENAME_COMPONENT(TEST_NAME ${tfile} NAME_WE)
+ ADD_TEST(NAME ${TEST_NAME}
+ COMMAND ${PYTHON_EXECUTABLE} -B ${TEST_HELPER} ${CMAKE_CURRENT_SOURCE_DIR}/${tfile})
+ SET_TESTS_PROPERTIES(${TEST_NAME} PROPERTIES ENVIRONMENT "${tests_env}")
+ ENDFOREACH()
-INSTALL(FILES tests.set DESTINATION ${TEST_INSTALL_DIRECTORY})
\ No newline at end of file
+ # salome test
+
+ INSTALL(FILES tests.set DESTINATION ${SALOME_BLSURFPLUGIN_INSTALL_TESTS})
+ENDIF()
+++ /dev/null
-# Copyright (C) 2016-2020 CEA/DEN, EDF R&D
-#
-# 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, 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
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-#
-# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
-#
-
-INCLUDE(tests.set)
-INCLUDE(examples.set)
-
-SET(COMPONENT_NAME BLSURFPLUGIN)
-SET(SALOME_TEST_DRIVER "$ENV{KERNEL_ROOT_DIR}/bin/salome/appliskel/salome_test_driver.py")
-SET(TIMEOUT 300)
-
-
-FOREACH(tfile ${TEST_NAMES} ${EXAMPLE_NAMES})
- SET(TEST_NAME ${COMPONENT_NAME}_${tfile})
- ADD_TEST(${TEST_NAME} python ${SALOME_TEST_DRIVER} ${TIMEOUT} ${tfile}.py)
- SET_TESTS_PROPERTIES(${TEST_NAME} PROPERTIES LABELS "${COMPONENT_NAME}")
-ENDFOREACH()
# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
#
-SET(TEST_NAMES
- attractor
- attractor_edge_on_border
- attractor_point_outside_face
- enforced_internal_vertex
- enforced_vertex
- multithread
- periodicity_2D_prepro
- #periodicity_prepro # already tested in examples
- periodicity_reflexion_2D_prepro
- periodicity_reflexion_prepro
- periodicity_with_points_2D_prepro
- prepro_intersections
- prepro_keep_gaps
- proximity
- quadrangles_gradation
- remove_tiny_edges
- sphere
+SET(TEST_SCRIPTS
+ attractor.py
+ attractor_edge_on_border.py
+ attractor_point_outside_face.py
+ enforced_internal_vertex.py
+ enforced_vertex.py
+ multithread.py
+ periodicity_2D_prepro.py
+ periodicity_reflexion_2D_prepro.py
+ periodicity_reflexion_prepro.py
+ periodicity_with_points_2D_prepro.py
+ prepro_intersections.py
+ prepro_keep_gaps.py
+ proximity.py
+ quadrangles.py
+ quadrangles_gradation.py
+ remove_tiny_edges.py
+ sphere.py
)