CMakeLists.txt 997 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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_cam.c
  8. src/test_struct.c
  9. src/test_clamp.c
  10. src/test_common.c
  11. src/tests.c
  12. )
  13. set(TEST_MAIN tests)
  14. set(TEST_RUNNER_PARAMS "")
  15. add_executable(${TEST_MAIN} ${TESTFILES})
  16. target_compile_definitions(${TEST_MAIN} PRIVATE CGLM_DEFINE_PRINTS=1)
  17. if(NOT MSVC)
  18. target_link_libraries(${TEST_MAIN} PRIVATE m)
  19. endif()
  20. target_link_libraries(${TEST_MAIN} PRIVATE cglm)
  21. target_include_directories(${TEST_MAIN} PRIVATE
  22. ${CMAKE_CURRENT_LIST_DIR}/include
  23. ${CMAKE_CURRENT_LIST_DIR}/src
  24. )
  25. set_target_properties(${TEST_MAIN} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR})
  26. if(LDFLAGS)
  27. target_compile_options(${TEST_MAIN} PRIVATE ${LDFLAGS})
  28. endif()
  29. add_test(
  30. NAME cglm.${TEST_MAIN}
  31. COMMAND ${TEST_MAIN} ${TEST_RUNNER_PARAMS})
  32. add_custom_target(check
  33. make
  34. COMMAND ${CMAKE_CTEST_COMMAND} -V
  35. DEPENDS cglm)