summaryrefslogtreecommitdiffstats
path: root/Source/cmGlobalGenerator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'ccmake-clear-aliases'Brad King2019-07-091-0/+1
|\ | | | | | | | | | | | | b66d61a8d0 cmGlobalGenerator: Do not persist alias targets across configures Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3529
| * cmGlobalGenerator: Do not persist alias targets across configuresBrad King2019-07-081-0/+1
| | | | | | | | | | | | | | | | | | In `ccmake` a single global generator instance may be used for multiple configure step runs. The `cmGlobalGenerator::ClearGeneratorMembers` method is supposed to clear global state that is specific to each configure run but forgot to clear alias targets. Fixes: #19457
* | modermize: replace some raw pointers w/ `unique_ptr`Alex Turbov2019-06-241-5/+3
|/
* Swift: disallow WIN32_EXECUTABLE propertiesSaleem Abdulrasool2019-06-031-0/+35
| | | | | | | | | | | Currently, the compiler does not synthesize the correct entry point for the application and passing the subsystem flag does not work the same way with the Swift linker language. Add a check to prevent the application of `WIN32_EXECUTABLE` to Swift executables until they can be properly supported. This will prevent the need for a future policy change. Closes: #19325
* Fixing warnings generated by clang 8.0 on WindowsZsolt Parragi2019-05-291-2/+13
| | | | | | | | | | | | * Deprecation removals previously specific to MSVC/Intel now also used by clang * String literals were assigned to non const pointers. These are stored in mutable arrays now * An implicit function pointer to pointer conversion is a Microsoft extension warning is suppressed by an explicit reinterpret_cast * The MSVC specific deprecation macro for jsoncpp was moved after the clang macro to avoid redefinition warnings. This is consistent with how jsoncpp fixed the issue in 36d8cfd7
* cmSystemTools::Error(): remove const char* overloadVitaly Stakhovsky2019-05-221-4/+4
|
* Refactor: Allow cmInstallGenerator::Compute() to return an errorKyle Edwards2019-05-131-1/+3
| | | | | | This is preparation for an upcoming merge request, which will add a new cmInstallGenerator that returns false if there are errors in the Compute() step.
* Modernize: Enable modernize-raw-string-literal in clang-tidyArtur Ryt2019-04-021-3/+3
|
* cmGlobalGenerator: Inline `aRange` acquisition in `for(x:aRange)` invocationsSebastian Holtermann2019-03-251-27/+11
| | | | | | | | | | | | | Changes the following code snippets in `cmGlobalGenerator` ``` AType aRange = object.getRange(); for ( auto & item: aRange) { ``` to ``` for ( auto & item: object.getRange()) { ```
* cmGlobalGenerator: Use auto for long iterator typesSebastian Holtermann2019-03-251-44/+30
|
* cmMakefile: Use std::unordered_map::emplace to add cmTargets to the listSebastian Holtermann2019-03-211-8/+10
| | | | | When adding cmTargets to a cmMakefile, use std::unordered_map::emplace instead of std::unordered_map::insert.
* cmake: Teach --build mode to support multiple targetsBartosz Kosiorek2019-03-051-43/+56
| | | | Fixes: #16136
* cmGlobalGenerator: Change case of methods from GeneratedMakeCommand structBartosz Kosiorek2019-03-041-3/+3
|
* cmGlobalGenerator: Remove unused codeBartosz Kosiorek2019-03-041-11/+0
|
* 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.