summaryrefslogtreecommitdiffstats
path: root/Source/cmGlobalGenerator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* cmGlobalVisualStudio10Generator: Auto restore NuGet packages.Carsten Rudolph2022-01-221-1/+1
|
* cmBuildOptions: Split build arguments into separate object.Carsten Rudolph2022-01-221-9/+13
|
* CMP0028: Report the target whose link interface has an offending itemBrad King2021-12-161-0/+15
| | | | | | | | | | | | Previously items linked via the link interface of a dependency were reported in CMP0028 messages as if directly linked by a target. Clarify the messages to indicate that an offending item is actually in the link interface of a given target, regardless of its consumer. Move the check to the end of generation and look through the final set of link implementations and link interfaces that were used for generation. This avoids repeating messages on link interfaces that have multiple consumers.
* Merge topic 'env-init-configs'Brad King2021-11-231-1/+2
|\ | | | | | | | | | | | | | | 5b1ed2a646 try_compile: Do not use CMAKE_BUILD_TYPE or CMAKE_CONFIGURATION_TYPES env vars Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !6755
| * try_compile: Do not use CMAKE_BUILD_TYPE or CMAKE_CONFIGURATION_TYPES env varsBrad King2021-11-221-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since: * commit e216b9bbd3 (cmake: Allow CMAKE_BUILD_TYPE to be set by environment variable, 2021-06-29, v3.22.0-rc1~503^2~1) * commit ef56eefc9b (cmake: Allow CMAKE_CONFIGURATION_TYPES to be set by environment variable, 2021-06-29, v3.22.0-rc1~503^2) the environment variables are supposed to provide defaults for settings the user otherwise can control via cache entries. However, they accidentally affect `try_compile` projects too, which are supposed to be programmatically controlled. Fixes: #22935
* | cmCustomCommand: Move constructor arguments to individual settersNAKAMURA Takumi2021-11-181-7/+4
| | | | | | | | | | | | | | | | Make `cmCustomCommand` have just only default constructor. Use each setter instead. This follows the builder pattern. Introduce `cc::SetOutputs(std::string output)`. This will be used later, as substitution for `cc::SetOutputs({output})`.
* | Merge topic 'nmc-cross-config-target-deps'Brad King2021-11-051-0/+3
|\ \ | |/ | | | | | | | | | | | | | | | | 95f44e00cd Ninja Multi-Config: Fix custom command target dependencies in cross-configs a883363935 Ninja Multi-Config: Fix internal cross-config target dependency ordering 16e24748c5 Ninja Multi-Config: Fix cross-config custom command dependency tracing Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !6702
| * Ninja Multi-Config: Fix cross-config custom command dependency tracingBrad King2021-11-041-0/+3
| | | | | | | | | | | | Process `CMAKE_CROSS_CONFIGS` and friends to properly configure the generator for cross-config behavior before custom command dependency tracing.
* | Merge topic 'swift-win32-property'Brad King2021-10-291-0/+6
|\ \ | | | | | | | | | | | | | | | | | | c782f140d4 Swift: Ignore WIN32_EXECUTABLE property outside of Windows Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6658
| * | Swift: Ignore WIN32_EXECUTABLE property outside of Windowshotwatermorning2021-10-281-0/+6
| | | | | | | | | | | | Issue: #19877
* | | Source: Replace most calls to sprintf with snprintfSean McBride2021-10-251-1/+1
|/ /
* | Merge topic 'lcc-policy'Brad King2021-10-221-0/+48
|\ \ | |/ |/| | | | | | | | | | | 3958ed878f LCC: Add policy CMP0129 regarding interpreting LCC as GNU Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !6643
| * LCC: Add policy CMP0129 regarding interpreting LCC as GNUmakise-homura2021-10-211-0/+48
| | | | | | | | | | | | | | | | | | | | Due to MCST LCC compiler identification is now changed to LCC, there should be a way for old projects to still identify it as GNU, as it was before. This commits adds the policy: CMP0129: Compiler id for MCST LCC compilers is now LCC, not GNU. This policy controls such a behavior. OLD behaivior is to treat LCC as GNU, NEW is to treat is as LCC.
* | Restore honoring CMAKE_GENERATOR_INSTANCE in toolchain fileBrad King2021-10-201-12/+1
|/ | | | | | | | | | | | | | | Revert the changes from commit d5b5c19278 (cmGlobalGenerator: FindMakeProgram() before CMakeDetermineSystem, 2020-06-15, v3.19.0-rc1~619^2~3) and commit ef91fb02f3 (cmGlobalGenerator: FindMakeProgram() at a generator-specific time, 2020-11-23, v3.19.1~2^2). We must delay selecting the location of MSBuild until after an instance of Visual Studio has been selected. It is now safe to revert the ordering because the motivating use case (sysroot detection in Platform/Android-Determine) has been implemented another way. Fixes: #22782
* Source: Fix clang -Wimplicit-fallthrough warningsSean McBride2021-09-281-0/+2
|
* Rename cmProp in cmValueMarc Chevrier2021-09-211-23/+23
|
* cmGlobalGenerator::PrintCompilerAdvice: use cmProp as augmentMarc Chevrier2021-09-191-2/+2
|
* Merge topic 'enh-AddCacheEntry-accepts-new-types'Marc Chevrier2021-09-101-3/+2
|\ | | | | | | | | | | | | | | f84193292c Use new AddCacheEntry signatures 3c2e58eeb8 AddCacheEntry accept cmProp or std::string Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6495
| * Use new AddCacheEntry signaturesMarc Chevrier2021-09-101-3/+2
| |
* | Refactor: Convert parallel string/backtrace vectors to BT vectorsKyle Edwards2021-09-031-9/+3
|/
* Refactor: cmGlobalGenerator::GetGlobalSetting returns cmPropMarc Chevrier2021-08-091-3/+3
|
* cmProp: refactoring: transform alias in classMarc Chevrier2021-08-081-2/+2
| | | | | | To handle safely the values used by CMake variables and properties, introduce the class cmProp as a replacement from the simple pointer to std::string instance.
* cmGlobalGenerator: Process targets in a stable orderNAKAMURA Takumi2021-07-081-3/+2
| | | | | `cmMakefile::Targets` is meant for efficient lookup but does not have a stable order. Use `cmMakefile::OrderedTargets` instead.
* cmGlobalGenerator: Use cmMakefile::CreateNewTarget to add global targetsNAKAMURA Takumi2021-07-081-9/+12
| | | | `cmMakefile::CreateNewTarget` updates also `cmMakefile::OrderedTargets`.
* cmake: Allow CMAKE_BUILD_TYPE to be set by environment variableBrad King2021-06-301-0/+12
| | | | | | | When no `CMAKE_BUILD_TYPE` is explicitly specified while creating a new build tree, check for an environment variable of the same name. Issue: #20983
* Source: Add cmInstallRuntimeDependencySetKyle Edwards2021-06-041-0/+24
|
* cmGlobalGenerator: Simplify relative path conversion in AddRuleHashBrad King2021-05-131-4/+2
| | | | | | Revert commit 204aecdf82 (cmGlobalGenerator: Port configure-time code to cmMakefile., 2015-08-02, v3.4.0-rc1~234^2~8). `AddRuleHash` is generate-time code.
* cmStateDirectory: Rename ConvertToRelPathIf{Not => }ContainedBrad King2021-05-121-1/+1
| | | | The "Not" in the method name is backward from its logic.
* Source: Minor code improvementsVitaly Stakhovsky2021-05-111-1/+1
|
* cmGlobalGenerator: Add parallel parameter to GenerateCMakeBuildCommandfriendlyanon2021-05-011-1/+6
|
* cmGlobalGenerator: Clear list of install components between runsBrad King2021-01-281-0/+1
|
* clang-tidy: fix `readability-qualified-auto` warningsBen Boeckel2021-01-271-4/+4
|
* Merge topic 'make-GENERATED-visible-from-any-scope'Brad King2020-11-301-0/+11
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | 573d51201a GENERATED prop: Set CMP0118 to NEW for some (unrelated) tests 6624b65b3f GENERATED prop: Add implementation for policy CMP0118 being set to NEW b14fe704f8 GENERATED prop: Simplify determining the language of a source file ca4ce458a3 GENERATED prop: Check CMP0118 policy and warn in certain situations 0eb30f175e GENERATED prop: Introducing policy CMP0118 and its documentation 78c8d95605 GENERATED prop: Add some tests before introducing changes with CMP0118 e01527619f Simplify code by calling a function directly instead of duplicating it 75cb8615e9 Fix typo in function name Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5308
| * GENERATED prop: Add implementation for policy CMP0118 being set to NEWDeniz Bahadir2020-11-241-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Adding implementation for policy CMP0118 being set to `NEW`. * Adding new tests for policy CMP0118 being set to `NEW`. * Checking the `GENERATED` property with `get_source_file_property` or `get_property` now always returns exactly `1` or `0`. No other values will be returned. Note, that this is a backwards-incompatible change, even when policy CMP0118 is unset or set to `OLD`. * Additionally, as `get_source_file_property` and `get_property` now always check if a source-file was marked globally visible, even when CMP0118 is unset or set to `OLD`, they possibly return `1` where they might have returned `0` before the changes introduced by this commit. Note, that this is a backwards-incompatible change, even when policy CMP0118 is unset or set to `OLD`. * As a consequence, the tests for policy CMP0118 being unset or set to `OLD` got slightly adjusted, too, to reflect these changes in behavior.
* | Merge topic 'fix-find-make-program'Brad King2020-11-241-1/+8
|\ \ | |/ |/| | | | | | | | | | | ef91fb02f3 cmGlobalGenerator: FindMakeProgram() at a generator-specific time Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Frank Dana <ferdnyc@gmail.com> Merge-request: !5529
| * cmGlobalGenerator: FindMakeProgram() at a generator-specific timeKyle Edwards2020-11-231-1/+8
| | | | | | | | | | | | | | | | | | | | d5b5c192 moved FindMakeProgram() to an earlier time, which resulted in CMAKE_MAKE_PROGRAM not being read from the toolchain file. Change it to only call FindMakeProgram() early in the specific cases of Visual Studio and Xcode, and restore the old behavior for all other generators. Fixes: #21486
* | Constify some code as suggested by clang-tidyCengizhan Pasaoglu2020-10-191-3/+3
|/
* cmake_language: Add signature to DEFER calls to later timesBrad King2020-09-291-0/+7
| | | | Fixes: #19575
* cmake::GetCacheDefinition: Return cmPropvvs314152020-09-281-5/+6
|
* {get,set}_property: Add support for referencing binary directoriesBrad King2020-09-231-5/+5
| | | | | | | Index directories by their binary directory path in addition to their source directory path. Fixes: #19262
* Merge topic 'file-GENERATE-earlier'Brad King2020-09-111-0/+2
|\ | | | | | | | | | | | | aee2c51224 file(GENERATE): Create output file structures for all directories first Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5209
| * file(GENERATE): Create output file structures for all directories firstJosef Angstenberger2020-09-101-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 36ded610af (PCH: Generate sources during Compute step, 2019-10-05, v3.16.0-rc1~2^2) the source file lookup is done earlier than before. Its parent commit f1fb63b306 (file(GENERATE): Create output file structures even earlier, 2019-10-07, v3.16.0-rc1~2^2~1) prepared for that. However, that commit did not account for generating and using files in separate subdirectories. Fix this by evaluating all generated files before adding automatic files. Fixes: #21144
* | cmGlobalGenerator: Compute a global target ordering respecting dependenciesBrad King2020-09-041-0/+46
| | | | | | | | | | Move this up from `cmGlobalXCodeGenerator`. It will be useful for all generators.
* | cmMakefile::GetDefinition: return cmPropVitaly Stakhovsky2020-09-021-28/+26
| |
* | Merge topic 'ispc_lang_support'Brad King2020-09-011-0/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5ece12b7e4 gitlab-ci: add ISPC to the Fedora CI image 8976817d6d ISPC: Update help documentation to include ISPC 2368f46ba4 ISPC: Support building with the MSVC toolchain e783bf8aa6 ISPC: Support ISPC header generation byproducts and parallel builds 34cc6acc81 Add ISPC compiler support to CMake 419d70d490 Refactor some swift only logic to be re-used by other languages Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5065
| * | ISPC: Support ISPC header generation byproducts and parallel buildsRobert Maynard2020-08-281-0/+1
| | |
* | | WIN32_EXECUTABLE: Add support for generator expressionsKyle Edwards2020-08-211-3/+3
|/ /
* | Merge topic 'compiler_flags'Brad King2020-08-061-0/+8
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f76c20da63 Toolchain: Test compiler initial settings db486da265 Toolchain: Update documentation for initial compiler flags deec2f587c Toolchain: Take CMAKE_<lang>_FLAGS_INIT into account during compiler detection ca899af3e2 Toolchain: Handle repeated invocations of CMake with -DCMAKE_C_COMPILER 12ba89e142 Toolchain: Make `/path/comp;-argn' behave the same as 'comp;-argn' 6f1af899db Toolchain: Capture all arguments from CMAKE_<LANG>_COMPILER ec1d3bc0b6 cmake: avoid exception when printing "changed variables" message Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4136
| * | Toolchain: Handle repeated invocations of CMake with -DCMAKE_C_COMPILERFred Baksik2020-07-291-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Repeated invocations of `cmake ... -DCMAKE_C_COMPILER=gcc` should not trigger a "You have changed variables" message even though the cache value of CMAKE_C_COMPILER changes from '/path/to/gcc' to 'gcc'. Make repeated invocations of `cmake ... -DCMAKE_C_COMPILER=gcc;-pipe` not trigger the warning by comparing the compiler name portion of the list to the compiler being used.
* | | Merge topic 'use-nonempty'Brad King2020-07-291-5/+5
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | f37c14e930 Source: use cmNonempty() Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5072