diff options
Diffstat (limited to 'Tests')
25 files changed, 130 insertions, 68 deletions
diff --git a/Tests/CMakeLib/testRST.expect b/Tests/CMakeLib/testRST.expect index 6a89002..9bd0ca4 100644 --- a/Tests/CMakeLib/testRST.expect +++ b/Tests/CMakeLib/testRST.expect @@ -45,11 +45,30 @@ More CMake Module Content Parsed-literal included without directive. Common Indentation Removed + # replaced in parsed literal # Sample CMake code block if(condition) message(indented) endif() + # |not replaced in literal| + +A literal block starts after a line consisting of two colons + +:: + + Literal block. + Common Indentation Removed + # |not replaced in literal| + +or after a paragraph ending in two colons:: + + Literal block. + Common Indentation Removed + # |not replaced in literal| + +but not after a line ending in two colons:: +in the middle of a paragraph. substituted text with multiple lines becomes one line diff --git a/Tests/CMakeLib/testRST.rst b/Tests/CMakeLib/testRST.rst index f7059cf..5cb6d91 100644 --- a/Tests/CMakeLib/testRST.rst +++ b/Tests/CMakeLib/testRST.rst @@ -26,6 +26,7 @@ Variable :variable:`VARIABLE_<PLACEHOLDER> <target>` with trailing placeholder a Generator :generator:`Some Generator` with space. .. |not replaced| replace:: not replaced through toctree +.. |not replaced in literal| replace:: replaced in parsed literal .. toctree:: :maxdepth: 2 @@ -55,6 +56,7 @@ Generator :generator:`Some Generator` with space. Parsed-literal included without directive. Common Indentation Removed + # |not replaced in literal| .. code-block:: cmake @@ -62,6 +64,24 @@ Generator :generator:`Some Generator` with space. if(condition) message(indented) endif() + # |not replaced in literal| + +A literal block starts after a line consisting of two colons + +:: + + Literal block. + Common Indentation Removed + # |not replaced in literal| + +or after a paragraph ending in two colons:: + + Literal block. + Common Indentation Removed + # |not replaced in literal| + +but not after a line ending in two colons:: +in the middle of a paragraph. .. |substitution| replace:: |nested substitution| diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt index 198ce04..b9c99e3 100644 --- a/Tests/CMakeLists.txt +++ b/Tests/CMakeLists.txt @@ -2526,11 +2526,10 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/ ) endif() - add_test(CMakeWizardTest ${CMAKE_CMAKE_COMMAND} - -D build_dir:STRING=${CMAKE_CURRENT_BINARY_DIR}/CMakeWizardTest - -D source_dir:STRING=${CMAKE_CURRENT_SOURCE_DIR}/Tutorial/Step3 - -D CMAKE_CTEST_COMMAND:STRING=${CMAKE_CTEST_COMMAND} - -P ${CMAKE_CURRENT_SOURCE_DIR}/CMakeWizardTest.cmake) + add_test(NAME CMakeWizardTest COMMAND cmake -i) + set_property(TEST CMakeWizardTest PROPERTY PASS_REGULAR_EXPRESSION + "The \"cmake -i\" wizard mode is no longer supported.") + # If the cache variable CMAKE_CONTRACT_PROJECTS is set # then the dashboard will run a contract with CMake test of that # name. For example CMAKE_CONTRACT_PROJECTS = vtk542 would run diff --git a/Tests/CMakeWizardTest.cmake b/Tests/CMakeWizardTest.cmake deleted file mode 100644 index bcae8af..0000000 --- a/Tests/CMakeWizardTest.cmake +++ /dev/null @@ -1,52 +0,0 @@ -message("CTEST_FULL_OUTPUT (Avoid ctest truncation of output)") - -message(STATUS "build_dir='${build_dir}'") - -message(STATUS "source_dir='${source_dir}'") - - -execute_process(COMMAND ${CMAKE_COMMAND} -E - remove_directory ${build_dir} - TIMEOUT 5) - -execute_process(COMMAND ${CMAKE_COMMAND} -E - make_directory ${build_dir} - TIMEOUT 5) - -execute_process(COMMAND ${CMAKE_COMMAND} -E - copy_directory ${source_dir} ${build_dir}/src - TIMEOUT 5) - -execute_process(COMMAND ${CMAKE_COMMAND} -E - make_directory ${build_dir}/build - TIMEOUT 5) - -# This is enough to answer 32 questions with "the default answer is ok"... -# -file(WRITE ${build_dir}/input.txt - "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n") - - -message(STATUS "running wizard mode (cmake -i)...") - -execute_process(COMMAND ${CMAKE_COMMAND} -i ../src - INPUT_FILE ${build_dir}/input.txt - WORKING_DIRECTORY ${build_dir}/build - TIMEOUT 5 - ) - - -message(STATUS "building...") - -execute_process(COMMAND ${CMAKE_COMMAND} --build . - WORKING_DIRECTORY ${build_dir}/build - TIMEOUT 5 - ) - - -message(STATUS "testing...") - -execute_process(COMMAND ${CMAKE_CTEST_COMMAND} - WORKING_DIRECTORY ${build_dir}/build - TIMEOUT 5 - ) diff --git a/Tests/ExportImport/Export/Interface/CMakeLists.txt b/Tests/ExportImport/Export/Interface/CMakeLists.txt index fc9c0c7..b713262 100644 --- a/Tests/ExportImport/Export/Interface/CMakeLists.txt +++ b/Tests/ExportImport/Export/Interface/CMakeLists.txt @@ -24,7 +24,7 @@ add_library(sharediface INTERFACE) target_link_libraries(sharediface INTERFACE sharedlib) export(TARGETS sharediface sharedlib headeronly - NAMESPACE bld_ + NAMESPACE bld:: FILE ../ExportInterfaceBuildTree.cmake ) @@ -46,4 +46,4 @@ install(FILES DESTINATION include/sharedlib ) -install(EXPORT expInterface NAMESPACE exp_ DESTINATION lib/exp) +install(EXPORT expInterface NAMESPACE exp:: DESTINATION lib/exp) diff --git a/Tests/ExportImport/Import/Interface/CMakeLists.txt b/Tests/ExportImport/Import/Interface/CMakeLists.txt index c7bd13e..cf7e2bc 100644 --- a/Tests/ExportImport/Import/Interface/CMakeLists.txt +++ b/Tests/ExportImport/Import/Interface/CMakeLists.txt @@ -10,18 +10,18 @@ set_property(TARGET define_iface PROPERTY INTERFACE_COMPILE_DEFINITIONS DEFINE_IFACE_DEFINE) add_executable(headeronlytest_bld headeronlytest.cpp) -target_link_libraries(headeronlytest_bld bld_headeronly) +target_link_libraries(headeronlytest_bld bld::headeronly) -set_property(TARGET bld_sharediface APPEND PROPERTY INTERFACE_LINK_LIBRARIES define_iface) +set_property(TARGET bld::sharediface APPEND PROPERTY INTERFACE_LINK_LIBRARIES define_iface) add_executable(interfacetest_bld interfacetest.cpp) -target_link_libraries(interfacetest_bld bld_sharediface) +target_link_libraries(interfacetest_bld bld::sharediface) include(CheckCXXSourceCompiles) macro(do_try_compile prefix) - set(CMAKE_REQUIRED_LIBRARIES ${prefix}headeronly) + set(CMAKE_REQUIRED_LIBRARIES ${prefix}::headeronly) check_cxx_source_compiles( " #include \"headeronly.h\" @@ -42,14 +42,14 @@ macro(do_try_compile prefix) endif() endmacro() -do_try_compile(bld_) +do_try_compile(bld) add_executable(headeronlytest_exp headeronlytest.cpp) -target_link_libraries(headeronlytest_exp exp_headeronly) +target_link_libraries(headeronlytest_exp exp::headeronly) -set_property(TARGET exp_sharediface APPEND PROPERTY INTERFACE_LINK_LIBRARIES define_iface) +set_property(TARGET exp::sharediface APPEND PROPERTY INTERFACE_LINK_LIBRARIES define_iface) add_executable(interfacetest_exp interfacetest.cpp) -target_link_libraries(interfacetest_exp exp_sharediface) +target_link_libraries(interfacetest_exp exp::sharediface) -do_try_compile(exp_) +do_try_compile(exp) diff --git a/Tests/RunCMake/CMP0028/CMP0028-NEW-result.txt b/Tests/RunCMake/CMP0028/CMP0028-NEW-result.txt new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/Tests/RunCMake/CMP0028/CMP0028-NEW-result.txt @@ -0,0 +1 @@ +1 diff --git a/Tests/RunCMake/CMP0028/CMP0028-NEW-stderr.txt b/Tests/RunCMake/CMP0028/CMP0028-NEW-stderr.txt new file mode 100644 index 0000000..a7b0799 --- /dev/null +++ b/Tests/RunCMake/CMP0028/CMP0028-NEW-stderr.txt @@ -0,0 +1,6 @@ +CMake Error at CMP0028-NEW.cmake:4 \(add_library\): + Target "foo" links to target "External::Library" but the target was not + found. Perhaps a find_package\(\) call is missing for an IMPORTED target, or + a ALIAS target is missing\? +Call Stack \(most recent call first\): + CMakeLists.txt:3 \(include\) diff --git a/Tests/RunCMake/CMP0028/CMP0028-NEW.cmake b/Tests/RunCMake/CMP0028/CMP0028-NEW.cmake new file mode 100644 index 0000000..a0a6ae8 --- /dev/null +++ b/Tests/RunCMake/CMP0028/CMP0028-NEW.cmake @@ -0,0 +1,5 @@ + +cmake_policy(SET CMP0028 NEW) + +add_library(foo empty.cpp) +target_link_libraries(foo PRIVATE External::Library) diff --git a/Tests/RunCMake/CMP0028/CMP0028-OLD-result.txt b/Tests/RunCMake/CMP0028/CMP0028-OLD-result.txt new file mode 100644 index 0000000..573541a --- /dev/null +++ b/Tests/RunCMake/CMP0028/CMP0028-OLD-result.txt @@ -0,0 +1 @@ +0 diff --git a/Tests/RunCMake/CMP0028/CMP0028-OLD-stderr.txt b/Tests/RunCMake/CMP0028/CMP0028-OLD-stderr.txt new file mode 100644 index 0000000..10f3293 --- /dev/null +++ b/Tests/RunCMake/CMP0028/CMP0028-OLD-stderr.txt @@ -0,0 +1 @@ +^$ diff --git a/Tests/RunCMake/CMP0028/CMP0028-OLD.cmake b/Tests/RunCMake/CMP0028/CMP0028-OLD.cmake new file mode 100644 index 0000000..d4a870b --- /dev/null +++ b/Tests/RunCMake/CMP0028/CMP0028-OLD.cmake @@ -0,0 +1,5 @@ + +cmake_policy(SET CMP0028 OLD) + +add_library(foo empty.cpp) +target_link_libraries(foo PRIVATE External::Library) diff --git a/Tests/RunCMake/CMP0028/CMP0028-WARN-result.txt b/Tests/RunCMake/CMP0028/CMP0028-WARN-result.txt new file mode 100644 index 0000000..573541a --- /dev/null +++ b/Tests/RunCMake/CMP0028/CMP0028-WARN-result.txt @@ -0,0 +1 @@ +0 diff --git a/Tests/RunCMake/CMP0028/CMP0028-WARN-stderr.txt b/Tests/RunCMake/CMP0028/CMP0028-WARN-stderr.txt new file mode 100644 index 0000000..2ff6927 --- /dev/null +++ b/Tests/RunCMake/CMP0028/CMP0028-WARN-stderr.txt @@ -0,0 +1,11 @@ +CMake Warning \(dev\) at CMP0028-WARN.cmake:2 \(add_library\): + Policy CMP0028 is not set: Double colon in target name means ALIAS or + IMPORTED target. Run "cmake --help-policy CMP0028" for policy details. + Use the cmake_policy command to set the policy and suppress this warning. + + Target "foo" links to target "External::Library" but the target was not + found. Perhaps a find_package\(\) call is missing for an IMPORTED target, or + a ALIAS target is missing\? +Call Stack \(most recent call first\): + CMakeLists.txt:3 \(include\) +This warning is for project developers. Use -Wno-dev to suppress it. diff --git a/Tests/RunCMake/CMP0028/CMP0028-WARN.cmake b/Tests/RunCMake/CMP0028/CMP0028-WARN.cmake new file mode 100644 index 0000000..70a6cc6 --- /dev/null +++ b/Tests/RunCMake/CMP0028/CMP0028-WARN.cmake @@ -0,0 +1,3 @@ + +add_library(foo empty.cpp) +target_link_libraries(foo PRIVATE External::Library) diff --git a/Tests/RunCMake/CMP0028/CMakeLists.txt b/Tests/RunCMake/CMP0028/CMakeLists.txt new file mode 100644 index 0000000..f1d9cae --- /dev/null +++ b/Tests/RunCMake/CMP0028/CMakeLists.txt @@ -0,0 +1,3 @@ +cmake_minimum_required(VERSION 2.8.4) +project(${RunCMake_TEST} CXX) +include(${RunCMake_TEST}.cmake NO_POLICY_SCOPE) diff --git a/Tests/RunCMake/CMP0028/RunCMakeTest.cmake b/Tests/RunCMake/CMP0028/RunCMakeTest.cmake new file mode 100644 index 0000000..293e27b --- /dev/null +++ b/Tests/RunCMake/CMP0028/RunCMakeTest.cmake @@ -0,0 +1,5 @@ +include(RunCMake) + +run_cmake(CMP0028-NEW) +run_cmake(CMP0028-OLD) +run_cmake(CMP0028-WARN) diff --git a/Tests/RunCMake/CMP0028/empty.cpp b/Tests/RunCMake/CMP0028/empty.cpp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/Tests/RunCMake/CMP0028/empty.cpp diff --git a/Tests/RunCMake/CMakeLists.txt b/Tests/RunCMake/CMakeLists.txt index 52c8667..3a0ea91 100644 --- a/Tests/RunCMake/CMakeLists.txt +++ b/Tests/RunCMake/CMakeLists.txt @@ -55,6 +55,7 @@ add_RunCMake_test(CMP0019) add_RunCMake_test(CMP0022) add_RunCMake_test(CMP0026) add_RunCMake_test(CMP0027) +add_RunCMake_test(CMP0028) add_RunCMake_test(CTest) if(UNIX AND "${CMAKE_TEST_GENERATOR}" MATCHES "Unix Makefiles") add_RunCMake_test(CompilerChange) @@ -98,6 +99,7 @@ add_RunCMake_test(include) add_RunCMake_test(include_directories) add_RunCMake_test(list) add_RunCMake_test(message) +add_RunCMake_test(string) add_RunCMake_test(try_compile) add_RunCMake_test(variable_watch) add_RunCMake_test(CMP0004) diff --git a/Tests/RunCMake/string/CMakeLists.txt b/Tests/RunCMake/string/CMakeLists.txt new file mode 100644 index 0000000..12cd3c7 --- /dev/null +++ b/Tests/RunCMake/string/CMakeLists.txt @@ -0,0 +1,3 @@ +cmake_minimum_required(VERSION 2.8.4) +project(${RunCMake_TEST} NONE) +include(${RunCMake_TEST}.cmake) diff --git a/Tests/RunCMake/string/Concat.cmake b/Tests/RunCMake/string/Concat.cmake new file mode 100644 index 0000000..7260c95 --- /dev/null +++ b/Tests/RunCMake/string/Concat.cmake @@ -0,0 +1,19 @@ +set(b b) +set(out x) +string(CONCAT out) +if(NOT out STREQUAL "") + message(FATAL_ERROR "\"string(CONCAT out)\" set out to \"${out}\"") +endif() +string(CONCAT out a) +if(NOT out STREQUAL "a") + message(FATAL_ERROR "\"string(CONCAT out a)\" set out to \"${out}\"") +endif() +string(CONCAT out a "b") +if(NOT out STREQUAL "ab") + message(FATAL_ERROR "\"string(CONCAT out a \"b\")\" set out to \"${out}\"") +endif() +string(CONCAT out a "${b}" [[ +${c}]]) +if(NOT out STREQUAL "ab\${c}") + message(FATAL_ERROR "\"string(CONCAT out a \"\${b}\" [[\${c}]])\" set out to \"${out}\"") +endif() diff --git a/Tests/RunCMake/string/ConcatNoArgs-result.txt b/Tests/RunCMake/string/ConcatNoArgs-result.txt new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/Tests/RunCMake/string/ConcatNoArgs-result.txt @@ -0,0 +1 @@ +1 diff --git a/Tests/RunCMake/string/ConcatNoArgs-stderr.txt b/Tests/RunCMake/string/ConcatNoArgs-stderr.txt new file mode 100644 index 0000000..efea5f1 --- /dev/null +++ b/Tests/RunCMake/string/ConcatNoArgs-stderr.txt @@ -0,0 +1,4 @@ +CMake Error at ConcatNoArgs.cmake:1 \(string\): + string sub-command CONCAT requires at least one argument. +Call Stack \(most recent call first\): + CMakeLists.txt:3 \(include\) diff --git a/Tests/RunCMake/string/ConcatNoArgs.cmake b/Tests/RunCMake/string/ConcatNoArgs.cmake new file mode 100644 index 0000000..ba21136 --- /dev/null +++ b/Tests/RunCMake/string/ConcatNoArgs.cmake @@ -0,0 +1 @@ +string(CONCAT) diff --git a/Tests/RunCMake/string/RunCMakeTest.cmake b/Tests/RunCMake/string/RunCMakeTest.cmake new file mode 100644 index 0000000..501acd2 --- /dev/null +++ b/Tests/RunCMake/string/RunCMakeTest.cmake @@ -0,0 +1,4 @@ +include(RunCMake) + +run_cmake(Concat) +run_cmake(ConcatNoArgs) |