1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- cmake_minimum_required(VERSION 3.8)
- project(TestFindDoxygen VERSION 1.0 LANGUAGES NONE)
- # Testing backward compatible signature
- find_package(Doxygen REQUIRED)
- if(TARGET Doxygen::doxygen)
- # Check backward compatibility
- if(NOT DOXYGEN_EXECUTABLE)
- message(FATAL_ERROR "Backward compatibility broken: DOXYGEN_EXECUTABLE not set")
- endif()
- if(NOT DOXYGEN)
- message(FATAL_ERROR "Backward compatibility broken: DOXYGEN not set")
- endif()
- # Check presence of expected generated files
- foreach(file CMakeDoxyfile.in CMakeDoxygenDefaults.cmake)
- if(NOT EXISTS "${PROJECT_BINARY_DIR}/${file}")
- message(FATAL_ERROR "Missing generated file: ${file}")
- endif()
- endforeach()
- else()
- message(FATAL_ERROR "Import target Doxygen::doxygen not defined")
- endif()
- doxygen_add_docs(docsNoArgs)
- if(NOT EXISTS "${PROJECT_BINARY_DIR}/Doxyfile.docsNoArgs")
- message(FATAL_ERROR "Missing generated file: Doxyfile.docsNoArgs")
- endif()
- if(NOT TARGET docsNoArgs)
- message(FATAL_ERROR "Target docsNoArgs not created")
- endif()
- configure_file(spaces_in_name.cpp.in "spaces in name.cpp" COPYONLY)
- doxygen_add_docs(docsWithArgs
- "${CMAKE_CURRENT_BINARY_DIR}/spaces in name.cpp"
- main.cpp
- )
- if(NOT EXISTS "${PROJECT_BINARY_DIR}/Doxyfile.docsWithArgs")
- message(FATAL_ERROR "Missing generated file: Doxyfile.docsWithArgs")
- endif()
- if(NOT TARGET docsWithArgs)
- message(FATAL_ERROR "Target docsWithArgs not created")
- endif()
- # Note that CMake inserts at least one entry into SOURCES when a COMMAND or
- # DEPENDS option is given to add_custom_target(), so rather than looking for an
- # exact match, we only verify that the files we expect to be there are present
- get_target_property(srcList docsWithArgs SOURCES)
- set(expectedList
- "${CMAKE_CURRENT_BINARY_DIR}/spaces in name.cpp"
- "${CMAKE_CURRENT_SOURCE_DIR}/main.cpp"
- )
- foreach(f IN LISTS expectedList)
- if(NOT f IN_LIST srcList)
- message(FATAL_ERROR "SOURCES missing file: ${f}")
- endif()
- endforeach()
- add_custom_target(allDocTargets)
- add_dependencies(allDocTargets docsNoArgs docsWithArgs)
|