CMakeLists.txt 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. project(DoRayTested)
  2. set(THREADS_PREFER_PTHREAD_FLAG ON)
  3. find_package(Threads REQUIRED)
  4. set(TESTS_SRC math_test.cpp tuple_test.cpp colour_test.cpp canvas_test.cpp matrix_test.cpp transformation_test.cpp
  5. ray_test.cpp intersect_test.cpp sphere_test.cpp light_test.cpp material_test.cpp world_test.cpp camera_test.cpp
  6. shape_test.cpp plane_test.cpp pattern_test.cpp cube_test.cpp)
  7. add_executable(testMyRays)
  8. target_include_directories(testMyRays PUBLIC ${gtest_SOURCE_DIR}/include ${gtest_SOURCE_DIR})
  9. target_include_directories(testMyRays PUBLIC ../source/include)
  10. target_sources(testMyRays PRIVATE ${TESTS_SRC})
  11. target_link_libraries(testMyRays gtest gtest_main rayonnement Threads::Threads)
  12. gtest_discover_tests(testMyRays
  13. WORKING_DIRECTORY ${PROJECT_DIR}
  14. PROPERTIES VS_DEBUGGER_WORKING_DIRECTORY "${PROJECT_DIR}"
  15. )
  16. add_executable(hw3render)
  17. target_include_directories(hw3render PUBLIC ../source/include)
  18. target_sources(hw3render PRIVATE hw3render.cpp)
  19. target_link_libraries(hw3render rayonnement)
  20. add_executable(ch5_test)
  21. target_include_directories(ch5_test PUBLIC ../source/include)
  22. target_sources(ch5_test PRIVATE ch5_test.cpp)
  23. target_link_libraries(ch5_test rayonnement)
  24. add_executable(ch6_test)
  25. target_include_directories(ch6_test PUBLIC ../source/include)
  26. target_sources(ch6_test PRIVATE ch6_test.cpp)
  27. target_link_libraries(ch6_test rayonnement)
  28. add_executable(ch7_test)
  29. target_include_directories(ch7_test PUBLIC ../source/include)
  30. target_sources(ch7_test PRIVATE ch7_test.cpp)
  31. target_link_libraries(ch7_test rayonnement)
  32. add_executable(ch9_test)
  33. target_include_directories(ch9_test PUBLIC ../source/include)
  34. target_sources(ch9_test PRIVATE ch9_test.cpp)
  35. target_link_libraries(ch9_test rayonnement)
  36. add_executable(ch10_test)
  37. target_include_directories(ch10_test PUBLIC ../source/include)
  38. target_sources(ch10_test PRIVATE ch10_test.cpp)
  39. target_link_libraries(ch10_test rayonnement)
  40. add_executable(ch11_reflection)
  41. target_include_directories(ch11_reflection PUBLIC ../source/include)
  42. target_sources(ch11_reflection PRIVATE ch11_reflection.cpp)
  43. target_link_libraries(ch11_reflection rayonnement)
  44. add_executable(ch11_refraction)
  45. target_include_directories(ch11_refraction PUBLIC ../source/include)
  46. target_sources(ch11_refraction PRIVATE ch11_refraction.cpp)
  47. target_link_libraries(ch11_refraction rayonnement)
  48. add_executable(ch11_test)
  49. target_include_directories(ch11_test PUBLIC ../source/include)
  50. target_sources(ch11_test PRIVATE ch11_test.cpp)
  51. target_link_libraries(ch11_test rayonnement)
  52. add_executable(ch12_test)
  53. target_include_directories(ch12_test PUBLIC ../source/include)
  54. target_sources(ch12_test PRIVATE ch12_test.cpp)
  55. target_link_libraries(ch12_test rayonnement)
  56. add_test(NAME Chapter05_Test COMMAND $<TARGET_FILE:ch5_test>)
  57. add_test(NAME Chapter06_Test COMMAND $<TARGET_FILE:ch6_test>)
  58. add_test(NAME Chapter07_Test COMMAND $<TARGET_FILE:ch7_test>)
  59. add_test(NAME Chapter09_Test COMMAND $<TARGET_FILE:ch9_test>)
  60. add_test(NAME Chapter10_Test COMMAND $<TARGET_FILE:ch10_test>)
  61. add_test(NAME Chapter11_Reflection COMMAND $<TARGET_FILE:ch11_reflection>)
  62. add_test(NAME Chapter11_Refraction COMMAND $<TARGET_FILE:ch11_refraction>)
  63. add_test(NAME Chapter11_Test COMMAND $<TARGET_FILE:ch11_test>)
  64. add_test(NAME Chapter12_Test COMMAND $<TARGET_FILE:ch12_test>)