CMakeLists.txt 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. #
  2. # Tests configuration
  3. #
  4. add_library(odr OBJECT odr.cpp)
  5. macro(ADD_ENTT_TEST TEST_NAME TEST_SOURCE)
  6. add_executable(${TEST_NAME} $<TARGET_OBJECTS:odr> ${TEST_SOURCE})
  7. target_link_libraries(${TEST_NAME} PRIVATE gtest_main Threads::Threads)
  8. add_test(NAME ${TEST_NAME} COMMAND ${TEST_NAME})
  9. endmacro()
  10. # Test benchmark
  11. if(BUILD_BENCHMARK)
  12. ADD_ENTT_TEST(benchmark benchmark/benchmark.cpp)
  13. endif()
  14. # Test mod
  15. if(BUILD_MOD)
  16. set(DUKTAPE_DEPS_DIR ${entt_SOURCE_DIR}/deps/duktape)
  17. configure_file(${entt_SOURCE_DIR}/cmake/in/duktape.in ${DUKTAPE_DEPS_DIR}/CMakeLists.txt)
  18. execute_process(COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" . WORKING_DIRECTORY ${DUKTAPE_DEPS_DIR})
  19. execute_process(COMMAND ${CMAKE_COMMAND} --build . WORKING_DIRECTORY ${DUKTAPE_DEPS_DIR})
  20. set(DUKTAPE_SRC_DIR ${DUKTAPE_DEPS_DIR}/src/src)
  21. set(MOD_TEST_SOURCE ${DUKTAPE_SRC_DIR}/duktape.c mod/mod.cpp)
  22. ADD_ENTT_TEST(mod ${MOD_TEST_SOURCE})
  23. target_include_directories(mod PRIVATE ${DUKTAPE_SRC_DIR})
  24. endif()
  25. # Test snapshot
  26. if(BUILD_SNAPSHOT)
  27. set(CEREAL_DEPS_DIR ${entt_SOURCE_DIR}/deps/cereal)
  28. configure_file(${entt_SOURCE_DIR}/cmake/in/cereal.in ${CEREAL_DEPS_DIR}/CMakeLists.txt)
  29. execute_process(COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" . WORKING_DIRECTORY ${CEREAL_DEPS_DIR})
  30. execute_process(COMMAND ${CMAKE_COMMAND} --build . WORKING_DIRECTORY ${CEREAL_DEPS_DIR})
  31. set(CEREAL_SRC_DIR ${CEREAL_DEPS_DIR}/src/include)
  32. ADD_ENTT_TEST(cereal snapshot/snapshot.cpp)
  33. target_include_directories(cereal PRIVATE ${CEREAL_SRC_DIR})
  34. endif()
  35. # Test core
  36. ADD_ENTT_TEST(family entt/core/family.cpp)
  37. ADD_ENTT_TEST(hashed_string entt/core/hashed_string.cpp)
  38. ADD_ENTT_TEST(ident entt/core/ident.cpp)
  39. # Test entity
  40. ADD_ENTT_TEST(actor entt/entity/actor.cpp)
  41. ADD_ENTT_TEST(helper entt/entity/helper.cpp)
  42. ADD_ENTT_TEST(registry entt/entity/registry.cpp)
  43. ADD_ENTT_TEST(snapshot entt/entity/snapshot.cpp)
  44. ADD_ENTT_TEST(sparse_set entt/entity/sparse_set.cpp)
  45. ADD_ENTT_TEST(view entt/entity/view.cpp)
  46. # Test locator
  47. ADD_ENTT_TEST(locator entt/locator/locator.cpp)
  48. # Test process
  49. ADD_ENTT_TEST(process entt/process/process.cpp)
  50. ADD_ENTT_TEST(scheduler entt/process/scheduler.cpp)
  51. # Test resource
  52. ADD_ENTT_TEST(resource entt/resource/resource.cpp)
  53. # Test signal
  54. ADD_ENTT_TEST(delegate entt/signal/delegate.cpp)
  55. ADD_ENTT_TEST(dispatcher entt/signal/dispatcher.cpp)
  56. ADD_ENTT_TEST(emitter entt/signal/emitter.cpp)
  57. ADD_ENTT_TEST(sigh entt/signal/sigh.cpp)