summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | | | VS: Add VS_SETTINGS source file propertyMatt Davies2020-03-202-4/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | VS_SETTINGS is a list of key value pairs that get written as item metadata for the associated non-built file. The entire value of VS_SETTINGS is evaluated as a generator expression.
| * | | | | | | VS: Use unordered_map to write HLSL settings.Matt Davies2020-03-202-93/+107
| | | | | | | |
* | | | | | | | Merge topic 'gtest_discover_tests_cross_compile_support'Brad King2020-03-3017-158/+385
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3b4838b57f GoogleTest: Add tests for MultiConfig discovery in PRE_TEST mode 1ba4cb565e GoogleTest: Parameterize tests to check PRE_TEST/POST_BUILD discovery mode 75e82a13db GoogleTest: Add new DISCOVERY_MODE option to gtest_discover_tests 889a7146ff GoogleTestAddTests: Refactor into callable method Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4078
| * | | | | | | | GoogleTest: Add tests for MultiConfig discovery in PRE_TEST modeRyan Thornton2020-03-275-0/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PRE_TEST makes it possible to properly distinguish between test cases that exist only in certain configurations. In the new test scenario, debug tests are disabled in release builds, and release tests are disabled in debug builds when a multi config generator is used. Note, this is a bit of a hack and *only* works for PRE_TEST mode. POST_BUILD makes no attempt to get this right. It preserves the status quo and you obtain the tests that were last discovered. See further discussion in !4078 Ideally, the POST_BUILD behavior could be fixed by using generator expressions in OUTPUT and BYPRODUCT expressions. Then you could do something like: set(ctest_include_file "${ctest_file_base}_include-$<CONFIG>.cmake") set(ctest_tests_file "${ctest_file_base}_tests-$<CONFIG>.cmake") Once #12877 lands, maybe this can be revisited. Co-authored-by: Ryan Thornton <ThorntonRyan@JohnDeere.com> Co-authored-by: Kevin Puetz <PuetzKevinA@JohnDeere.com>
| * | | | | | | | GoogleTest: Parameterize tests to check PRE_TEST/POST_BUILD discovery modeRyan Thornton2020-03-2711-34/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now, the unit tests are ran twice -- once with POST_BUILD (i.e. default mode) and again with PRE_TEST (i.e. new discovery mode). Both modes of setting gtest discovery mode are also tested: 1. Using the global override (i.e. CMAKE_GTEST_DISCOVER_TESTS_DISCOVERY_MODE) 2. Explicitly passing DISCOVERY_MODE in calls to gtest_discover_tests (in GoogleTestDiscoveryTimeout.cmake) The goal is to show that the new PRE_TEST discovery mode does not break existing behavior (i.e. should not break POST_BUILD mode) and should also pass the same tests in the same way. A few non trivial implementation details worth noting: 1. Refactoring discovery_timeout_test into own project Originally, I tried doing: ``` run_GoogleTest(POST_BUILD) run_GoogleTest(PRE_TEST) ``` Without changing the internal structure of run_GoogleTest. But since discovery_timeout_test is part of the same project as the other tests, and CTest include files always get evaluated and that's where test discovery occurs, this means every other test now notices the timeout problem when running in PRE_TEST mode. As a result, keeping the existing test structure meant that each existing test (and any new test) would need to have its own PRE_TEST / POST_BUILD variant for stderr and stdout in order to handle the case where discovery_timeout_test timed out. This exponential increase in test output files introduced unnecessary complexity and made it more cumbersome to work on test cases. Why should an unrelated test case care about discovery_timeout_test? So, to fix that issue, the tests were broken apart into two main groups: 1. run_GoogleTest_discovery_timeout (the test dealing with discovery_timeout_test) 2. run_GoogleTest (everything else) This isolates the PRE_TEST / POST_BUILD timeout variants to a single test case. And the other test cases remain unchanged -- further driving home the point that DISCOVERY_MODE shouldn't change existing behavior. 2. Different number of PRE_TEST / POST_BUILD file variants On the PRE_TEST path, different build systems / compilers (i.e. MSBuild and ninja/gcc) produces different build output when building discovery_timeout_test, but we don't actually care what it is, just as long as it builds successfully. This the fundamental difference in behavior between POST_BUILD (which would have failed) and PRE_TEST (which doesn't) and is the reason why we don't need a GoogleTest-discovery-build-result.txt or GoogleTest-discovery-build-stdout.txt 3. Fix flaky discovery timeout test The test expects to see: > Output: > timeout > case. But sometimes, the test would only produce: > Output: > timout In certain environments, specifically when built with OpenWatcom 1.4, and while the build server was under heavy load (i.e. running many tests in parallel), std::endl behaves inconsistently and doesn't completely flush std::cout when the program is terminated due to timeout. This results in inconsistent test failures because the actual output doesn't fully match what's expected. At first we tried adding an additional: std::cout << std::flush That didn't work. But using C-style printf() and fflush() appears to do the trick: > This time I managed to get on the machine while it was still busy doing other nightly builds > and could reproduce the problem reliably. With that I was finally able to find a fix. > It turns out my earlier hypothesis that C++ stream flushing was not working on the old compiler was correct, > but even .flush() is not enough. > I changed it to use C-style printf() and fflush() and now the test passes on that build. > -- Brad King <brad.king@kitware.com> Co-authored-by: Ryan Thornton <ThorntonRyan@JohnDeere.com> Co-authored-by: Kevin Puetz <PuetzKevinA@JohnDeere.com>
| * | | | | | | | GoogleTest: Add new DISCOVERY_MODE option to gtest_discover_testsRyan Thornton2020-03-201-29/+104
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introducing a new DISCOVERY_MODE mode option, which provides greater control over when gtest_discover_tests perforsm test discovery. It has two supported modes: * POST_BUILD * PRE_TEST POST_BUILD is the default behavior, which adds a POST_BUILD command to perform test discovery after the test has been built. PRE_TEST is a new mode, which delays test discovery until test execution. DISCOVERY_MODE can be controlled in two ways: 1. Setting the DISCOVERY_MODE when calling gtest_discover_tests 2. Setting the global CMAKE_GTEST_DISCOVER_TESTS_DISCOVERY_MODE prior to calling gtest_discover_tests By delaying test discovery until ctest runtime, we can provide better cross compile support, because we're more likely to be in an environment that can run the test executable. This was achieved by moving the command for test discovery into the generated ctest include file. In PRE_TEST mode, the generated include file now has the form: if(EXISTS "path/to/test.exe") if("path/to/test.exe" IS_NEWER_THAN "path/to/ctest_file") // command to discover tests // and generate ctest_file endif() include("path/to/ctest_file") endif() elseif() // test not built endif() Which generates the appropriate CTest files at runtime and regenerates the CTest files when the executable is updated. In the old approach, test discovery was always added as POST_BUILD step and the executable was ran in order to scan for tests. If the test executable failed to run for any reason, this resulted in a link failure. This failure could more commonly occur when cross compiling, because your build environment might not have the appropriate runtime environment dlls required to run the test executable. I also ran into the issue when compiling a Qt application using Qt Creator. Qt Creator manages its build and runtime environments separately and only adds the Qt dlls to the environment during runtime -- not during build. So when gtest_discover_tests ran my test executable, it promptly crashed because the environment wasn't correct, which resulted in a build failure. Setting the DISCOVERY_MODE to PRE_TEST fixed my build failure by delaying test discovery until runtime, because this allowed the test exe to run in the proper environment. A few non-trivial implementation details worth noting: 1. bracket_arguments In the PRE_TEST side, parameters whose contents might contain special characters, need to be handled with great care. To aid in escaping these list arguments, backslashes, and other special characters, and ensuring that they are preserved in the generated file, bracket arguments (i.e. [== <...> ==]) are used. For example: gtest_discover_tests( ... EXTRA_ARGS how now "\"brown\" cow" ) Generates a file with the following call: gtest_discover_tests_impl( ... TEST_EXTRA_ARGS [==[how;now;"brown" cow]==] ) This way the arguments are forwarded correctly. 2. multi-config generators Multi-Config generators (e.g. MSBuild) now work more correctly in PRE_TEST than POST_BUILD. PRE_TEST is more correct because it will generate a unique CTest file for each configuration. It generates a per config file responsible for test discovery: foo[1]_include-Debug.cmake foo[1]_include-MinSizeRel.cmake foo[1]_include-Release.cmake foo[1]_include-RelWithDebInfo.cmake A per config file for containing the google tests: foo[1]_tests-Debug.cmake And an outer ctest file: foo[1]_include-Debug.cmake That is generically written to include the correct configuration file by looking at the value of ${CTEST_CONFIGURATION_TYPE} when CTest runs. POST_BUILD, in contrast, preserves the existing functionality. Tests are disocvered based on the last configuration that was chosen and only a single file is produced: foo[1]_include.cmake foo[1]_tests.cmake But it runs with whatever executable requested by ctest --config, which means it's possible to run the wrong tests if some tests were enabled in one configuration but not another.
| * | | | | | | | GoogleTestAddTests: Refactor into callable methodRyan Thornton2020-03-191-95/+125
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move test discovery logic into new gtest_discover_tests_impl method and make GoogleTestAddTests aware of whether it is being launched in CMake's script mode. When launched in script mode, gtest_discover_tests_impl is called passing arguments obtained from the definitions passed into the call to cmake. (i.e. cmake -P GoogleTestAddTests -D <arg1> -D <arg2> ...) This preserves the existing behavior assumed by GoogleTest.cmake. Unit tests are unchanged and still pass. Looking ahead, it also allows GoogleTestAddTests to be included in generated files and call gtest_discover_tests_impl to perform test discovery at test runtime with the new PRE_TEST discovery mode introduced later in this branch. My original approach attempted to call execute_process(cmake -P ...) in the generated file, the same way POST_BUILD is doing, but I ran into difficulties serializing the command arguments correctly. By exposing a way to call gtest_discover_tests_impl directly from our generated file, we remove a layer of shell quoting / parsing that our arguments have to survive, which simplifies the act of producing a generated file that behaves the same as its POST_BUILD counterpart.
* | | | | | | | | Merge topic 'FindBoost-lib-prefix-clarify'Brad King2020-03-301-3/+8
|\ \ \ \ \ \ \ \ \ | | |_|_|_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 040f503d83 FindBoost: Clarify logic selecting Boost_LIB_PREFIX Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4537
| * | | | | | | | FindBoost: Clarify logic selecting Boost_LIB_PREFIXBrad King2020-03-271-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also add a comment explaining its purpose.
* | | | | | | | | Merge branch 'release-3.17'Brad King2020-03-300-0/+0
|\ \ \ \ \ \ \ \ \ | | |_|_|_|_|/ / / | |/| | | | | | |
| * | | | | | | | Merge topic 'docs-xcode-gen-scheme-workdir' into release-3.17Brad King2020-03-303-4/+5
| |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6905451e11 Help: Add missing XCODE_SCHEME_WORKING_DIRECTORY 6ff07dac76 Help: Minor typos and formatting for XCODE_SCHEME_WORKING_DIRECTORY Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4543
* | \ \ \ \ \ \ \ \ Merge topic 'docs-xcode-gen-scheme-workdir'Brad King2020-03-303-4/+5
|\ \ \ \ \ \ \ \ \ \ | | |/ / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6905451e11 Help: Add missing XCODE_SCHEME_WORKING_DIRECTORY 6ff07dac76 Help: Minor typos and formatting for XCODE_SCHEME_WORKING_DIRECTORY Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4543
| * | | | | | | | | Help: Add missing XCODE_SCHEME_WORKING_DIRECTORYCraig Scott2020-03-291-0/+1
| | | | | | | | | |
| * | | | | | | | | Help: Minor typos and formatting for XCODE_SCHEME_WORKING_DIRECTORYCraig Scott2020-03-292-4/+4
| | |_|_|_|_|_|/ / | |/| | | | | | |
* | | | | | | | | Merge branch 'release-3.17'Brad King2020-03-300-0/+0
|\ \ \ \ \ \ \ \ \ | | |/ / / / / / / | |/| | | | | | |
| * | | | | | | | Merge topic 'llvm_rc_pp' into release-3.17Brad King2020-03-301-1/+1
| |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4bef0e6450 llvm-rc: Enable preprocessing if CMAKE_RC_COMPILER_INIT is an absolute path Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4535
* | \ \ \ \ \ \ \ \ Merge topic 'llvm_rc_pp'Brad King2020-03-301-1/+1
|\ \ \ \ \ \ \ \ \ \ | | |/ / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4bef0e6450 llvm-rc: Enable preprocessing if CMAKE_RC_COMPILER_INIT is an absolute path Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4535
| * | | | | | | | | llvm-rc: Enable preprocessing if CMAKE_RC_COMPILER_INIT is an absolute pathLucas Wang2020-03-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `CMAKE_RC_COMPILER_INIT` and `CMAKE_RC_COMPILER` can be set by user, for example `llvm-rc-10` and `D:\LLVM\bin\llvm-rc.exe`.
* | | | | | | | | | Merge topic 'FindPython-use-sysconfig-package'Brad King2020-03-301-12/+24
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dd0664415a FindPython: use 'sysconfig' as alternate to 'distutils.sysconfig' Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4540
| * | | | | | | | | | FindPython: use 'sysconfig' as alternate to 'distutils.sysconfig'Marc Chevrier2020-03-281-12/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To support any python installation, if package 'distutils.sysconfig' is not available, try to use package 'sysconfig'. Fixes: #20502
* | | | | | | | | | | CMake Nightly Date StampKitware Robot2020-03-301-1/+1
| | | | | | | | | | |
* | | | | | | | | | | CMake Nightly Date StampKitware Robot2020-03-291-1/+1
|/ / / / / / / / / /
* | | | | | | | | | Merge branch 'release-3.17'Craig Scott2020-03-280-0/+0
|\ \ \ \ \ \ \ \ \ \ | | |/ / / / / / / / | |/| | | | | | | |
| * | | | | | | | | Merge topic 'ninja-multi-doc-variable-update' into release-3.17Craig Scott2020-03-284-43/+35
| |\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | c8fd26eb57 Help: Move Ninja Multi-Config variable details into their respective pages Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4532
* | \ \ \ \ \ \ \ \ \ Merge topic 'ninja-multi-doc-variable-update'Craig Scott2020-03-284-43/+35
|\ \ \ \ \ \ \ \ \ \ \ | | |/ / / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | c8fd26eb57 Help: Move Ninja Multi-Config variable details into their respective pages Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4532
| * | | | | | | | | | Help: Move Ninja Multi-Config variable details into their respective pagesKyle Edwards2020-03-264-43/+35
| | | | | | | | | | |
* | | | | | | | | | | CMake Nightly Date StampKitware Robot2020-03-281-1/+1
| |_|_|_|_|_|_|/ / / |/| | | | | | | | |
* | | | | | | | | | Merge topic 'pch-warn-invalid'Brad King2020-03-2713-7/+86
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2ce08e5489 PCH: add an option to disable `-Winvalid-pch` Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4499
| * | | | | | | | | | PCH: add an option to disable `-Winvalid-pch`Cristian Adam2020-03-2613-7/+86
| | |_|_|_|_|_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: #20295
* | | | | | | | | | Merge topic 'doc-cmake-package-targets'Brad King2020-03-271-0/+7
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | e6344586ee install: Document caveat when EXPORT name matches package name Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4527
| * | | | | | | | | | install: Document caveat when EXPORT name matches package nameBrad King2020-03-261-0/+7
| | |_|_|_|_|/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: #20427
* | | | | | | | | | Merge topic 'cleanup-endls-1'Brad King2020-03-279-111/+101
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3fdd8db3aa Refactor: Avoid `std::endl` where it's not necessary (part 1) Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4513
| * | | | | | | | | | Refactor: Avoid `std::endl` where it's not necessary (part 1)Alex Turbov2020-03-269-111/+101
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `std::endl` manupulator, except inserting `\n` character, also performs `os.flush()`, which may leads to undesired effects (like disk I/O in the middle of forming data strings). For the `std::stringstream` it also has no meaning.
* | | | | | | | | | | Merge topic 'cmprop-getglobalprop'Brad King2020-03-2719-83/+95
|\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | c84cf42897 cmState::GetGlobalProperty: return cmProp Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4521
| * | | | | | | | | | | cmState::GetGlobalProperty: return cmPropVitaly Stakhovsky2020-03-2519-83/+95
| | | | | | | | | | | |
* | | | | | | | | | | | Merge topic 'cmprop-state'Brad King2020-03-2711-29/+32
|\ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a7f2ff16a4 cmState::GetCacheEntryProperty: return cmProp Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4522
| * | | | | | | | | | | | cmState::GetCacheEntryProperty: return cmPropVitaly Stakhovsky2020-03-2511-29/+32
| | |/ / / / / / / / / / | |/| | | | | | | | | |
* | | | | | | | | | | | Merge topic 'export-error-on-multuple-calls'Brad King2020-03-2712-2/+114
|\ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 0cd20e8f62 export(): raise an error on multiple calls with same FILE Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4510
| * | | | | | | | | | | | export(): raise an error on multiple calls with same FILEMarc Chevrier2020-03-2612-2/+114
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: 20472
* | | | | | | | | | | | | Merge branch 'release-3.17'Brad King2020-03-270-0/+0
|\ \ \ \ \ \ \ \ \ \ \ \ \ | | |_|_|_|_|_|/ / / / / / | |/| | | | | | | | | | |
| * | | | | | | | | | | | Merge topic 'ctest-timeout-report' into release-3.17Brad King2020-03-274-10/+16
| |\ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7fda917fa4 CTest: Fix reported duration on timeout when grindchild keeps pipes open Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4530
* | \ \ \ \ \ \ \ \ \ \ \ \ Merge topic 'ctest-timeout-report'Brad King2020-03-274-10/+16
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3503a79639 Merge branch 'backport-ctest-timeout-report' into ctest-timeout-report 7fda917fa4 CTest: Fix reported duration on timeout when grindchild keeps pipes open Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4530
| * \ \ \ \ \ \ \ \ \ \ \ \ \ Merge branch 'backport-ctest-timeout-report' into ctest-timeout-reportBrad King2020-03-264-10/+16
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | |/ / / / / / / / / / / / | | |/| | | | / / / / / / / / | | |_|_|_|_|/ / / / / / / / | |/| | | | | | | | | | | |
| | * | | | | | | | | | | | CTest: Fix reported duration on timeout when grindchild keeps pipes openBrad King2020-03-264-10/+16
| | | |_|_|_|_|_|_|/ / / / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit d1976cd1f2 (CTest: Fix timeout when grandchild keeps pipes open, 2020-01-13, v3.17.0-rc1~169^2) we no longer hang, but the test duration we report after the timeout is the amount of time the immediate child ran before exiting. Fix the logic to instead report the actual amount of time we spent monitoring the test before the timeout. Fixes: #20509
* | | | | | | | | | | | | Merge branch 'release-3.17'Brad King2020-03-270-0/+0
|\ \ \ \ \ \ \ \ \ \ \ \ \ | | |_|/ / / / / / / / / / | |/| | | | | | | | | | |
| * | | | | | | | | | | | Merge topic 'vs-clangcl' into release-3.17Brad King2020-03-271-1/+3
| |\ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f3d7a15010 VS: Fix ClangCL toolset compiler path detection Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4523
* | \ \ \ \ \ \ \ \ \ \ \ \ Merge topic 'vs-clangcl'Brad King2020-03-271-1/+3
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ | | |/ / / / / / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f3d7a15010 VS: Fix ClangCL toolset compiler path detection Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4523
| * | | | | | | | | | | | | VS: Fix ClangCL toolset compiler path detectionBrad King2020-03-261-1/+3
| | |_|/ / / / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Prior to commit 3c125c6de0 (VS: Support Visual Studio Clang Toolkit identification, 2019-12-03, v3.17.0-rc1~341^2) using `-T ClangCL` would work but `CMAKE_{C,CXX}_COMPILER` would be detected as `cl.exe` even though `clang-cl.exe` is the actual compiler. That commit attempted to fix the detection by using `$(ClangClExecutable)` as we do for LLVM-distributed toolsets, but that is not actually defined. Instead, look for `$(CLToolExe)` in the `PATH`. Fixes: #20504
* | | | | | | | | | | | | Merge branch 'release-3.17'Brad King2020-03-270-0/+0
|\ \ \ \ \ \ \ \ \ \ \ \ \ | | |/ / / / / / / / / / / | |/| | | | | | | | | | |
| * | | | | | | | | | | | Merge topic 'FindPython-variable-spelling-error' into release-3.17Brad King2020-03-271-1/+1
| |\ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 63580668a8 FindPython: fix variable spelling error Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4529