CMakeLists.txt 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. # To simplify testing, the app is build in two passes,
  2. option(USE_OPENMP "Build using OpenMP" OFF)
  3. if (USE_OPENMP)
  4. find_package(OpenMP REQUIRED)
  5. endif()
  6. # First most is build as a library
  7. add_library(rayonnement STATIC)
  8. file(GLOB RAY_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/include/*.h ${CMAKE_CURRENT_SOURCE_DIR}/pattern/*.h
  9. ${CMAKE_CURRENT_SOURCE_DIR}/uvpattern/*.h)
  10. file(GLOB RAY_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp ${CMAKE_CURRENT_SOURCE_DIR}/shapes/*.cpp
  11. ${CMAKE_CURRENT_SOURCE_DIR}/worldbuilder/*.cpp ${CMAKE_CURRENT_SOURCE_DIR}/worldoptimiser/*.cpp)
  12. target_include_directories(rayonnement PUBLIC include pattern)
  13. if (USE_LUA)
  14. add_dependencies(rayonnement LuaCore)
  15. target_link_libraries(rayonnement ${LUA_LIBRARIES})
  16. target_include_directories(rayonnement PUBLIC ${LUA_INCLUDE_DIR})
  17. endif()
  18. target_include_directories(rayonnement PUBLIC include ${LODEPNG_INCLUDE_FOLDER} ${NANOJPEG_INCLUDE_FOLDER})
  19. target_sources(rayonnement PRIVATE ${RAY_HEADERS} ${RAY_SOURCES})
  20. target_link_libraries(rayonnement LodePNG NanoJPEG)
  21. if (USE_OPENMP)
  22. target_link_libraries(rayonnement OpenMP::OpenMP_CXX)
  23. endif()
  24. # The main executable
  25. #add_executable(dorayme main.cpp)
  26. #add_dependencies(dorayme LuaCore)
  27. #target_link_libraries(dorayme rayonnement ${LUA_LIBRARIES})
  28. if (COVERALLS)
  29. set(COVERAGE_SRCS ${RAY_HEADERS} ${RAY_SOURCES} ${COVERAGE_SRCS} PARENT_SCOPE)
  30. endif()