summaryrefslogtreecommitdiffstats
path: root/Source/cmTarget.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'out-of-dir-link-list'Brad King2020-01-171-10/+3
|\ | | | | | | | | | | | | | | | | f0e67da061 target_link_libraries: Fix out-of-dir linking of a list of targets acee629103 cmTargetLinkLibrariesCommand: Move HandleLibrary to helper struct ba675f1ecc Tests: Enable CMP0022 in ExportImport out-of-dir linking case Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4226
| * target_link_libraries: Fix out-of-dir linking of a list of targetsBrad King2020-01-161-10/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | In a case like target_link_libraries(targetInOtherDir PUBLIC "$<1:a;b>") then all entries in the list need to be looked up in the caller's scope. Previously our `::@(directory-id)` suffix would apply only to the last entry. Instead surround the entire entry by a pair `::@(directory-id);...;::@` so that the `::@` syntax can encode a directory lookup scope change evaluated as the list is processed. Fixes: #20204
* | Merge topic 'pch_job_pool'Brad King2020-01-161-0/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 97c124e30f Ninja: Add a separate job pool for PCH creation ebd0b16ddb vim: Add target_precompile_headers command highlighting Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Cristian Adam <cristian.adam@gmail.com> Merge-request: !4224
| * | Ninja: Add a separate job pool for PCH creationDan Johnston2020-01-161-0/+1
| |/ | | | | | | | | | | | | Add a `JOB_POOL_PRECOMPILE_HEADER` target property to specify the pool name, and its associated `CMAKE_JOB_POOL_PRECOMPILE_HEADER` variable. Fixes: #20217
* | cmMakefile: modernize memory managementMarc Chevrier2020-01-141-2/+6
|/
* Merge topic 'objc-compiler-launcher'Brad King2020-01-101-0/+2
|\ | | | | | | | | | | | | | | | | f6ef6e5a73 Merge branch 'backport-3.16-objc-compiler-launcher' 1a9f6bad98 ObjC: Add _COMPILE_LAUNCHER support a05b9d4239 ObjC: Add _COMPILE_LAUNCHER support Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4189
| * ObjC: Add _COMPILE_LAUNCHER supportCristian Adam2020-01-091-0/+2
| | | | | | | | Fixes: #20178
* | Add support for FOLDER target property to custom targetsLuca Cappa2020-01-091-1/+2
|/ | | | Fixes: #18372
* Merge topic 'add-header-cmext-algorithm'Brad King2019-12-181-16/+17
|\ | | | | | | | | | | | | | | f7d12609f0 Refactoring: use append functions from cmext/algorithm a38d04c076 Refactoring: introduce header cmext/algorithm with append functions Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4131
| * Refactoring: use append functions from cmext/algorithmMarc Chevrier2019-12-171-16/+17
| |
* | Merge topic 'stdstring-target'Brad King2019-12-171-6/+5
|\ \ | |/ |/| | | | | | | | | c34b4497f8 cmTarget: add std::string overloads Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4137
| * cmTarget: add std::string overloadsVitaly Stakhovsky2019-12-141-6/+5
| |
* | Ninja: Add multi-config variantKyle Edwards2019-12-131-1/+8
|/ | | | Co-Authored-by: vector-of-bool <vectorofbool@gmail.com>
* Xcode: Add custom working directory propertyGregor Jasny2019-11-181-0/+1
| | | | Closes: #19967
* Merge topic 'pch-reuse-no-prop'Brad King2019-11-181-5/+2
|\ | | | | | | | | | | | | bb4c2781ce PCH: Do not issue an error on duplicate target_precompile_headers call Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4046
| * PCH: Do not issue an error on duplicate target_precompile_headers callCristian Adam2019-11-151-5/+2
| | | | | | | | Fixes: #19970
* | Merge topic 'xcode-scheme-env'Brad King2019-10-251-0/+1
|\ \ | | | | | | | | | | | | | | | | | | f0005dacde Xcode: Add CMAKE_XCODE_SCHEME_ENVIRONMENT variable Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3933
| * | Xcode: Add CMAKE_XCODE_SCHEME_ENVIRONMENT variableFelix Heidrich2019-10-241-0/+1
| |/ | | | | | | | | | | | | Initialize the `XCODE_SCHEME_ENVIRONMENT` target property. This was left out of commit 6b7f1e1db0 (Xcode: Add variables and properties to configure schemes, 2018-07-29, v3.13.0-rc1~243^2).
* | VS: Propagate CMAKE_VS_GLOBALS into custom targetsAlexander Boczar2019-10-171-2/+1
|/ | | | Issue: #19708
* Xcode: Restore CMAKE_XCODE_GENERATE_SCHEME for custom targetsBrad King2019-10-021-1/+6
| | | | | | | | | The target property introduced by commit 413b71485a (Xcode: Create Xcode schemes per target, 2019-03-11, v3.15.0-rc1~347^2) was accidentally not initialized by `CMAKE_XCODE_GENERATE_SCHEME` for custom targets. Fix it and update the test. Fixes: #19759
* Merge topic 'clang-format-normalize-headers-presentation'Brad King2019-10-021-1/+2
|\ | | | | | | | | | | | | | | | | | | ed98209ddc Revise include order using clang-format-6.0 185fe49f29 clang-format: Normalize headers presentation 42ef28b4f3 Remove unused uid_t/gid_t types on Windows Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Sebastian Holtermann <sebholt@web.de> Merge-request: !3851
| * Revise include order using clang-format-6.0Kitware Robot2019-10-011-1/+2
| | | | | | | | | | 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 'xcode-debug-document-versioning'Brad King2019-10-021-0/+1
|\ \ | |/ |/| | | | | | | | | 67200c37b0 xcode: Add XCODE_SCHEME_DEBUG_DOCUMENT_VERSIONING property Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3876
| * xcode: Add XCODE_SCHEME_DEBUG_DOCUMENT_VERSIONING propertyGregor Jasny2019-10-011-0/+1
| |
* | Merge topic 'objective-c-cxx'Brad King2019-09-301-0/+8
|\ \ | |/ |/| | | | | | | | | | | | | | | 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/+8
| |
* | cmCustomCommand: Move custom commandsDaniel Eiband2019-09-261-0/+15
|/
* Merge topic 'cmake-system-headers'Brad King2019-09-201-1/+1
|\ | | | | | | | | | | | | | | 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/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 'split-custom-command-creation'Brad King2019-09-201-6/+2
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | 0e1faa28cb cmMakefile: Separate custom command setup from actual creation 56c204e8eb cmMakefile: Refactor AddCustomCommandOldStyle to be delay friendly 3061dc6ac9 add_custom_command: Add tests for rejecting literal quotes in commands e893ab94ba cmMakefile: Validate command line for all custom commands f1e846fdde cmMakefile: Extract custom command validation method 4926ab2454 cmMakefile: Create all generated byproducts as known sources Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3822
| * cmMakefile: Separate custom command setup from actual creationDaniel Eiband2019-09-171-6/+2
| | | | | | | | | | Refactor custom command manipulation functions to consist of a setup and a commit stage. The commit stage will be delayed to generate time.
* | Merge topic 'autogen_path_prefix'Brad King2019-09-191-0/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cc0900d9cd Help: Add release notes for AUTOMOC_PATH_PREFIX 692d8e3492 Help: Add documentation for AUTOMOC_PATH_PREFIX 1933ade9f1 Tests: At QtAutogen.MocIncludeSymlink test 706d9738a6 Tests: Merge QtAutogen.MocIncludeStrict and MocIncludeRelaxed d018d27c10 Autogen: Add moc path prefix generation (AUTOMOC_PATH_PREFIX) 77983c8147 Autogen: Add IsHeader flag to SourceFileT class f9e5441eb4 Autogen: Abbreviate file paths in messages 51676cf655 Autogen: Split JobEvalCacheT job into separate moc and uic jobs ... Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3818
| * | Autogen: Add moc path prefix generation (AUTOMOC_PATH_PREFIX)Sebastian Holtermann2019-09-161-0/+1
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new `AUTOMOC_PATH_PREFIX` boolean target property enables automatic generation of the path prefix `-p` option for `moc`. `AUTOMOC_PATH_PREFIX` is initialized from the variable `CMAKE_AUTOMOC_PATH_PREFIX`, which is ON by default. When `AUTOMOC_PATH_PREFIX` is enabled, CMake tests if a `moc`ed header file is in one of the include directories. If so, then the `-p` option, with the relative path of the header parent directory to the respective include directory, is added to the `moc` command. If the header file is not in an include directory, the `-p` option is omitted. Closes: #18815 "AUTOMOC: generated files include full relative path, breaking certain reproducible builds"
* | Precompile Headers: Add REUSE_FROM signatureCristian Adam2019-09-171-0/+44
|/ | | | | | | Add the ability to share precompiled headers artifacts between targets. Fixes: #19659
* clang-tidy: modernize-deprecated-headersRegina Pfeifer2019-09-161-2/+2
|
* clang-tidy: modernize-use-autoRegina Pfeifer2019-09-101-27/+18
| | | | | | 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.
* Unity build: Add support for Ninja and Makefile generatorsCristian Adam2019-08-291-0/+2
|
* Merge topic 'precompile-headers'Brad King2019-08-291-0/+46
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * PCH: add PRECOMPILE_HEADERS to special propertiesDaniel Pfeifer2019-08-261-0/+46
| |
* | Merge topic 'swift-version'Brad King2019-08-271-0/+1
|\ \ | |/ |/| | | | | | | | | 369c48ee43 Swift: honour `-swift-version` in Ninja generator Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3685
| * Swift: honour `-swift-version` in Ninja generatorSaleem Abdulrasool2019-08-261-0/+1
| | | | | | | | | | | | Swift has supported `CMAKE_Swift_LANGUAGE_VERSION` and `Swift_LANGUAGE_VERSION` but didn't apply that to Ninja generated targets. Consider the property when calculating the flags.
* | Merge topic 'source_sweep_ostringstream_single'Brad King2019-08-261-12/+9
|\ \ | | | | | | | | | | | | | | | | | | 3b2b02825d Source sweep: Replace std::ostringstream when used with a single append Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3726
| * | Source sweep: Replace std::ostringstream when used with a single appendSebastian Holtermann2019-08-231-12/+9
| |/ | | | | | | | | | | | | This replaces `std::ostringstream`, when it is written to only once. If the single written argument was numeric, `std::to_string` is used instead. Otherwise, the single written argument is used directly instead of the `std::ostringstream::str()` invocation.
* | Source sweep: Replace cmExpandList with the shorter cmExpandedListSebastian Holtermann2019-08-231-6/+3
|/ | | | | | | | | | | | This replaces the code pattern ``` std::vector<std::string> args; cmExpandList(valueStr, args, ...) ``` with ``` std::vector<std::string> args = cmExpandedList(valueStr, ...) ```
* Source sweep: Use cmStrCat for string concatenationSebastian Holtermann2019-08-221-34/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch is generated by a python script that uses regular expressions to search for string concatenation patterns of the kind ``` std::string str = <ARG0>; str += <ARG1>; str += <ARG2>; ... ``` and replaces them with a single `cmStrCat` call ``` std::string str = cmStrCat(<ARG0>, <ARG1>, <ARG2>, ...); ``` If any `<ARGX>` is itself a concatenated string of the kind ``` a + b + c + ...; ``` then `<ARGX>` is split into multiple arguments for the `cmStrCat` call. If there's a sequence of literals in the `<ARGX>`, then all literals in the sequence are concatenated and merged into a single literal argument for the `cmStrCat` call. Single character strings are converted to single char arguments for the `cmStrCat` call. `std::to_string(...)` wrappings are removed from `cmStrCat` arguments, because it supports numeric types as well as string types. `arg.substr(x)` arguments to `cmStrCat` are replaced with `cm::string_view(arg).substr(x)`
* Source sweep: Use cmIsOn instead of cmSystemTools::IsOnSebastian Holtermann2019-08-171-2/+2
| | | | | | | | | This replaces invocations of - `cmSystemTools::IsInternallyOn` with `cmIsInternallyOn` - `cmSystemTools::IsNOTFOUND` with `cmIsNOTFOUND` - `cmSystemTools::IsOn` with `cmIsOn` - `cmSystemTools::IsOff` with `cmIsOff`
* Source code: Use cmExpandList instead of cmSystemTools::ExpandListArgumentSebastian Holtermann2019-08-141-5/+5
|
* Merge topic 'support_CMAKE_CUDA_RESOLVE_DEVICE_SYMBOLS'Kyle Edwards2019-08-131-0/+1
|\ | | | | | | | | | | | | 8f1d22c2d9 CUDA: Support CMAKE_CUDA_RESOLVE_DEVICE_SYMBOLS global variable Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3636
| * CUDA: Support CMAKE_CUDA_RESOLVE_DEVICE_SYMBOLS global variableRobert Maynard2019-08-061-0/+1
| |
* | Merge topic 'fileapi-install-generators'Brad King2019-08-051-0/+12
|\ \ | |/ |/| | | | | | | | | d70a0f8681 fileapi: Fix codemodel target install destination for cross-dir rules Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3639