summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'ctest_submit-https'Brad King2018-06-292-6/+9
|\ | | | | | | | | | | | | | | 71f27c04b0 ctest_submit: show headers as debug info 4464ef21da ctest_submit: Check CA file during CDASH_UPLOAD Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2171
| * ctest_submit: show headers as debug infoZack Galbreath2018-06-272-6/+9
| | | | | | | | | | | | | | Hide any headers specified by `ctest_submit(HTTPHEADER ...)` unless ctest is run with --debug. This option is used to present bearer tokens to CDash. We do not want to inadvertently expose this secret data in the console output log.
* | Merge topic 'lexer-null'Brad King2018-06-294-0/+7
|\ \ | | | | | | | | | | | | | | | | | | b29842a818 ListFileLexer: Do not match null bytes in input Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2174
| * | ListFileLexer: Do not match null bytes in inputBrad King2018-06-264-0/+7
| |/ | | | | | | | | | | | | | | | | | | | | Extend the fix from commit v3.10.0-rc1~188^2 (ListFileLexer: fix heap-buffer-overflow on malicious input, 2017-08-26) to apply to all lexer token matches. Replace all `.` with `[^\0\n]`. Update all `[^...]` match expressions to not match `\0`. We cannot safely process null bytes in strings. Fixes: #18124
* | Merge topic 'test-wizard'Brad King2018-06-253-0/+3
|\ \ | | | | | | | | | | | | | | | | | | 7bffd71c3b Tests: Adopt wizard test in RunCMake.CommandLine Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2166
| * | Tests: Adopt wizard test in RunCMake.CommandLineBrad King2018-06-223-0/+3
| | | | | | | | | | | | Avoid a whole separate test for one removed command-line option.
* | | Merge topic 'file-GLOB-remove-new-errors'Brad King2018-06-256-11/+1
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | 142a625729 file: Drop error cases added by CMake 3.12.0-rc1 to avoid regressions Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Shane Parris <shane.lee.parris@gmail.com> Merge-request: !2164
| * | file: Drop error cases added by CMake 3.12.0-rc1 to avoid regressionsBrad King2018-06-226-11/+1
| |/ | | | | | | | | | | | | | | | | Refactoring in commit v3.12.0-rc1~418^2~3 (Refactor HandleGlobCommand, 2018-02-13) introduced error diagnostics for argument combinations that were previously accepted. Restore acceptance to avoid regressing projects that used those combinations even if they do not make sense. Fixes: #18097
* | Merge topic 'vs_debugger'Brad King2018-06-229-4/+60
|\ \ | | | | | | | | | | | | | | | | | | 797de7a6f6 VS10Project: Expand VS_DEBUGGER_* capabilities Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2150
| * | VS10Project: Expand VS_DEBUGGER_* capabilitiesJon Chronopoulos2018-06-179-4/+60
| | | | | | | | | | | | | | | This adds VS_DEBUGGER_COMMAND_ARGUMENTS and VS_DEBUGGER_ENVIRONMENT as well as allowing VS_DEBUGGER_* to use generator expressions.
* | | Merge topic 'xcode-10-legacy-build-system'Brad King2018-06-201-0/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ca69206893 Tests: Do not use i386 architecture with Xcode 10 and above 71fa78ff7a Tests: Teach RunCMake to ignore Xcode missing file type warnings 057ecb8f6f C++ feature checks: Ignore Xcode warnings 985d3a162c Xcode: Use legacy build system Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2151
| * | | Tests: Teach RunCMake to ignore Xcode missing file type warningsBrad King2018-06-191-0/+1
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | Xcode 10 beta warns xcodebuild... warning: file type '::com.apple.instruments.instrdst' is based on missing file type 'default::com.apple.package' Teach RunCMake to drop such lines before matching against expected output.
* | | Merge topic 'install_from_another_directory'Brad King2018-06-194-0/+8
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | e89ad0f94e install: Allow installing targets created in another directory Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2152
| * | | install: Allow installing targets created in another directoryZack Galbreath2018-06-184-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, `install(TARGETS)` would only accept targets created in the same directory scope. Relax this restriction by searching the global scope when determining whether or not a target exists. Fixes: #14444
* | | | Merge topic 'subdir_target_sources'Craig Scott2018-06-1930-0/+162
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | 316815e1f4 target_sources: Interpret relative paths as relative to the calling directory Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2128
| * | | target_sources: Interpret relative paths as relative to the calling directoryPatrick Stotko2018-06-1830-0/+162
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously the command considered non-absolute source file paths relative to the associated target on the LHS. This causes problems in incremental builds where files are added from subdirectories and forces users to workaround by manually converting to absolute paths. Change this to enable more intuitive usage by projects. Fixes #17981
* | | find_program: Consider CWD only for paths with separatorSam Yates2018-06-144-0/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | find_program() incorrectly prepended search path components to absolute file paths, and incorrectly searched the current working directory for files that contained no directory separators. * Replace calls cmFindProgramHelper::CheckDirectory(std::string()) with call of new method cmFindProgramHelper::CheckCompoundNames() that checks for the presence of a directory separator in the file name. * Use cmSystemTools::CollapseCombinedPath rather than string concatenation to properly combine absolute file names with search path components. * Add unit tests to verify corrections. Fixes: #18044
* | | Merge topic 'list_sort'Brad King2018-06-1427-5/+178
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | 49a51a61d7 list: Add options to control the SORT comparison operation Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2065
| * | list: Add options to control the SORT comparison operationDaniel Franke2018-06-1327-5/+178
| |/
* | Merge topic 'LINK_OPTIONS'Brad King2018-06-0851-2/+432
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 66ea1a3795 LINK_OPTIONS: Add support of "LINKER:" prefix c1f5a44b28 LINK_OPTIONS: Add new family of properties 8e28d2630a Makefile generator: link flags management refactoring Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Alex Turbov <i.zaufi@gmail.com> Merge-request: !2033
| * | LINK_OPTIONS: Add support of "LINKER:" prefixMarc Chevrier2018-06-0620-29/+194
| | |
| * | LINK_OPTIONS: Add new family of propertiesMarc Chevrier2018-06-0633-2/+267
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | This family enable to manage link flags Three new properties: * directory property: LINK_OPTIONS * target properties: LINK_OPTIONS and INTERFACE_LINK_OPTIONS Two new commands * add_link_options(): to populate directory property * target_link_options(): to populate target properties Fixes: #16543
* | install: Teach CODE,SCRIPT modes to evaluate generator expressionsJon Chronopoulos2018-06-076-0/+19
|/ | | | Fixes: #15785
* Merge topic 'ep-support-passing-var-ending-with-notfound'Brad King2018-06-054-2/+22
|\ | | | | | | | | | | | | 7ad5165c67 ExternalProject: Fix cache generation when args end with "-NOTFOUND" Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2127
| * ExternalProject: Fix cache generation when args end with "-NOTFOUND"Jean-Christophe Fillion-Robin2018-06-044-2/+22
| | | | | | | | | | | | | | | | | | | | | | Generalize the fix in commit v3.11.0-rc4~8^2 (ExternalProject: Fix cache generation when last args ends with "-NOTFOUND", 2018-03-10) to work for any argument rather than just the last one. ExternalProject can now successfully generate the cache file when any (not only the last one) cache variable associated with either `CMAKE_CACHE_ARGS` or `CMAKE_DEFAULT_CACHE_ARGS` configure step option is set to a `<value>` ending with `-NOTFOUND`.
| * Merge branch 'custom-command-expand-empty' into release-3.11Brad King2018-05-142-0/+2
| |\ | | | | | | | | | Merge-request: !2074
* | | Revise C++ coding style using clang-format-6.0Kitware Robot2018-06-0120-135/+139
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Run the `clang-format.bash` script to update all our C and C++ code to a new style defined by `.clang-format`. Use `clang-format` version 6.0. * If you reached this commit for a line in `git blame`, re-run the blame operation starting at the parent of this commit to see older history for the content. * See the parent commit for instructions to rebase a change across this style transition commit.
* | | clang-format.bash: update to clang-format-6.0Brad King2018-06-012-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update `.clang-format` with configuration to make the 6.0 format as close as possible to what 3.8 produced before. Then revise the style: * Indent preprocessor directives (a feature new since 3.8) * Add a newline and indentation before inheritance `:` and `,` Rename the Git attribute identifying the format to include the clang-format version number: `format.clang-format-6.0`. This will aid external infrastructure in knowing what version of the tool to run.
* | | Merge topic 'vs-toolset-version'Brad King2018-05-3011-0/+44
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5f13168419 VS: Add option to select the version of the toolset used by VS 2017 Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Francisco Facioni <fran6co@gmail.com> Merge-request: !2093
| * | | VS: Add option to select the version of the toolset used by VS 2017Basil Fierz2018-05-2911-0/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add new `version=` parameter in the toolset setting to select the version. Add variable `CMAKE_VS_PLATFORM_TOOLSET_VERSION` to hold the version, if one is set (blank indicates default). Fixes: #17549
* | | | Merge topic 'parallel_build_option'Brad King2018-05-2917-0/+43
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | 1ab3881ec9 cmake: Add options for parallel builds to --build mode Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Henry Schreiner <henryschreineriii@gmail.com> Merge-request: !1962
| * | | cmake: Add options for parallel builds to --build modeFlorian Maushart2018-05-2517-0/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | While we already support `cmake --build . -- -j`, the options after `--` are specific to the native build tool. Add new options `--parallel [<N>]` and `-j [<N>]` to abstract this and map to the proper option for the native build tool.
* | | | FindLua: Add tests for this moduleAlexander Grund2018-05-249-0/+134
| | | |
* | | | target_link_libraries: Allow use with targets in other directoriesPatrick Stotko2018-05-1515-7/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously the command did not allow naming targets on the LHS that were not created in the calling directory. Lift this restriction to enable more flexible use by projects. Fixes: #17943
* | | | Merge topic 'custom-command-expand-empty'Brad King2018-05-152-0/+2
|\ \ \ \ | | |_|/ | |/| | | | | | | | | | | | | | | | | | 6e59491659 add_custom_{command,target}: Fix crash on empty expanded command Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2074
| * | | add_custom_{command,target}: Fix crash on empty expanded commandBrad King2018-05-142-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Our custom command generation logic assumes that all command lines have at least `argv0`. In `add_custom_{command,target}` we already check that at least a `COMMAND` was given, but using `COMMAND_EXPAND_LISTS` in combination with a generator expression that expands to an empty string may produce an empty command line. In this case simply add an empty string as a command to maintain our internal invariant. Fixes: #17993
* | | | FindPkgConfig: export the list of found libraries also as variableRolf Eike Beer2018-05-111-0/+12
| | | |
* | | | Merge topic 'restore-imported-lib-alias-diagnostic'Brad King2018-05-111-2/+8
|\ \ \ \ | | |_|/ | |/| | | | | | | | | | | | | | | | | | e567d7eb63 add_library: Restore error on alias of non-global imported target Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2058
| * | | add_library: Restore error on alias of non-global imported targetBrad King2018-05-101-2/+8
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit v3.11.0-rc1~433^2~1 (Add support for IMPORTED GLOBAL targets to be aliased, 2017-09-14) we accidentally dropped the error on calling `add_library` to alias an imported target that is not globally visible. The `add_executable` command's equivalent check was properly updated. Restore the check in `add_library` with the same update. Also fix the test case accordingly. Fixes: #17982
| * | Merge branch 'backport-fix-explicit-CMakeLists.txt' into release-3.11Brad King2018-04-136-0/+55
| |\ \ | | | | | | | | | | | | Merge-request: !1959
| * \ \ Merge branch 'cpack-trace-nullptr' into release-3.11Brad King2018-04-104-0/+13
| |\ \ \ | | | | | | | | | | | | | | | Merge-request: !1950
* | | | | ctest_start: read model from TAG fileKyle Edwards2018-05-0930-2/+127
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change reworks ctest_start() so that simply calling ctest_start(APPEND) will read all the information from the TAG file. On top of that, it relaxes the argument parsing for ctest_start() to allow greater flexibility in the argument ordering, and the documentation for ctest_start() has been cleaned up.
* | | | | cmVisualStudio10TargetGenerator: issue warning when adding static C# libMichael Stürmer2018-05-072-0/+11
| |_|_|/ |/| | |
* | | | Merge topic 'genex-complang-not-loaded'Brad King2018-05-043-10/+1
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4f82199bef Genex: Allow COMPILE_LANGUAGE to name a language that is not loaded Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2031
| * | | | Genex: Allow COMPILE_LANGUAGE to name a language that is not loadedHenry Schreiner2018-05-033-10/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Evaluate to false on `$<COMPILE_LANGUAGE:Lang>` if language `Lang` is not loaded. This is helpful in exported targets consumed in other projects that may not enable all the same languages. Fixes: #17952
* | | | | install: add test for new NAMELINK_COMPONENT parameterKyle Edwards2018-05-0313-1/+285
|/ / / /
* | | | Merge topic 'csharp_reference_imported_targets'Brad King2018-04-2618-0/+332
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | de549083e3 cmVisualStudio10TargetGenerator: warn if /clr flag is set manually 59ec7d50bd cmVisualStudio10TargetGenerator: fix for backward compatibility 663f5120f4 cmGlobalVisualStudioGenerator: remove TargetCanBeReferenced() 359544a907 add tests for using target_link_libraries() with imported managed targets 43571073e0 cmVisualStudio10TargetGenerator: store managed reference information in maps 16fec7e2fc cmVisualStudio10TargetGenerator: make some methods config aware f3c6828876 cmVisualStudio10TargetGenerator: /clr compatible flags for managed tgt f9042d807d remove TargetIsCSharpOnly() and use methods from cmGeneratorTarget ... Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1805
| * | | | add tests for using target_link_libraries() with imported managed targetsMichael Stürmer2018-04-2418-0/+332
| | | | |
* | | | | Ninja: Avoid empty phony edges for target orderingBrad King2018-04-263-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit v3.9.0-rc1~230^2~2 (ninja: break unnecessary target dependencies, 2017-04-17) we unconditionally generate a phony edge for target ordering. It is needed in case a later target depends on it. However, if the phony edge has no inputs then `ninja -d explain` prints: ninja explain: output ... of phony edge with no inputs doesn't exist Furthermore the phony edge's output is considered dirty and can cause dependents to be incorrectly considered dirty. Avoid this by always generating at least one input to the target ordering phony edges. If we have no real dependencies just use a path that always exists. Fixes: #17942
* | | | | Merge topic 'vs-dedup-custom-commands'Brad King2018-04-254-0/+31
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f59c33a763 VS: Generate a custom command only in the least dependent target d58d4daa6b cmVisualStudio10TargetGenerator: Use cmLocalVisualStudio10Generator Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1889