CMakeLists.txt 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. cmake_minimum_required(VERSION 3.1)
  2. include(ExternalProject)
  3. project(DoRayMe)
  4. set(CMAKE_CXX_STANDARD 11)
  5. option(COVERALLS "Generate coveralls data" OFF)
  6. set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/external/coveralls-cmake/cmake)
  7. # LodePNG don't make a .a or .so, so let's build a library here
  8. add_library(LodePNG STATIC)
  9. set(LODEPNG_INCLUDE_FOLDER ${CMAKE_CURRENT_SOURCE_DIR}/external/lodepng)
  10. target_sources(LodePNG PRIVATE external/lodepng/lodepng.cpp external/lodepng/lodepng.h)
  11. if (COVERALLS)
  12. include(Coveralls)
  13. coveralls_turn_on_coverage()
  14. endif()
  15. # Main app
  16. add_subdirectory(source)
  17. option(PACKAGE_TESTS "Build the tests" ON)
  18. if(PACKAGE_TESTS OR COVERALLS)
  19. enable_testing()
  20. include(GoogleTest)
  21. add_subdirectory("${PROJECT_SOURCE_DIR}/external/googletest" "external/googletest")
  22. add_subdirectory(tests)
  23. if (COVERALLS)
  24. # Create the coveralls target.
  25. coveralls_setup(
  26. "${COVERAGE_SRCS}" # The source files.
  27. ON # If we should upload.
  28. ) # (Optional) Alternate project cmake module path.
  29. endif ()
  30. endif()