CMakeLists.txt 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  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. option(PACKAGE_TESTS "Build the tests" ON)
  8. if (COVERALLS)
  9. include(Coveralls)
  10. coveralls_turn_on_coverage()
  11. endif()
  12. # LodePNG don't make a .a or .so, so let's build a library here
  13. add_library(LodePNG STATIC)
  14. set(LODEPNG_INCLUDE_FOLDER ${CMAKE_CURRENT_SOURCE_DIR}/external/lodepng)
  15. target_sources(LodePNG PRIVATE external/lodepng/lodepng.cpp external/lodepng/lodepng.h)
  16. # Main app
  17. add_subdirectory(source)
  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. endif()
  24. if (COVERALLS)
  25. # Create the coveralls target.
  26. coveralls_setup(
  27. "${COVERAGE_SRCS}" # The source files.
  28. ON # If we should upload.
  29. ) # (Optional) Alternate project cmake module path.
  30. endif()