CMakeLists.txt 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. cmake_minimum_required(VERSION 3.8.2)
  2. # List all files containing tests. (Change as needed)
  3. set(TESTFILES
  4. runner.c
  5. src/test_euler.c
  6. src/test_bezier.c
  7. src/test_struct.c
  8. src/test_clamp.c
  9. src/test_common.c
  10. src/tests.c
  11. )
  12. set(TEST_MAIN tests)
  13. set(TEST_RUNNER_PARAMS "")
  14. add_executable(${TEST_MAIN} ${TESTFILES})
  15. target_compile_definitions(${TEST_MAIN} PRIVATE CGLM_DEFINE_PRINTS=1)
  16. if(CMAKE_SYSTEM_NAME STREQUAL WASI)
  17. target_compile_definitions(${TEST_MAIN} PRIVATE _WASI_EMULATED_PROCESS_CLOCKS=1)
  18. target_link_options(${TEST_MAIN} PRIVATE "-lwasi-emulated-process-clocks")
  19. endif()
  20. if(NOT MSVC)
  21. target_link_libraries(${TEST_MAIN} PRIVATE m)
  22. endif()
  23. target_link_libraries(${TEST_MAIN} PRIVATE cglm)
  24. target_include_directories(${TEST_MAIN} PRIVATE
  25. ${CMAKE_CURRENT_LIST_DIR}/include
  26. ${CMAKE_CURRENT_LIST_DIR}/src
  27. )
  28. set_target_properties(${TEST_MAIN} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR})
  29. if(LDFLAGS)
  30. target_compile_options(${TEST_MAIN} PRIVATE ${LDFLAGS})
  31. endif()
  32. add_test(
  33. NAME cglm.${TEST_MAIN}
  34. COMMAND ${TEST_MAIN} ${TEST_RUNNER_PARAMS})
  35. add_custom_target(check
  36. make
  37. COMMAND ${CMAKE_CTEST_COMMAND} -V
  38. DEPENDS cglm)