File: UnitTesting.cmake

package info (click to toggle)
simgrid 3.21%2Bdfsg-4
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 21,972 kB
  • sloc: cpp: 88,193; ansic: 69,244; fortran: 6,089; f90: 5,162; xml: 4,861; java: 4,250; perl: 2,056; python: 1,193; sh: 1,159; makefile: 57; sed: 6
file content (46 lines) | stat: -rw-r--r-- 1,790 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# This file is in charge of the unit testing in SimGrid.
# See http://simgrid.gforge.inria.fr/simgrid/3.13/doc/inside_tests.html#inside_tests_add_units

# To register a file containing unit tests, simply add it to
# FILES_CONTAINING_UNITTESTS and have a pleasant day.

set(FILES_CONTAINING_UNITTESTS
  src/xbt/cunit.cpp
  src/xbt/dynar.cpp
  src/xbt/dict.cpp
  src/xbt/xbt_str.cpp
  src/xbt/config.cpp
)

####  Nothing to change below this line to add a new tested file
################################################################

foreach(file ${FILES_CONTAINING_UNITTESTS})
  get_filename_component(basename ${file} NAME_WE)
  get_filename_component(ext ${file} EXT)
  set(EXTRACTED_TEST_SOURCE_FILES ${EXTRACTED_TEST_SOURCE_FILES} ${CMAKE_CURRENT_BINARY_DIR}/src/${basename}_unit${ext})
endforeach()

set(EXTRACTED_TEST_SOURCE_FILES ${EXTRACTED_TEST_SOURCE_FILES} ${CMAKE_CURRENT_BINARY_DIR}/src/simgrid_units_main.c)

set_source_files_properties(${EXTRACTED_TEST_SOURCE_FILES} PROPERTIES GENERATED true)

ADD_CUSTOM_COMMAND(
  OUTPUT  ${EXTRACTED_TEST_SOURCE_FILES}
  DEPENDS ${CMAKE_HOME_DIRECTORY}/tools/sg_unit_extractor.pl ${FILES_CONTAINING_UNITTESTS}
  COMMENT "Generating *_units files for testall..."

  WORKING_DIRECTORY ${CMAKE_HOME_DIRECTORY}
  COMMAND	    ${CMAKE_COMMAND} -E remove -f ${EXTRACTED_TEST_SOURCE_FILES}
  COMMAND           chmod +x ${CMAKE_HOME_DIRECTORY}/tools/sg_unit_extractor.pl
  COMMAND           ${CMAKE_HOME_DIRECTORY}/tools/sg_unit_extractor.pl --root=src/ --outdir=${CMAKE_CURRENT_BINARY_DIR}/src/ ${FILES_CONTAINING_UNITTESTS}
)

add_executable       (testall ${EXTRACTED_TEST_SOURCE_FILES})
target_link_libraries(testall simgrid)
set_property(
    TARGET testall
    APPEND PROPERTY
           INCLUDE_DIRECTORIES "${INTERNAL_INCLUDES}"
	   )