diff options
author | Craig Scott <craig.scott@crascit.com> | 2017-12-27 13:13:39 (GMT) |
---|---|---|
committer | Craig Scott <craig.scott@crascit.com> | 2018-01-02 20:59:59 (GMT) |
commit | 1e6d1dd358dc7aace3a1effa4f1646e1272be3dc (patch) | |
tree | 74933f72b5f914d98603b2b64464673d42766db6 /Tests | |
parent | 497f4bb941a84bacfca2392759de6cb8e23b0684 (diff) | |
download | CMake-1e6d1dd358dc7aace3a1effa4f1646e1272be3dc.zip CMake-1e6d1dd358dc7aace3a1effa4f1646e1272be3dc.tar.gz CMake-1e6d1dd358dc7aace3a1effa4f1646e1272be3dc.tar.bz2 |
FindDoxygen: Add DOXYGEN_VERBATIM_VARS for quote prevention
Each CMake variable listed in DOXYGEN_VERBATIM_VARS will not have any
automatic quoting applied to it when written to the Doxyfile.
Diffstat (limited to 'Tests')
-rw-r--r-- | Tests/FindDoxygen/CMakeLists.txt | 10 | ||||
-rw-r--r-- | Tests/FindDoxygen/QuotingTest/CMakeLists.txt | 34 |
2 files changed, 44 insertions, 0 deletions
diff --git a/Tests/FindDoxygen/CMakeLists.txt b/Tests/FindDoxygen/CMakeLists.txt index daceaa3..69b9eed 100644 --- a/Tests/FindDoxygen/CMakeLists.txt +++ b/Tests/FindDoxygen/CMakeLists.txt @@ -8,6 +8,16 @@ add_test(NAME FindDoxygen.SimpleTest COMMAND --build-options ${build_options} ) +add_test(NAME FindDoxygen.QuotingTest COMMAND + ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION> + --build-and-test + "${CMake_SOURCE_DIR}/Tests/FindDoxygen/QuotingTest" + "${CMake_BINARY_DIR}/Tests/FindDoxygen/QuotingTest" + --build-target allDocTargets + ${build_generator_args} + --build-options ${build_options} +) + if(CMake_TEST_FindDoxygen_Dot) add_test(NAME FindDoxygen.DotComponentTest COMMAND ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION> diff --git a/Tests/FindDoxygen/QuotingTest/CMakeLists.txt b/Tests/FindDoxygen/QuotingTest/CMakeLists.txt new file mode 100644 index 0000000..26bf090 --- /dev/null +++ b/Tests/FindDoxygen/QuotingTest/CMakeLists.txt @@ -0,0 +1,34 @@ +cmake_minimum_required(VERSION 3.10) +project(TestFindDoxygen VERSION 1.0 LANGUAGES NONE) + +find_package(Doxygen REQUIRED) + +set(DOXYGEN_PROJECT_BRIEF "String with spaces") +set(DOXYGEN_ALIASES + [[somealias="@some_command param"]] + "anotherAlias=@foobar" +) + +set(DOXYGEN_VERBATIM_VARS DOXYGEN_ALIASES) + +doxygen_add_docs(docsQuoting) +if(NOT EXISTS "${PROJECT_BINARY_DIR}/Doxyfile.docsQuoting") + message(FATAL_ERROR "Missing generated file: Doxyfile.docsQuoting") +endif() + +file(STRINGS "${PROJECT_BINARY_DIR}/Doxyfile.docsQuoting" matches + REGEX [[^PROJECT_BRIEF *= *"String with spaces"]] +) +if(NOT matches) + message(FATAL_ERROR "PROJECT_BRIEF does not match expected contents") +endif() + +file(STRINGS "${PROJECT_BINARY_DIR}/Doxyfile.docsQuoting" matches + REGEX [[^ALIASES *= *somealias="@some_command param" anotherAlias=@foobar]] +) +if(NOT matches) + message(FATAL_ERROR "ALIASES does not match expected contents") +endif() + +add_custom_target(allDocTargets) +add_dependencies(allDocTargets docsQuoting) |