Salome HOME
Improvement of environment path for tests
[tools/solverlab.git] / CDMATH / tests / CMakeLists.txt
1 # Nom du projet tests
2 PROJECT(tests)
3 CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
4
5 IF (CDMATH_WITH_TESTS)
6   INCLUDE_DIRECTORIES(
7     ${MEDCOUPLING_INCLUDE_DIR}
8     ${BASE_DIR}/inc
9     ${MESH_DIR}/inc
10     cdmath
11     ${CPPUNIT_INCLUDE_DIR}
12     )
13
14   SET(MAIN_SOURCES
15     MainTests.cxx
16     )
17
18   ADD_EXECUTABLE(TestCDMATH ${MAIN_SOURCES})
19
20   if  (CDMATH_WITH_PETSC)
21       INCLUDE_DIRECTORIES(
22         ${LINEARSOLVER_DIR}/inc
23         ${PETSC_INCLUDES}
24         ${SLEPC_INCLUDES}
25         )
26       SET(_extra_lib_TESTS linearsolver ${PETSC_LIBRARIES} ${SLEPC_LIBRARIES})
27       SET_TARGET_PROPERTIES(TestCDMATH PROPERTIES COMPILE_FLAGS -DCDMATH_WITH_PETSC)
28       SET(TESTS_LIBRARY_PATH ${CMAKE_BINARY_DIR}/CDMATH/base/lib:${CMAKE_BINARY_DIR}/CDMATH/mesh/lib:${CMAKE_BINARY_DIR}/CDMATH/linearsolver/lib:${MEDCOUPLING_ROOT_DIR}/lib:${MEDFILE_ROOT_DIR}/lib:${CMAKE_INSTALL_PREFIX}/lib/medcoupling:${CMAKE_INSTALL_PREFIX}/lib/med:${PETSC_DIR}/${PETSC_ARCH}/lib:${HDF5_ROOT}/lib:${LD_LIBRARY_PATH} ) 
29   else (CDMATH_WITH_PETSC)
30       SET(_extra_lib_TESTS)
31       SET_TARGET_PROPERTIES(TestCDMATH PROPERTIES COMPILE_FLAGS "")
32       SET(TESTS_LIBRARY_PATH ${CMAKE_BINARY_DIR}/CDMATH/base/lib:${CMAKE_BINARY_DIR}/CDMATH/mesh/lib:${MEDCOUPLING_ROOT_DIR}/lib:${MEDFILE_ROOT_DIR}/lib:${CMAKE_INSTALL_PREFIX}/lib/medcoupling:${CMAKE_INSTALL_PREFIX}/lib/med:${PETSC_DIR}/${PETSC_ARCH}/lib:${HDF5_ROOT}/lib:${LD_LIBRARY_PATH} ) 
33   endif(CDMATH_WITH_PETSC)
34
35   if   (CDMATH_WITH_PYTHON)
36     SET(TESTS_PYTHON_PATH ${CMAKE_BINARY_DIR}/CDMATH/swig:${CMAKE_BINARY_DIR}/CDMATH/postprocessing:${MEDCOUPLING_ROOT_DIR}/lib:${MEDFILE_ROOT_DIR}/lib:${CMAKE_INSTALL_PREFIX}/lib/medcoupling:${CMAKE_INSTALL_PREFIX}/lib/med:${PYTHONPATH} ) 
37   endif(CDMATH_WITH_PYTHON)
38
39   TARGET_LINK_LIBRARIES(TestCDMATH TestMesh base mesh ${CPPUNIT_LIBS} ${_extra_lib_TESTS})
40
41   ADD_TEST(UnitTestCDMATH TestCDMATH)
42   SET_PROPERTY(TEST UnitTestCDMATH PROPERTY ENVIRONMENT "LD_LIBRARY_PATH=${TESTS_LIBRARY_PATH}")
43   INSTALL(TARGETS TestCDMATH DESTINATION bin/unit_tests)
44
45   ADD_SUBDIRECTORY(cdmath)
46
47   IF (CDMATH_WITH_PYTHON)
48     ADD_SUBDIRECTORY(swig)
49   ENDIF (CDMATH_WITH_PYTHON)
50
51 ENDIF (CDMATH_WITH_TESTS)
52
53 ADD_SUBDIRECTORY(ressources)
54
55 FILE(COPY doc/ DESTINATION share/doc/)
56
57 if (CDMATH_WITH_PYTHON AND CDMATH_WITH_PETSC AND CDMATH_WITH_POSTPRO)
58   # Examples tests
59   set (examples_dir ${CDMATH_SOURCE_DIR}/tests/examples)
60   add_subdirectory (${examples_dir})
61   add_subdirectory (validation)
62
63   add_custom_target (tests_CDMATH COMMAND ctest -O tests.log)
64   add_custom_target (check COMMAND ctest -E 'validation|Example')# may be replace ctest -E with ctest -LE
65   add_custom_target (examples COMMAND ctest -R Example)# may be replace ctest -R with ctest -L
66   add_custom_target (validation COMMAND ctest -R validation)# may be replace ctest -R with ctest -L
67
68   add_custom_target (spectrum COMMAND ctest -R Spectrum)# may be replace ctest -R with ctest -L
69   add_custom_target (beltrami COMMAND ctest -R Beltrami)# may be replace ctest -R with ctest -L
70   add_custom_target (poisson COMMAND ctest -R Poisson)# may be replace ctest -R with ctest -L
71   add_custom_target (diffusion COMMAND ctest -R Diffusion)# may be replace ctest -R with ctest -L
72   add_custom_target (transport COMMAND ctest -R Transport)# may be replace ctest -R with ctest -L
73   add_custom_target (wave COMMAND ctest -R WaveSystem)# may be replace ctest -R with ctest -L
74   add_custom_target (upwind COMMAND ctest -R Upwind)# may be replace ctest -R with ctest -L
75   add_custom_target (pstag COMMAND ctest -R PStag)# may be replace ctest -R with ctest -L
76   add_custom_target (staggered COMMAND ctest -R Staggered)# may be replace ctest -R with ctest -L
77   add_custom_target (centered COMMAND ctest -R Centered)# may be replace ctest -R with ctest -L
78   add_custom_target (triangles COMMAND ctest -R triangles)# may be replace ctest -R with ctest -L
79   add_custom_target (checkerboard COMMAND ctest -R checkerboard)# may be replace ctest -R with ctest -L
80   add_custom_target (squares COMMAND ctest -R squares)# may be replace ctest -R with ctest -L
81   add_custom_target (scaling COMMAND ctest -R '_scaling' -E no_scaling)# may be replace ctest -R with ctest -L
82   add_custom_target (noscaling COMMAND ctest -R no_scaling)# may be replace ctest -R with ctest -L
83   add_custom_target (2D COMMAND ctest -R 2D)# may be replace ctest -R with ctest -L
84   add_custom_target (3D COMMAND ctest -R 3D)# may be replace ctest -R with ctest -L
85   add_custom_target (FE COMMAND ctest -R FE)# may be replace ctest -R with ctest -L
86   add_custom_target (FV COMMAND ctest -R FV)# may be replace ctest -R with ctest -L
87   add_custom_target (shock COMMAND ctest -R Shock)# may be replace ctest -R with ctest -L
88   add_custom_target (vortex COMMAND ctest -R Vortex)# may be replace ctest -R with ctest -L
89   add_custom_target (riemann COMMAND ctest -R RiemannProblem)# may be replace ctest -R with ctest -L
90 endif ()
91