-cmake_minimum_required(VERSION 2.6)
-
-set(EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_BINARY_DIR}")
-if(NOT WIN32)
- add_executable(log_large_test log_large_test.c)
- add_executable(parallel_log_crashtest parallel_log_crashtest.c)
- if(HAVE_MMAP)
- add_executable(mmalloc_test mmalloc_test.c)
- endif()
+foreach(x cmdline log_large log_usage mallocator parallel_log_crashtest)
+ add_executable (${x} ${x}/${x}.c)
+ target_link_libraries(${x} simgrid)
+ set_target_properties(${x} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${x})
+
+ set(tesh_files ${tesh_files} ${CMAKE_CURRENT_SOURCE_DIR}/${x}/${x}.tesh)
+ set(teshsuite_src ${teshsuite_src} ${CMAKE_CURRENT_SOURCE_DIR}/${x}/${x}.c)
+endforeach()
+
+foreach(x parmap_bench parmap_test)
+ add_executable (${x} ${x}/${x}.cpp)
+ target_link_libraries(${x} simgrid)
+ set_target_properties(${x} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${x})
+ set_property(TARGET ${x} APPEND PROPERTY INCLUDE_DIRECTORIES "${INTERNAL_INCLUDES}")
+
+ set(tesh_files ${tesh_files} ${CMAKE_CURRENT_SOURCE_DIR}/${x}/${x}.tesh)
+ set(teshsuite_src ${teshsuite_src} ${CMAKE_CURRENT_SOURCE_DIR}/${x}/${x}.cpp)
+endforeach()
+
+if(HAVE_MMALLOC)
+ add_executable (mmalloc_test ${CMAKE_CURRENT_SOURCE_DIR}/mmalloc/mmalloc_test.cpp)
+ target_link_libraries(mmalloc_test simgrid)
+ set_target_properties(mmalloc_test PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/mmalloc)
+ set_property(TARGET mmalloc_test APPEND PROPERTY INCLUDE_DIRECTORIES "${INTERNAL_INCLUDES}")
endif()
-### Add definitions for compile
-if(NOT WIN32)
- target_link_libraries(log_large_test simgrid m pthread )
- target_link_libraries(parallel_log_crashtest simgrid m pthread )
- if(HAVE_MMAP)
- target_link_libraries(mmalloc_test simgrid m pthread )
- endif()
+set(tesh_files ${tesh_files} ${CMAKE_CURRENT_SOURCE_DIR}/log_usage/log_usage_ndebug.tesh
+ ${CMAKE_CURRENT_SOURCE_DIR}/mmalloc/mmalloc_64.tesh
+ ${CMAKE_CURRENT_SOURCE_DIR}/mmalloc/mmalloc_32.tesh PARENT_SCOPE)
+set(teshsuite_src ${teshsuite_src} ${CMAKE_CURRENT_SOURCE_DIR}/mmalloc/mmalloc_test.cpp PARENT_SCOPE)
+
+foreach(x cmdline log_large parallel_log_crashtest parmap_test) #mallocator parmap_bench
+ ADD_TESH(tesh-xbt-${x} --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/xbt/${x} --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/xbt/${x} ${x}.tesh)
+endforeach()
+
+if(enable_debug)
+ ADD_TESH(tesh-xbt-log --cd ${CMAKE_BINARY_DIR}/teshsuite/xbt/log_usage ${CMAKE_HOME_DIRECTORY}/teshsuite/xbt/log_usage/log_usage.tesh)
+else()
+ ADD_TESH(tesh-xbt-log --cd ${CMAKE_BINARY_DIR}/teshsuite/xbt/log_usage ${CMAKE_HOME_DIRECTORY}/teshsuite/xbt/log_usage/log_usage_ndebug.tesh)
endif()
-set(tesh_files
- ${tesh_files}
- ${CMAKE_CURRENT_SOURCE_DIR}/log_large_test.tesh
- ${CMAKE_CURRENT_SOURCE_DIR}/parallel_log_crashtest.tesh
- ${CMAKE_CURRENT_SOURCE_DIR}/xbt.tesh
- ${CMAKE_CURRENT_SOURCE_DIR}/mmalloc_64.tesh
- ${CMAKE_CURRENT_SOURCE_DIR}/mmalloc_32.tesh
- PARENT_SCOPE
- )
-set(xml_files
- ${xml_files}
- PARENT_SCOPE
- )
-set(teshsuite_src
- ${teshsuite_src}
- ${CMAKE_CURRENT_SOURCE_DIR}/log_large_test.c
- ${CMAKE_CURRENT_SOURCE_DIR}/parallel_log_crashtest.c
- ${CMAKE_CURRENT_SOURCE_DIR}/mmalloc_test.c
- PARENT_SCOPE
- )
-set(bin_files
- ${bin_files}
- PARENT_SCOPE
- )
-set(txt_files
- ${txt_files}
- PARENT_SCOPE
- )
+if(HAVE_MMALLOC)
+ if(CMAKE_SIZEOF_VOID_P EQUAL 4) # 32 bits
+ ADD_TESH(tesh-xbt-mmalloc-32 --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/xbt/mmalloc --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/xbt/mmalloc mmalloc_32.tesh)
+ else()
+ ADD_TESH(tesh-xbt-mmalloc-64 --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/xbt/mmalloc --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/xbt/mmalloc mmalloc_64.tesh)
+ endif()
+endif()