summaryrefslogtreecommitdiffstats
path: root/Source/cmGlobalGenerator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'add-xlclang'Brad King2019-02-261-0/+30
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | d9d285c5ad jsoncpp: Fix include order for build within CMake 0d489fab19 libuv: fix atomic ops compilation with xlclang 1699f5c231 Utilities: Suppress warnings in third-party code when using XLClang f709089d84 XLClang: Extract compiler implicit include directories 5c41386357 XLClang: Add policy CMP0089 to present as XL for compatibility 8278237933 XL: Remove overlap with the new XLClang compiler ID 6f5cf2d2c6 XL: Revert "Recognize compilers identified by __ibmxl__" 90c6156aa8 XLClang: Add a new compiler ID for the clang-based XL compiler ... Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2921
| * XLClang: Add policy CMP0089 to present as XL for compatibilityBrad King2019-02-251-0/+30
| | | | | | | | | | | | | | | | We now identify IBM's Clang-based XL compilers, which define `__ibmxl__`, as `XLClang` rather than `XL`. In order to support existing project code that checks for `XL`, add a policy whose OLD behavior is to present the compiler id as `XL` and whose NEW behavior is to present the compiler id as `XLClang` as we really detect it.
* | Merge topic 'gt-shorter-unique-names'Brad King2019-02-251-5/+12
|\ \ | |/ |/| | | | | | | | | 3f685ac3e1 Use shorter names in internal TARGET_PROPERTY expressions Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3009
| * Use shorter names in internal TARGET_PROPERTY expressionsBrad King2019-02-221-5/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The change in commit 2f708f5d65 (Make internal TARGET_PROPERTY generator expressions more robust, 2018-09-07, v3.13.0-rc1~94^2~4) introduced globally unique names in synthesized `$<TARGET_PROPERTY:...>` generator. We used the pattern `<target-name>::T<pointer-to-generator-target>` to guarantee uniqueness. However, in projects that require many such expressions to be generated there was a measurable increase in runtime. We had included the target name in the synthesized genex only for human reference during debugging. It is not necessary. Switch to the pattern `:<pointer-to-generator-target>` to shorten the name. Also hand-roll a hex-print loop instead of using sprintf. Together these optimizations get at least some of the time back. Issue: #18964
* | Merge topic 'drop-MIPSpro'Brad King2019-02-251-7/+0
|\ \ | | | | | | | | | | | | | | | | | | 214fcefa52 Remove now-unused code once used for MIPSpro on IRIX Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3004
| * | Remove now-unused code once used for MIPSpro on IRIXBrad King2019-02-211-7/+0
| |/ | | | | | | | | | | In commit beb991110d (Remove now-unused code once used on IRIX, 2019-01-11, v3.14.0-rc1~167^2) we removed remnants of IRIX support. Also remove remnants of MIPSpro compiler support.
* | Merge topic 'cmrange-improvements'Brad King2019-02-251-0/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b8031308f3 cmRange: Add unit tests a8d51ef8b7 cmRange: Add functions filter and transform da4773e8b8 cmRange: Add functions all_of, any_of, none_of 17a367e77f cmRange: Stylistic cleanup 9eb0e73f46 cmRange: Move to dedicated header file Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Artur Ryt <artur.ryt@gmail.com> Merge-request: !2972
| * | cmRange: Move to dedicated header fileRegina Pfeifer2019-02-211-0/+1
| |/
* | Merge topic 'error-consolidate'Brad King2019-02-251-17/+14
|\ \ | | | | | | | | | | | | | | | | | | 9dd255548d cmSystemTools::Error: consolidate parameters into single std::string Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2995
| * | cmSystemTools::Error: consolidate parameters into single std::stringVitaly Stakhovsky2019-02-201-17/+14
| |/
* | cmSystemTools: More functions accept `std::string` paramsVitaly Stakhovsky2019-02-201-1/+1
|/
* Modernize: C-arrays and loops over themArtur Ryt2019-02-151-12/+11
| | | | | It replaces C arrays with deduced std::initializer_lists or std::array what makes enables for-loop over them.
* cmake: Progress functions use `std::string` paramVitaly Stakhovsky2019-02-111-1/+1
|
* Merge topic 'modernize-for-loops'Brad King2019-02-111-6/+6
|\ | | | | | | | | | | | | | | | | 01b2d6ab74 Modernize: Use ranged for-loops when possible 15bdbec017 cmAlgorithms: Make cmRange advance/retreat safe for rvalues Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Daniel Pfeifer <daniel@pfeifer-mail.de> Merge-request: !2901
| * Modernize: Use ranged for-loops when possibleArtur Ryt2019-02-071-6/+6
| | | | | | | | | | | | | | Replaced most manual `const_iterator`-based loops and some reverse-iterator loops with range loops. Fixes: #18858
* | cmMakefile::GetRequiredDefinition: return const std::string&Vitaly Stakhovsky2019-02-071-2/+3
|/
* Merge topic 'vs-msbuild-arch'Brad King2019-01-301-5/+5
|\ | | | | | | | | | | | | | | da402a081b VS: Use MSBuild matching toolset host architecture 147d36ce93 Find native build tool after selecting a toolset Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2876
| * Find native build tool after selecting a toolsetBrad King2019-01-291-5/+5
| | | | | | | | | | | | | | | | | | This will allow `CMAKE_GENERATOR_TOOLSET` to influence build tool selection. For reference, commit f8cb9944a1 (Find native build tool after determining the target system, 2017-09-26, v3.10.0-rc1~31^2) already delayed this step from where it was historically.
* | Merge topic 'add_consistent_verbose_build_flag'Brad King2019-01-291-17/+14
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 66801f4d40 cmake: Add tests for verbose output to --build mode 439fe2e253 cmake: Add options for verbose output to --build mode 638667efa2 cmake: cmcmd.cxx fix "The arguments are" comments 3ca4402966 ctest: Fix --build-and-test without --build-target on Xcode cb6c233ecc cmake: Add -hideShellScriptEnvironment xcodebuild option 1a45266cb5 cmGlobalGenerator: Add a class that represent the build command Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2708
| * | cmGlobalGenerator: Add a class that represent the build commandRobert Maynard2019-01-251-17/+14
| | | | | | | | | | | | | | | | | | This refactors a std::vector<std::string> into a class so that we can extend the features to represent things such as multiple chained commands in the future.
* | | Merge topic 'cmoutputconverter-simplify'Brad King2019-01-291-3/+3
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | b6a957c969 cmOutputConverter: move ConvertToRelativePath to cmStateDirectory. Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2831
| * | | cmOutputConverter: move ConvertToRelativePath to cmStateDirectory.Bruno Manganelli2019-01-271-3/+3
| | | |
* | | | cmSystemTools::Message: Add overload accepting std::stringVitaly Stakhovsky2019-01-281-1/+1
| |_|/ |/| |
* | | Merge topic 'max-recursion-depth'Brad King2019-01-251-0/+3
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | a6982cff0d cmMakefile: Impose maximum recursion limit Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Juraj Oršulić <juraj.orsulic@fer.hr> Merge-request: !2746
| * | | cmMakefile: Impose maximum recursion limitKyle Edwards2019-01-231-0/+3
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | In order to keep infinitely-recursive scripts from causing a stack overflow in the CMake executable, CMake now imposes a maximum recursion limit before issuing an error message. The limit can be adjusted at runtime with CMAKE_MAXIMUM_RECURSION_DEPTH. Fixes: #18694
* | | Merge topic 'exclude_from_all'Brad King2019-01-251-10/+3
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | dc6888573d Pass EXCLUDE_FROM_ALL from directory to targets Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2816
| * | | Pass EXCLUDE_FROM_ALL from directory to targetsZack Galbreath2019-01-211-10/+3
| | | | | | | | | | | | | | | | | | | | | | | | When a target is created it now inherits the EXCLUDE_FROM_ALL property from its directory. This change makes it possible to include a target in "all", even if its directory has been marked as EXCLUDE_FROM_ALL.
* | | | Merge topic 'cmake-files-directory'Brad King2019-01-251-7/+6
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3e867ed400 cmake: inlined files dir constant and removed it from cmake.h Acked-by: Kitware Robot <kwrobot@kitware.com> Rejected-by: vvs31415 <vstakhovsky@fastmail.com> Merge-request: !2655
| * | | | cmake: inlined files dir constant and removed it from cmake.hBruno Manganelli2019-01-211-7/+6
| |/ / /
* | | | cmSystemTools::Error(): new overload accepting std::stringVitaly Stakhovsky2019-01-231-2/+2
| |/ / |/| |
* | | cmMakefile: GetModulesFile() accepts std::string paramVitaly Stakhovsky2019-01-211-18/+13
| |/ |/|
* | Merge topic 'read-list-file'Brad King2019-01-211-12/+12
|\ \ | | | | | | | | | | | | | | | | | | 25caf7bafe cmMakefile::ReadListFile() accepts std::string argument Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2821
| * | cmMakefile::ReadListFile() accepts std::string argumentVitaly Stakhovsky2019-01-171-12/+12
| |/ | | | | | | Same for cmMakefile::ReadDependentFile(); some cleanup
* | Merge topic 'use-emplace'Brad King2019-01-211-5/+5
|\ \ | | | | | | | | | | | | | | | | | | | | | ef61997b1b clang-tidy: Use emplace 2e5307a2a4 CTestSVN: Accept std::string in SVNInfo constructor Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2811
| * | clang-tidy: Use emplaceRegina Pfeifer2019-01-171-5/+5
| |/
* | GHS: Integrity Application updatesFred Baksik2019-01-161-1/+2
|/ | | | | | | | | | | | | | | | | -- Check the property "ghs_integrity_app" on executables to set [INTEGRITY Application] If the property is not set then check if an integrate file is one of the source files (.int file). Dynamic Downloads that do not have an integrate file can use this property along with setting the compiler flag "-dynamic". -- Remove parsing for -dynamic flag; it is only used to print a comment The MULTI GUI will show if it is a Monolith or Dynamic Download application -- Use project references to specify which executables are part of the Integrity Application Usually Implicit Dependency Analysis will ensure that executable targets become part of the application. This does not work for Dynamic Download without integrate files. Use `add_dependencies(dd vas)` to mark that the vas target is part of dd target. -- Update file locations in the Integrate files.
* Factor out enum MessageType into dedicated headerBruno Manganelli2019-01-161-21/+24
| | | | Reduce the number of files relying on `cmake.h`.
* Merge topic 'nmake-compile-commands'Craig Scott2019-01-071-3/+15
|\ | | | | | | | | | | | | | | 37c6a02dc2 CMake: fix nmake compile_commands generation 7583f7490e cmGlobalGenerator: Teach EscapeJSON to escape newlines and tabs Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2648
| * cmGlobalGenerator: Teach EscapeJSON to escape newlines and tabsYan Pashkovsky2018-12-141-3/+15
| |
* | fileapi: Report cmake generator in reply index fileBrad King2018-12-121-0/+9
| |
* | clang-tidy: Fix readability-static-accessed-through-instanceRegina Pfeifer2018-11-211-2/+2
|/ | | | Enable the check in .clang-tidy and fix all warnings.
* Autogen: Add cmQtAutoGenGlobalInitializer classSebastian Holtermann2018-11-111-59/+5
| | | | | This moves the global ``AUTOMOC/UIC/RCC`` targets initializer generation code into a separate new ``cmQtAutoGenGlobalInitializer`` class.
* Using front() and back() instead of calculationsCengizhan Pasaoglu2018-11-061-1/+1
|
* Merge topic 'provide_explicit_source_and_build_command_line_options'Brad King2018-09-191-2/+2
|\ | | | | | | | | | | | | | | | | 638f00117a Add release note for the -S and -B options. de962cc00d CMake: Internally uses -S instead of -H to specify source directory a10d63d578 cmake: -S and -B can be used to specify source and build directories Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2358
| * CMake: Internally uses -S instead of -H to specify source directoryRobert Maynard2018-09-151-2/+2
| |
* | Merge topic 'fix-getsafedef-stdstring'Brad King2018-09-191-4/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | 2428422c02 Fix regression in target output file naming logic d686f81e58 Restore possibly regressed CMP0018 logic Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2402
| * | Restore possibly regressed CMP0018 logicBrad King2018-09-191-4/+1
| | | | | | | | | | | | | | | | | | Refactoring in commit f4ff60a803 (cmMakefile: Make GetSafeDefinition return std::string const&, 2018-09-05) changed the treatment of the empty string in CMP0018 diagnostic logic. Restore the behavior.
* | | Merge topic 'getsafedef-stdstring'Brad King2018-09-181-5/+6
|\ \ \ | |/ / | | | | | | | | | | | | | | | f4ff60a803 cmMakefile: Make GetSafeDefinition return std::string const& Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2350
| * | cmMakefile: Make GetSafeDefinition return std::string const&Vitaly Stakhovsky2018-09-181-5/+6
| | |
* | | Merge topic 'out-of-dir-linking'Brad King2018-09-141-8/+34
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a1ad0a699b target_link_libraries: Allow use with targets in other directories 9bbae5ae28 cmTarget: Future-proof AddLinkLibrary target lookup scope f9cb6f618a cmExportFileGenerator: Use cmGeneratorTarget::ResolveTargetReference 18441a6269 cmGeneratorTarget: Factor target name resolution out of link item resolution 2f708f5d65 Make internal TARGET_PROPERTY generator expressions more robust 94a75801c8 Android.mk: De-duplicate link libraries logic during export 8a63b23d16 cmGlobalGenerator: Remove unused FindLocalGenerator method Acked-by: Kitware Robot <kwrobot@kitware.com> Reviewed-by: Patrick Stotko <stotko@cs.uni-bonn.de> Merge-request: !2370