| cmake_minimum_required(VERSION 3.10) |
| project(TestFindDoxygen VERSION 1.0 LANGUAGES NONE) |
| enable_testing() |
| |
| find_package(Doxygen REQUIRED) |
| |
| file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/main.cpp [[ |
| /** |
| * \file |
| * \brief One C++ file w/ sample Doxygen comment just to produce any docs... |
| */ |
| ]]) |
| |
| set(DOXYGEN_OUTPUT_DIRECTORY outDirWithout) |
| file(REMOVE_RECURSE ${CMAKE_CURRENT_BINARY_DIR}/${DOXYGEN_OUTPUT_DIRECTORY}) |
| doxygen_add_docs(docsNoAll ${CMAKE_CURRENT_BINARY_DIR}/main.cpp) |
| |
| set(DOXYGEN_OUTPUT_DIRECTORY outDirWith) |
| file(REMOVE_RECURSE ${CMAKE_CURRENT_BINARY_DIR}/${DOXYGEN_OUTPUT_DIRECTORY}) |
| doxygen_add_docs(docsWithAll ALL ${CMAKE_CURRENT_BINARY_DIR}/main.cpp) |
| |
| # Define tests cases that check whether targets were built |
| file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/dirExists.cmake [[ |
| cmake_minimum_required(VERSION 3.11) |
| if(NOT EXISTS ${dirName}) |
| message(FATAL_ERROR "Directory does not exist: ${dirName}") |
| endif() |
| ]]) |
| |
| add_test(NAME checkWith COMMAND |
| ${CMAKE_COMMAND} |
| -D dirName=${CMAKE_CURRENT_BINARY_DIR}/outDirWith |
| -P dirExists.cmake |
| ) |
| add_test(NAME checkWithout COMMAND |
| ${CMAKE_COMMAND} |
| -D dirName=${CMAKE_CURRENT_BINARY_DIR}/outDirWithout |
| -P dirExists.cmake |
| ) |
| set_tests_properties(checkWithout PROPERTIES |
| WILL_FAIL TRUE |
| ) |