CMakeLists.txt 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. cmake_minimum_required (VERSION 3.16)
  2. include(FetchContent)
  3. project(Flaschenray)
  4. if (NOT CMAKE_BUILD_TYPE)
  5. set(CMAKE_BUILD_TYPE Release)
  6. endif()
  7. #set(CMAKE_CXX_STANDARD 20)
  8. set(CMAKE_EXPORT_COMPILE_COMMANDS True)
  9. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17 -pthread -fopenmp")
  10. #set(CMAKE_CXX_FLAGS_RELEASE "-D_GLIBCXX_DEBUG -g3 -fopenmp -march=native -funroll-loops -std=c++20")
  11. set(CMAKE_CXX_FLAGS_RELEASE "-DNDEBUG -O3 -fopenmp -march=native -funroll-loops -std=c++20")
  12. FetchContent_Declare(
  13. objloader
  14. GIT_REPOSITORY https://github.com/manuel5975p/OBJ-Loader
  15. )
  16. FetchContent_GetProperties(objloader)
  17. if(NOT objloader_POPULATED)
  18. FetchContent_Populate(objloader)
  19. #add_subdirectory(${objloader_SOURCE_DIR} ${objloader_BINARY_DIR})
  20. endif()
  21. FetchContent_Declare(
  22. lodepng
  23. GIT_REPOSITORY https://github.com/lvandeve/lodepng.git
  24. )
  25. FetchContent_GetProperties(lodepng)
  26. if(NOT lodepng_POPULATED)
  27. FetchContent_Populate(lodepng)
  28. endif()
  29. add_executable(chnuscht
  30. main.cpp
  31. camera.cpp
  32. scene.cpp
  33. "${lodepng_SOURCE_DIR}/lodepng.cpp"
  34. )
  35. target_include_directories(chnuscht PUBLIC "${objloader_SOURCE_DIR}/include")
  36. target_include_directories(chnuscht PUBLIC "${lodepng_SOURCE_DIR}")
  37. option(EMBREE_TUTORIALS OFF FORCE)
  38. FetchContent_Declare(
  39. embree
  40. GIT_REPOSITORY https://github.com/embree/embree/
  41. )
  42. FetchContent_GetProperties(embree)
  43. if(NOT embree_POPULATED)
  44. FetchContent_Populate(embree)
  45. add_subdirectory(${embree_SOURCE_DIR} ${embree_BINARY_DIR})
  46. endif()
  47. target_link_libraries(chnuscht embree)
  48. target_link_libraries(chnuscht tbb)
  49. #target_link_libraries(chnuscht "gomp")
  50. #target_link_libraries(chnuscht "sfml-system")
  51. #target_link_libraries(chnuscht "sfml-graphics")
  52. #target_link_libraries(chnuscht "sfml-window")