CMakeLists.txt 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. #
  2. # Tests configuration
  3. #
  4. add_library(odr OBJECT odr.cpp)
  5. # Test benchmark
  6. if(BUILD_BENCHMARK)
  7. add_executable(
  8. benchmark
  9. $<TARGET_OBJECTS:odr>
  10. benchmark/benchmark.cpp
  11. )
  12. target_link_libraries(benchmark PRIVATE gtest_main Threads::Threads)
  13. add_test(NAME benchmark COMMAND benchmark)
  14. endif()
  15. # Test mod
  16. if(BUILD_MOD)
  17. add_executable(
  18. mod
  19. $<TARGET_OBJECTS:odr>
  20. mod/duktape.c
  21. mod/mod.cpp
  22. )
  23. target_link_libraries(mod PRIVATE gtest_main Threads::Threads m)
  24. add_test(NAME mod COMMAND mod)
  25. endif()
  26. # Test core
  27. add_executable(
  28. core
  29. $<TARGET_OBJECTS:odr>
  30. entt/core/family.cpp
  31. entt/core/hashed_string.cpp
  32. entt/core/ident.cpp
  33. )
  34. target_link_libraries(core PRIVATE gtest_main Threads::Threads)
  35. add_test(NAME core COMMAND core)
  36. # Test entity
  37. add_executable(
  38. entity
  39. $<TARGET_OBJECTS:odr>
  40. entt/entity/actor.cpp
  41. entt/entity/registry.cpp
  42. entt/entity/sparse_set.cpp
  43. entt/entity/view.cpp
  44. )
  45. target_link_libraries(entity PRIVATE gtest_main Threads::Threads)
  46. add_test(NAME entity COMMAND entity)
  47. # Test locator
  48. add_executable(
  49. locator
  50. $<TARGET_OBJECTS:odr>
  51. entt/locator/locator.cpp
  52. )
  53. target_link_libraries(locator PRIVATE gtest_main Threads::Threads)
  54. add_test(NAME locator COMMAND locator)
  55. # Test process
  56. add_executable(
  57. process
  58. $<TARGET_OBJECTS:odr>
  59. entt/process/process.cpp
  60. entt/process/scheduler.cpp
  61. )
  62. target_link_libraries(process PRIVATE gtest_main Threads::Threads)
  63. add_test(NAME process COMMAND process)
  64. # Test resource
  65. add_executable(
  66. resource
  67. $<TARGET_OBJECTS:odr>
  68. entt/resource/resource.cpp
  69. )
  70. target_link_libraries(resource PRIVATE gtest_main Threads::Threads)
  71. add_test(NAME resource COMMAND resource)
  72. # Test signal
  73. add_executable(
  74. signal
  75. $<TARGET_OBJECTS:odr>
  76. entt/signal/bus.cpp
  77. entt/signal/delegate.cpp
  78. entt/signal/dispatcher.cpp
  79. entt/signal/emitter.cpp
  80. entt/signal/sigh.cpp
  81. entt/signal/signal.cpp
  82. )
  83. target_link_libraries(signal PRIVATE gtest_main Threads::Threads)
  84. add_test(NAME signal COMMAND signal)