Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Setup the framework allowing to add backtraces to the malloc meta-data
[simgrid.git] / buildtools / Cmake / UnitTesting.cmake
index 49ff43f..e5f12bd 100644 (file)
@@ -13,66 +13,50 @@ set(TEST_CFILES
        src/xbt/xbt_sha.c
        src/xbt/config.c
        src/xbt/xbt_synchro.c
+       src/xbt/parmap.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
+       ${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/xbt_synchro_unit.c
+       ${CMAKE_CURRENT_BINARY_DIR}/src/parmap_unit.c
        
-       ${PROJECT_DIRECTORY}/src/simgrid_units_main.c
+       ${CMAKE_CURRENT_BINARY_DIR}/src/simgrid_units_main.c
 )
 
 
 
-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(
+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
@@ -82,4 +66,4 @@ else(NOT WIN32)
     target_link_libraries(testall gras)
 endif(NOT WIN32)
        
-add_dependencies(testall $(TEST_UNITS))
\ No newline at end of file
+add_dependencies(testall ${TEST_UNITS})
\ No newline at end of file