summaryrefslogtreecommitdiffstats
path: root/Source/cmLocalGenerator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* file(GENERATE): Create output file structures even earlierBrad King2019-10-071-5/+9
| | | | | | | | | | | | | | Since commit b80557c7bd (file(GENERATE): Evaluate early to allow generating source files, 2014-11-04, v3.2.0-rc1~398^2) we create the `cmSourceFile` instances marked with a `GENERATED` source file property before tracing source dependencies. Move it to even earlier so that steps in `cmGlobalGenerator::AddAutomaticSources` can operate on all sources. This also avoids the accidental `O(n^2)` calls for `n` local generators that we had previously. This is also needed since commit 83c1657ff7 (Unity build: Generate sources during Compute step, 2019-10-03) to support `file(GENERATE)` outputs as sources in a target with `UNITY_BUILD` enabled.
* Merge topic 'unity-step'Brad King2019-10-041-2/+7
|\ | | | | | | | | | | | | 83c1657ff7 Unity build: Generate sources during Compute step Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3884
| * Unity build: Generate sources during Compute stepBrad King2019-10-031-2/+7
| | | | | | | | | | | | | | | | The unity build sources need to be added for all generators. Create them during `cmGlobalGenerator::Compute` to avoid duplicating the calls in every generator. We already handle Qt autogen there too. Issue: #19789
* | PCH: Add multi-language PCH generation supportCristian Adam2019-10-031-143/+158
|/ | | | | | | | | If the target has C files, it will get a C PCH file. The same for C++ files. The linker language is no longer used to determine which language to use for PCH. Fixes: #19790
* Revise include order using clang-format-6.0Kitware Robot2019-10-011-3/+4
| | | | | Run the `clang-format.bash` script to update our C and C++ code to a new include order `.clang-format`. Use `clang-format` version 6.0.
* Merge topic 'objective-c-cxx'Brad King2019-09-301-1/+11
|\ | | | | | | | | | | | | | | | | | | dd0f304613 Objective C/C++: Add compiler standard detection b515af782b Help: Add release note for Objective-C/C++ language support 9e66397c28 Languages: Add support for Objective-C++ 80f120a85f Languages: Add support for Objective-C Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3811
| * Objective C/C++: Add compiler standard detectionCristian Adam2019-09-281-0/+10
| |
| * Languages: Add support for Objective-CSteve Wilson2019-09-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add entries in Modules and Modules/Platform to support Objective-C compiler determination and identification. Add Modules to check Objective-C compiler flags, source compilations, program checks, etc... Use OBJC as the designator of the language, eg: project(foo OBJC) Add various tests for Objective-C language features. Add tests to preserve C++ handling of .m and .mm files when OBJC is not a configured language. Co-Authored-By: Cristian Adam <cristian.adam@gmail.com>
* | cmMakefile: Move enumerations into new headerDaniel Eiband2019-09-261-1/+2
|/ | | | The enumerations will also be used in cmLocalGenerator.
* cmGeneratorExpression: Add cmGeneratorExpression::Evaluate utilityDaniel Eiband2019-09-231-9/+4
| | | | | | | cmGeneratorExpression::Evaluate is a shortcut when only the evaluated string is needed or an instance of cmCompiledGeneratorExpression cannot be cached. Fixes: #19686
* cmGeneratorExpression: Move quiet flag to cmCompiledGeneratorExpressionDaniel Eiband2019-09-221-2/+1
| | | | | | The quiet flag is false for all but one call to Evaluate. Make the quiet flag a setter of cmCompiledGeneratorExpression to be able to remove it from the Evaluate function signature.
* Merge topic 'cmake-system-headers'Brad King2019-09-201-1/+2
|\ | | | | | | | | | | | | | | 4a08690ccf cmstd: Extend header <cm/iterator> c688b401d3 cmstd: Modernize CMake system headers Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3776
| * cmstd: Modernize CMake system headersMarc Chevrier2019-09-201-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Provide a standardized way to handle the C++ "standard" headers customized to be used with current CMake C++ standard constraints. Offer under directory `cm` headers which can be used as direct replacements of the standard ones. For example: #include <cm/string_view> can be used safely for CMake development in place of the `<string_view>` standard header. Fixes: #19491
* | Merge topic 'pch-source-list'Brad King2019-09-201-1/+10
|\ \ | | | | | | | | | | | | | | | | | | 9d2ac86f45 Precompile Headers: Add precompile header file to source list Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3832
| * | Precompile Headers: Add precompile header file to source listCristian Adam2019-09-191-1/+10
| |/ | | | | | | | | | | | | The precompile header file will be added to the list of files, and be part of the newly "Precompile Header File" source group. Also make sure the sources have the header as dependency.
* | Merge topic 'fileapiLinkPathAndLinkDirBacktraces'Brad King2019-09-201-10/+26
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | 4d6334824d fileapi: add backtraces for LINK_PATH and LINK_DIRECTORIES 5bd65dff7a cmLocalGenerator: Add OutputLinkLibraries overload with backtraces 5d39e792ae cmGeneratorTarget: Store backtrace for target LINK_DIRECTORIES property 7da17ef797 cmLinkLineComputer: Add ComputeLinkLibraries overload with backtraces d4d0dd0f6a cmLinkLineComputer: Add ComputeLinkLibs overload with backtraces 0ac9dcb807 cmLinkLineComputer: Add ComputeLinkPath overload with backtraces 0c6468178a cmComputeLinkInformation: Add GetDirectoriesWithBacktraces a209b31d0d cmComputeLinkInformation: Add AppendValues with backtraces Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3805
| * fileapi: add backtraces for LINK_PATH and LINK_DIRECTORIESJustin Goshi2019-09-181-6/+10
| |
| * cmLocalGenerator: Add OutputLinkLibraries overload with backtracesJustin Goshi2019-09-181-4/+16
| |
* | Precompile Headers: Add REUSE_FROM signatureCristian Adam2019-09-171-5/+108
| | | | | | | | | | | | | | Add the ability to share precompiled headers artifacts between targets. Fixes: #19659
* | clang-tidy: modernize-deprecated-headersRegina Pfeifer2019-09-161-3/+3
| |
* | Merge topic 'modernize-use-auto'Brad King2019-09-121-10/+5
|\ \ | |/ |/| | | | | | | | | d25a5a7ec9 clang-tidy: modernize-use-auto Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3783
| * clang-tidy: modernize-use-autoRegina Pfeifer2019-09-101-10/+5
| | | | | | | | | | | | Set the MinTypeNameLength option to an impossibly high value in order to limit the diagnostics to iterators. Leave new expressions and cast expressions for later.
* | Merge topic 'fileapiAddMoreBacktraces'Brad King2019-09-111-64/+196
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 30006e199b fileapi: add backtraces for compile/link options 291c83f063 cmLocalGenerator: Add GetTargetCompileFlags overload with backtraces 8e973b8e8d cmLocalGenerator: Add GetTargetFlags overload with backtraces 4d5bbb7704 cmLocalGenerator: Add GetStaticLibraryFlags overload with backtraces 1f6a436bf4 cmLocalGenerator: Add AddCompileOptions overload with backtraces 5355a60fd0 cmLocalGenerator: Add AppendCompileOptions overload with backtraces a20d2c85d0 cmLocalGenerator: Add AppendFlags overload with backtraces b13207910e cmLocalGenerator: Clarify AddCompileOptions filter logic ... Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3775
| * | cmLocalGenerator: Add GetTargetCompileFlags overload with backtracesJustin Goshi2019-09-101-2/+14
| | |
| * | cmLocalGenerator: Add GetTargetFlags overload with backtracesJustin Goshi2019-09-101-9/+30
| | |
| * | cmLocalGenerator: Add GetStaticLibraryFlags overload with backtracesJustin Goshi2019-09-101-4/+23
| | |
| * | cmLocalGenerator: Add AddCompileOptions overload with backtracesJustin Goshi2019-09-101-8/+35
| | |
| * | cmLocalGenerator: Add AppendCompileOptions overload with backtracesJustin Goshi2019-09-101-0/+24
| | |
| * | cmLocalGenerator: Add AppendFlags overload with backtracesJustin Goshi2019-09-091-0/+8
| | |
| * | cmLocalGenerator: Clarify AddCompileOptions filter logicJustin Goshi2019-09-091-5/+8
| | |
| * | cmLocalGenerator: Use local variables to collect flagsJustin Goshi2019-09-091-41/+59
| | |
| * | cmLocalGenerator: Improve local variable namesJustin Goshi2019-09-091-12/+12
| | |
* | | Merge topic 'MoveIfDifferent'Brad King2019-09-101-2/+1
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | 5b96fd5b81 use cmSystemTools::MoveFileIfDifferent() 5eaf1e1be2 cmSystemTools: introduce MoveFileIfDifferent() Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3794
| * | use cmSystemTools::MoveFileIfDifferent()Rolf Eike Beer2019-09-091-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is better than doing CopyFileIfDifferent() followed by RemoveFile() in two ways: - it is more efficient, as it avoids disk I/O for the data, even if the files here are usually small - it is atomic, so an abort during the copy will not leave a destination file with partial data behind
* | | Merge topic 'local-var'Brad King2019-09-101-4/+3
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | 4d71bea02c cmLocalGenerator::AddConfigVariableFlags: optimize string construction Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3793
| * | cmLocalGenerator::AddConfigVariableFlags: optimize string constructionRolf Eike Beer2019-09-091-4/+3
| |/
* | Merge topic 'cuda_resolve_device_symbols_on_static_lib_collect_deps_properly'Brad King2019-09-091-0/+7
|\ \ | |/ |/| | | | | | | | | 2d7bb13da7 CUDA: static lib device linking computes required static libs Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3748
| * CUDA: static lib device linking computes required static libsRobert Maynard2019-09-051-0/+7
| | | | | | | | | | | | Previously the CMake didn't compute the required set of libraries needed to properly device link a static library when CUDA_RESOLVE_DEVICE_SYMBOLS was enabled.
* | cmLocalGenerator: Remove AppendFlags 'const char*' overloadBrad King2019-09-051-13/+5
| | | | | | | | | | Update call sites to ensure the `std::string` argument can be constructed safely.
* | Merge topic 'unity-build'Brad King2019-09-051-0/+96
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | 7786a05c70 Unity build: Add XCode support 1353802af3 Unity build: Add unit tests 8dfeb5d278 Unity build: Add support for Visual Studio generator 7114c141e2 Unity build: Add support for Ninja and Makefile generators Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Stanislav Ershov <digital.stream.of.mind@gmail.com> Acked-by: Evgeniy Dushistov <dushistov@mail.ru> Acked-by: Viktor Kirilov <vik.kirilov@gmail.com> Merge-request: !3611
| * Unity build: Add XCode supportCristian Adam2019-08-301-1/+5
| |
| * Unity build: Add support for Visual Studio generatorCristian Adam2019-08-291-1/+8
| | | | | | | | | | | | | | | | | | It works as expected in Visual Studio. Visual Studio 2017 will (partially) benefit from the build in support for unity builds. The custom unity sources are used, because the build in support doesn't allow batching of certain number of files. It can do only batching by directory.
| * Unity build: Add support for Ninja and Makefile generatorsCristian Adam2019-08-291-0/+85
| |
* | clang-tidy: Replace typedef with usingRegina Pfeifer2019-09-031-1/+1
| |
* | Merge topic 'add-non-empty-configurations-getter'Brad King2019-09-031-5/+2
|\ \ | | | | | | | | | | | | | | | | | | 10507c6dc0 cmMakefile: Add configurations getter with empty configuration default Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3759
| * | cmMakefile: Add configurations getter with empty configuration defaultDaniel Eiband2019-08-301-5/+2
| |/
* | cmSourceFile: Rename mutating GetFullPath() overloadDaniel Eiband2019-08-291-2/+2
|/ | | | Rename mutating GetFullPath() overload to ResolveFullPath().
* Merge topic 'precompile-headers'Brad King2019-08-291-0/+83
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8da78d4efe Precompile headers: Update documentation 5772930164 Precompile headers: Add unit tests 519606704e Precompile headers: Add support for Visual Studio generators 28be170fbc Precompile headers: Add support for Xcode generator b8626261e9 Precompile headers: Add methods to generate PCH sources 375d01c680 PCH: add example/test 9b6797e71d PCH: add target_precompile_headers command 0467a2f91b PCH: add PRECOMPILE_HEADERS to special properties Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Daniel Pfeifer <daniel@pfeifer-mail.de> Acked-by: Ivan171 <heavenandhell171@gmail.com> Acked-by: Stanislav Ershov <digital.stream.of.mind@gmail.com> Acked-by: Steve Mokris <smokris@softpixel.com> Acked-by: Evgeniy Dushistov <dushistov@mail.ru> Acked-by: Danila Malyutin <flashmozzg@gmail.com> Acked-by: Viktor Kirilov <vik.kirilov@gmail.com> Acked-by: Lucas Zhao <zhaopf6@163.com> Merge-request: !3553
| * Precompile headers: Add methods to generate PCH sourcesCristian Adam2019-08-281-0/+83
| | | | | | | | Co-Author: Daniel Pfeifer <daniel@pfeifer-mail.de>
* | Merge topic 'swift-version'Brad King2019-08-271-0/+11
|\ \ | |/ |/| | | | | | | | | 369c48ee43 Swift: honour `-swift-version` in Ninja generator Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3685