X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/7e9997bc1271973ad0a157f168213a2f874fd02f..c2ae0672c24f56b98d90669258562546f382e62b:/buildtools/Cmake/UnitTesting.cmake diff --git a/buildtools/Cmake/UnitTesting.cmake b/buildtools/Cmake/UnitTesting.cmake index 49ff43f679..7800769b06 100644 --- a/buildtools/Cmake/UnitTesting.cmake +++ b/buildtools/Cmake/UnitTesting.cmake @@ -2,84 +2,61 @@ # TEST_CFILES and generated file in TEST_UNITS. The rest is automatic. set(TEST_CFILES - src/xbt/cunit.c - src/xbt/ex.c - src/xbt/dynar.c - src/xbt/dict.c - src/xbt/set.c - src/xbt/swag.c - src/xbt/xbt_str.c - src/xbt/xbt_strbuff.c - src/xbt/xbt_sha.c - src/xbt/config.c - src/xbt/xbt_synchro.c -) + src/xbt/cunit.c + src/xbt/ex.c + src/xbt/dynar.c + src/xbt/dict.c + src/xbt/set.c + src/xbt/swag.c + src/xbt/xbt_str.c + src/xbt/xbt_strbuff.c + src/xbt/xbt_sha.c + src/xbt/config.c + ) set(TEST_UNITS - ${PROJECT_DIRECTORY}/src/cunit_unit.c - ${PROJECT_DIRECTORY}/src/ex_unit.c - ${PROJECT_DIRECTORY}/src/dynar_unit.c - ${PROJECT_DIRECTORY}/src/dict_unit.c - ${PROJECT_DIRECTORY}/src/set_unit.c - ${PROJECT_DIRECTORY}/src/swag_unit.c - ${PROJECT_DIRECTORY}/src/xbt_str_unit.c - ${PROJECT_DIRECTORY}/src/xbt_strbuff_unit.c - ${PROJECT_DIRECTORY}/src/xbt_sha_unit.c - ${PROJECT_DIRECTORY}/src/config_unit.c - ${PROJECT_DIRECTORY}/src/xbt_synchro_unit.c - - ${PROJECT_DIRECTORY}/src/simgrid_units_main.c -) + ${CMAKE_CURRENT_BINARY_DIR}/src/cunit_unit.c + ${CMAKE_CURRENT_BINARY_DIR}/src/ex_unit.c + ${CMAKE_CURRENT_BINARY_DIR}/src/dynar_unit.c + ${CMAKE_CURRENT_BINARY_DIR}/src/dict_unit.c + ${CMAKE_CURRENT_BINARY_DIR}/src/set_unit.c + ${CMAKE_CURRENT_BINARY_DIR}/src/swag_unit.c + ${CMAKE_CURRENT_BINARY_DIR}/src/xbt_str_unit.c + ${CMAKE_CURRENT_BINARY_DIR}/src/xbt_strbuff_unit.c + ${CMAKE_CURRENT_BINARY_DIR}/src/xbt_sha_unit.c + ${CMAKE_CURRENT_BINARY_DIR}/src/config_unit.c + ${CMAKE_CURRENT_BINARY_DIR}/src/simgrid_units_main.c + ) +ADD_CUSTOM_COMMAND( + OUTPUT ${TEST_UNITS} -if(PERL_EXECUTABLE) - - ADD_CUSTOM_COMMAND( - OUTPUT ${TEST_UNITS} - - DEPENDS ${PROJECT_DIRECTORY}/tools/sg_unit_extractor.pl - ${TEST_CFILES} - - COMMAND ${CMAKE_COMMAND} -E remove -f ${TEST_UNITS} - - COMMAND chmod a=rwx ${PROJECT_DIRECTORY}/tools/sg_unit_extractor.pl - - COMMAND ${PROJECT_DIRECTORY}/tools/sg_unit_extractor.pl ${TEST_CFILES} - - WORKING_DIRECTORY ${PROJECT_DIRECTORY}/src - - COMMENT "Generating *_units files for testall..." - ) - -# add_custom_target(units_files -# DEPENDS ${TEST_UNITS} -# ) - -else(PERL_EXECUTABLE) - ADD_CUSTOM_COMMAND( - OUTPUT ${TEST_UNITS} - - DEPENDS ${PROJECT_DIRECTORY}/tools/sg_unit_extractor.pl - ${TEST_CFILES} - - COMMAND ${CMAKE_COMMAND} message WARNING "Unit files need to be regenerated, but no Perl installed") -endif(PERL_EXECUTABLE) + DEPENDS ${CMAKE_HOME_DIRECTORY}/tools/sg_unit_extractor.pl + ${TEST_CFILES} + COMMAND ${CMAKE_COMMAND} -E remove -f ${TEST_UNITS} + 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/ ${TEST_CFILES} + + WORKING_DIRECTORY ${CMAKE_HOME_DIRECTORY} + + COMMENT "Generating *_units files for testall..." + ) ### Ensure the build of testall set_source_files_properties(${TEST_UNITS} PROPERTIES GENERATED true) -set(EXECUTABLE_OUTPUT_PATH "${PROJECT_DIRECTORY}/src/") +set(EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_BINARY_DIR}/src/") add_executable(testall ${TEST_UNITS}) ### Add definitions for compile if(NOT WIN32) - target_link_libraries(testall gras m) -else(NOT WIN32) - target_link_libraries(testall gras) -endif(NOT WIN32) - -add_dependencies(testall $(TEST_UNITS)) \ No newline at end of file + target_link_libraries(testall simgrid m) +else() + target_link_libraries(testall simgrid) +endif() + +add_dependencies(testall ${TEST_UNITS}) \ No newline at end of file