Salome HOME
d476cdfb393ed099d95745fa59f6ba5b57758c45
[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     )
12
13   SET(MAIN_SOURCES
14     MainTests.cxx
15     )
16
17   ADD_EXECUTABLE(TestCDMATH ${MAIN_SOURCES})
18
19   if  (CDMATH_WITH_PETSC)
20       INCLUDE_DIRECTORIES(
21         ${LINEARSOLVER_DIR}/inc
22         ${PETSC_INCLUDES}
23         ${SLEPC_INCLUDES}
24         )
25       SET(_extra_lib_TESTS linearsolver ${PETSC_LIBRARIES} ${SLEPC_LIBRARIES})
26       SET_TARGET_PROPERTIES(TestCDMATH PROPERTIES COMPILE_FLAGS -DCDMATH_WITH_PETSC)
27       SET(TESTS_LIBRARY_PATH ${CMAKE_BINARY_DIR}/base/lib:${CMAKE_BINARY_DIR}/mesh/lib:${CMAKE_BINARY_DIR}/linearsolver/lib:${MEDCOUPLING_ROOT_DIR}/lib:${MEDFILE_ROOT_DIR}/lib:${PETSC_DIR}/${PETSC_ARCH}/lib:${HDF5_ROOT}/lib ) 
28   else (CDMATH_WITH_PETSC)
29       SET(_extra_lib_TESTS)
30       SET_TARGET_PROPERTIES(TestCDMATH PROPERTIES COMPILE_FLAGS "")
31       SET(TESTS_LIBRARY_PATH ${CMAKE_BINARY_DIR}/base/lib:${CMAKE_BINARY_DIR}/mesh/lib:${MEDCOUPLING_ROOT_DIR}/lib:${MEDFILE_ROOT_DIR}/lib:${PETSC_DIR}/${PETSC_ARCH}/lib:${HDF5_ROOT}/lib ) 
32   endif(CDMATH_WITH_PETSC)
33
34   if   (CDMATH_WITH_PYTHON)
35     SET(TESTS_PYTHON_PATH ${CMAKE_BINARY_DIR}/swig:${CMAKE_BINARY_DIR}/postprocessing ) 
36   endif(CDMATH_WITH_PYTHON)
37
38   TARGET_LINK_LIBRARIES(TestCDMATH TestMesh base mesh ${CPPUNIT_LIBS} ${_extra_lib_TESTS})
39
40   ADD_TEST(UnitTestCDMATH TestCDMATH)
41   SET_PROPERTY(TEST UnitTestCDMATH PROPERTY ENVIRONMENT "LD_LIBRARY_PATH=${TESTS_LIBRARY_PATH}")
42   INSTALL(TARGETS TestCDMATH DESTINATION tests/unit_tests)
43
44   ADD_SUBDIRECTORY(cdmath)
45
46   IF (CDMATH_WITH_PYTHON)
47     ADD_SUBDIRECTORY(swig)
48   ENDIF (CDMATH_WITH_PYTHON)
49
50 ENDIF (CDMATH_WITH_TESTS)
51
52 ADD_SUBDIRECTORY(ressources)
53
54 FILE(COPY doc/ DESTINATION convergence_tests)
55 INSTALL( DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/convergence_tests DESTINATION 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 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