summaryrefslogtreecommitdiffstats
path: root/Source/cmGlobalGenerator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* 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
* 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.
* 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
| * | | Source: use cmNonempty()Vitaly Stakhovsky2020-07-281-5/+5
| | | |
* | | | Avoid duplicate calls to GetDefinitionVitaly Stakhovsky2020-07-281-4/+2
|/ / /
* | | Merge topic 'cleanup-target-types'Brad King2020-07-281-14/+6
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ef796cc743 cmGeneratorTarget: Skip computing link implementation for custom targets 45158b2afe cmGeneratorTarget: Simplify logic in ComputeLinkInterfaceLibraries d6b1f5704e cmGeneratorTarget: Add missing nullptr checks 7695b67500 cmComputeTargetDepends: Add missing nullptr check 95b5df8646 cmGeneratorTarget: Skip computing languages for custom targets 2f0790df50 Factor out generator checks for filtering on non-compiling targets 422d9a0ab2 Factor out generator checks for filtering out interface libraries bce82df0aa cmGeneratorTarget: Remove unnecessary target type check in dependency tracing ... Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Kyle Edwards <kyle.edwards@kitware.com> Merge-request: !5038
| * | | Factor out generator checks for filtering on non-compiling targetsBrad King2020-07-231-12/+4
| | | | | | | | | | | | | | | | | | | | Add a `cmGeneratorTarget::CanCompileSources` helper method to tell generators whether a target might compile anything.
| * | | Factor out generator checks for filtering out interface librariesBrad King2020-07-231-2/+2
| |/ / | | | | | | | | | | | | | | | Add a `cmGeneratorTarget::IsInBuildSystem` helper method to tell generators whether a target should participate in the generated build system.
* | | Merge topic 'EXCLUDE_FROM_ALL-genex'Brad King2020-07-271-1/+1
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | 22bd267388 Help: Add release note for EXCLUDE_FROM_ALL genex support 807c8aa9f0 Tests: Simplify RunCMake.ExcludeFromAll single-config case 36743436cf Tests: Fix RunCMake.ExcludeFromAll test program warning 99c131c5a3 cmGlobalGenerator: Fix spelling of EXCLUDE_FROM_ALL in error message Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5049
| * | cmGlobalGenerator: Fix spelling of EXCLUDE_FROM_ALL in error messageBrad King2020-07-231-1/+1
| | |
* | | cmGlobalGenerator: Simplify CheckTargetsForMissingSourcesBrad King2020-07-221-11/+1
|/ / | | | | | | | | Use `GetAllConfigSources` instead of collecting all configurations ourselves.
* | Allow generator expressions in the EXCLUDE_FROM_ALL target propertyJoerg Bornemann2020-07-211-3/+28
| | | | | | | | | | | | | | | | | | This allows for setting EXCLUDE_FROM_ALL, conditional on the build configuration. However, only the Ninja Multi-Config generator supports different property values per config. All other multi-config generators will yield an error in that situation. Fixes: #20923
* | cmIsOn: add overload accepting const std::string*Vitaly Stakhovsky2020-07-141-12/+4
| |
* | cmMakefile: Refactor API to better handle empty config valuesRobert Maynard2020-07-031-16/+16
| |