cmake_minimum_required(VERSION 3.9) set(NAME "Vec3") project(${NAME}) # Check for CUDA include(CheckLanguage) check_language(CUDA) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) add_compile_options(-Wall -Wextra -Wpedantic) set(CMAKE_CXX_STANDARD 17) include_directories(include) add_subdirectory(include) if (PROJECT_IS_TOP_LEVEL) enable_testing() add_subdirectory(tests) # Doxygen Build option(BUILD_DOC "Build Documentation" ON) find_package(Doxygen) if(DOXYGEN_FOUND) set(BUILD_DOC_DIR ${CMAKE_SOURCE_DIR}/build/docs) if(NOT EXISTS ${BUILD_DOC_DIR}) file(MAKE_DIRECTORY ${BUILD_DOC_DIR}) endif() set(DOXYGEN_IN ${CMAKE_CURRENT_SOURCE_DIR}/docs/Doxyfile) set(DOXYGEN_OUT ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile) configure_file(${DOXYGEN_IN} ${DOXYGEN_OUT} @ONLY) message("Doxygen buld started") add_custom_target(Doxygen_${NAME} ALL COMMAND ${DOXYGEN_EXECUTABLE} ${DOXYGEN_OUT} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMENT "Generating API documentation with Doxygen" VERBATIM) else(DOXYGEN_FOUND) message("Doxygen needs to be installed to generate the documentation.") endif(DOXYGEN_FOUND) endif()