summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* cmTarget: Future-proof AddLinkLibrary target lookup scopeBrad King2018-09-121-1/+1
| | | | | | | | | The `AddLinkLibrary` method takes a `cmMakefile` pointer to represent the scope of the caller that wants to link to the named library. Currently in all call sites this is the same as the target's `Makefile` member, but in principle the library named by the caller is visible in its scope so we should use the `cmMakefile` it provided to look up the library target.
* cmExportFileGenerator: Use cmGeneratorTarget::ResolveTargetReferenceBrad King2018-09-121-2/+7
| | | | Avoid calling `FindGeneratorTargetToUse` directly.
* cmGeneratorTarget: Factor target name resolution out of link item resolutionBrad King2018-09-122-10/+31
|
* Make internal TARGET_PROPERTY generator expressions more robustBrad King2018-09-124-3/+33
| | | | | | | | | | | | | While collecting usage requirements from the `INTERFACE_*` properties of directly linked targets, we internally generate `TARGET_PROPERTY:` and `TARGET_OBJECTS:` generator expressions to refer to those properties on those targets. At the point we generate these expressions we already have a pointer to an exact `cmGeneratorTarget` instance. Switch from using the target name in these generator expressions to using an internal unique name generated for each `cmGeneratorTarget` instance to be referenced. This avoids depending on the user-facing target name to find the same target we already have.
* Android.mk: De-duplicate link libraries logic during exportBrad King2018-09-111-21/+5
| | | | | | Use the normal target link interface computation logic to get the list of libraries in the link interface instead of trying to interpret the `INTERFACE_LINK_LIBRARIES` property directly.
* cmGlobalGenerator: Remove unused FindLocalGenerator methodBrad King2018-09-112-15/+0
| | | | | This method has not been used since commit v3.4.0-rc1~234^2~1 (cmGlobalGenerator: Port Find API to cmMakefile, 2015-08-02).
* Merge topic 'imported-same-name'Brad King2018-09-1132-221/+297
|\ | | | | | | | | | | | | | | | | | | f35be59961 Fix transitive usage requirements through same-name imported targets 1b57f49586 genex: Simplify cmGeneratorExpressionInterpreter bea390e9bd Fix dependency propagation through same-name imported targets fc7e4d1ed8 cmLinkItem: Convert to a "sum type" over a string and target pointer Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2359
| * Fix transitive usage requirements through same-name imported targetsBrad King2018-09-1010-47/+54
| | | | | | | | | | | | | | | | | | | | If two imported targets in different directories have the same name we should still be able to propagate transitive usage requirements from both. Fix the DAG checker to work with target pointers instead of target names since the pointers will not be duplicated even if the names are. Fixes: #18345
| * genex: Simplify cmGeneratorExpressionInterpreterBrad King2018-09-079-87/+36
| | | | | | | | | | | | | | | | | | All callers were constructing with a non-empty target name using the target whose pointer was passed anyway. Drop this argument. Simplify logic accordingly. Re-order constructor arguments to match the cmCompiledGeneratorExpression::Evaluate arguments. Also remove unnecessary getters.
| * Fix dependency propagation through same-name imported targetsBrad King2018-09-0712-41/+82
| | | | | | | | | | | | | | | | | | | | If two imported targets in different directories have the same name we should still be able to propagate transitive link dependencies from both. Fix the target and link dependency analyzers to de-duplicate targets using target pointers rather than target names since the pointers will not be duplicated even if the names are. Issue: #18345
| * cmLinkItem: Convert to a "sum type" over a string and target pointerBrad King2018-09-0710-66/+145
| | | | | | | | | | | | | | | | | | Avoid exposing the item name implicitly as std::string. When the item is a target, avoid storing a second copy of its name. Most link item construction is paired with calls to `FindTargetToLink` to get the possible target pointer. Rename these methods to `ResolveLinkItem` and refactor them to construct the entire item.
* | Merge branch 'release-3.12'Brad King2018-09-110-0/+0
|\ \
| * \ Merge branch 'FindMPI-restore-flags-string' into release-3.12Brad King2018-09-101-1/+1
| |\ \ | | | | | | | | | | | | Merge-request: !2368
| * \ \ Merge branch 'fix-ctest_start-track' into release-3.12Brad King2018-09-104-3/+14
| |\ \ \ | | | | | | | | | | | | | | | Merge-request: !2366
| * \ \ \ Merge branch 'ctest-fix-test-load' into release-3.12Brad King2018-09-1016-38/+74
| |\ \ \ \ | | | | | | | | | | | | | | | | | | Merge-request: !2362
* | \ \ \ \ Merge topic 'FindMPI-restore-flags-string'Brad King2018-09-111-1/+1
|\ \ \ \ \ \ | | |_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | e374b9f1eb FindMPI: Restore MPI_<LANG>_COMPILE_FLAGS as a command-line string Acked-by: Kitware Robot <kwrobot@kitware.com> Reviewed-by: Christoph Junghans <junghans@votca.org> Reviewed-by: Christian Pfeiffer <cpfeiffer@live.de> Merge-request: !2368
| * | | | | FindMPI: Restore MPI_<LANG>_COMPILE_FLAGS as a command-line stringBrad King2018-09-101-1/+1
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactoring in commit v3.10.0-rc1~103^2~2 (FindMPI: Modernization from ground up, 2017-04-25) accidentally left this variable set as a copy of the `;`-list in `MPI_<LANG>_COMPILE_OPTIONS`, but the flags variable is documented as a command-line string. Restore it now. Fixes: #18349
* | | | | Merge topic 'fix-ctest_start-track'Brad King2018-09-114-3/+14
|\ \ \ \ \ | | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | 09f0325eaf CTest: Fix regression in ctest_start() Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2366
| * | | | CTest: Fix regression in ctest_start()Kyle Edwards2018-09-104-3/+14
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | The format for the TAG file was changed in 3.12, and the way it was read caused a regression which changed how the track was decided. This commit fixes the regression. Fixes #18347.
* | | | Merge topic 'ctest-fix-test-load'Brad King2018-09-1116-38/+74
|\ \ \ \ | | |/ / | |/| | | | | | | | | | | | | | | | | | 292ec157b6 CTest: Fix --test-load regression Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2362
| * | | CTest: Fix --test-load regressionBrad King2018-09-1016-38/+74
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `ctest --test-load` option is implemented in `StartNextTests` by not starting any tests when the load is too high and instead sleeping and then returning. Prior to commit v3.11.0-rc1~117^2 (CTest: Re-implement test process handling using libuv, 2017-12-10) our outer loop in `RunTests` would immediately call `StartNextTests` again. However, now the `uv_run` loop may simply terminate if there are no tests running because no events are left pending. Fix this by converting the sleep in `StartNextTests` into a libuv timer that it starts instead. This avoids leaving `uv_run` with no pending events. In the case that there are other running tests this also allows CTest to detect when they finish even if it during the wait period where we previously slept. This regression was not caught by the test suite because it only verified that we do not start new tests when the load was too high and not that we proceed to start tests when the load drops. Revise the test suite to cover both. Fixes: #18338
* | | Merge topic 'generator_expressions_typo_fix'Craig Scott2018-09-111-1/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 3914108c4a Help: Formatting typo fix in cmake-generator-expressions(7) Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2360
| * | | Help: Formatting typo fix in cmake-generator-expressions(7)Raul Tambre2018-09-101-1/+1
| | | |
* | | | Merge topic 'cmake-host-system-information-doc-fix'Craig Scott2018-09-111-4/+8
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 228a2b0d82 Help: Clarify cmake_host_system_information memory units Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2339
| * | | | Help: Clarify cmake_host_system_information memory unitsTaylor Holberton2018-09-101-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The memory size query implementations report in units of one mebibyte (2^20). Clarify the unit in the documentation because "megabyte" might also be interpreted as 10^6.
* | | | | CMake Nightly Date StampKitware Robot2018-09-111-1/+1
| | | | |
* | | | | Merge topic 'FindOpenSceneGraph-debug'Brad King2018-09-102-21/+13
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 192e552099 FindOpenSceneGraph: Fix find in Debug Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2341
| * | | | | FindOpenSceneGraph: Fix find in DebugCyril Boucher2018-09-062-21/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As of now, it is not possible to find OpenSceneGraph in Debug because the only variable find_package_handle_standard_args is checking is ${module}_LIBRARY while the debug library is in ${module}_LIBRARY_DEBUG. The refactoring gets rid of the old behaviour to replace with a call to select_library_configurations which will populated ${module}_LIBRARY accordingly. [Modules/Findosg_functions.cmake Modules/FindOpenThreads.cmake] - Include SelectLibraryConfigurations module - Modify the name of the variable that will be populated by the first find_library to ${MODULE}_LIBRARY_RELEASE so that SelectLibraryConfigurations can act on it - Add call to select_library_configurations after attempting to find libraries in debug and release
* | | | | | Merge topic 'gicv-stdstring'Brad King2018-09-103-12/+15
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 46855d000f cmCacheManager::GetInitializedCacheValue(): Return as const std::string* Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2357
| * | | | | | cmCacheManager::GetInitializedCacheValue(): Return as const std::string*Vitaly Stakhovsky2018-09-063-12/+15
| | |_|_|_|/ | |/| | | | | | | | | | | | | | | | Expose std::string type used internally instead of const char*
* | | | | | Merge topic 'FindSubversion-wc-info-error'Brad King2018-09-102-12/+27
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 68d015fc94 FindSubversion: Add Subversion_WC_INFO option to suppress failures Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2292
| * | | | | | FindSubversion: Add Subversion_WC_INFO option to suppress failuresJason Heeris2018-09-072-12/+27
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Subversion fails when the directory is not actually under its control. Allow projects to tolerate this case optionally. Fixes: #18264
* | | | | | Merge topic 'extra-generator-split-arg1'Brad King2018-09-101-0/+1
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 0239b586bd Extra Generator: Fix handling of CMAKE_<LANG>_COMPILER_ARG1 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2352
| * | | | | | Extra Generator: Fix handling of CMAKE_<LANG>_COMPILER_ARG1Adam Oleksy2018-09-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The "arg1" value is a command-line string so we must parse it to get separate arguments for `execute_process`.
* | | | | | | CMake Nightly Date StampKitware Robot2018-09-101-1/+1
| |_|_|_|/ / |/| | | | |
* | | | | | CMake Nightly Date StampKitware Robot2018-09-091-1/+1
| | | | | |
* | | | | | CMake Nightly Date StampKitware Robot2018-09-081-1/+1
| | | | | |
* | | | | | Merge topic 'ExternalProject-check-explicit-include'Craig Scott2018-09-078-0/+48
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | df1ddeec12 ExternalProject: Report error if local variables are not defined Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Brad King <brad.king@kitware.com> Merge-request: !2281
| * | | | | | ExternalProject: Report error if local variables are not definedJean-Christophe Fillion-Robin2018-09-068-0/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since in some situations, ExternalProject module may be included in a sub-directory, functions will be available in the global scope but local variables like "_ep_keywords_<keyword>" will not be defined, this commit checks and reports an error indicating that the ExternalProject module must be explicitly included before using any of the ExternalProject_* functions that require the module's inclusion within the current scope or above. Co-authored-by: Pablo Hernandez <pablo.hernandez@kitware.com> Co-authored-by: Craig Scott <craig.scott@crascit.com>
* | | | | | | Merge topic 'definitions-get'Brad King2018-09-077-19/+25
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 437d0c16c7 cmStateSnapshot::GetDefinition(): Return std::string const* Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2356
| * | | | | | | cmStateSnapshot::GetDefinition(): Return std::string const*Vitaly Stakhovsky2018-09-067-19/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Expose std::string type used internally in cmDefinitions instead of const char*
* | | | | | | | Merge branch 'release-3.12'Brad King2018-09-070-0/+0
|\ \ \ \ \ \ \ \ | | |_|_|_|_|_|/ | |/| | | | | |
| * | | | | | | CMake 3.12.2v3.12.2Brad King2018-09-071-1/+1
| | | | | | | |
* | | | | | | | CMake Nightly Date StampKitware Robot2018-09-071-1/+1
| |_|_|_|/ / / |/| | | | | |
* | | | | | | Merge topic 'CMakeFindBinUtils-fix-not-cached'Brad King2018-09-061-3/+15
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 53bae4cc5e CMakeFindBinUtils: Fix use with non-cached tool settings Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2355
| * | | | | | | CMakeFindBinUtils: Fix use with non-cached tool settingsBrad King2018-09-051-3/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a project or toolchain file hard-codes a tool location such as `CMAKE_LINKER` with a plain `set()` then the value will be stored in compiler information files but not cached. If the value is not cached then we should not mark it as advanced because doing so will initialize an empty cache entry. Fixes: #18315
* | | | | | | | Merge branch 'release-3.12'Brad King2018-09-060-0/+0
|\ \ \ \ \ \ \ \ | | |/ / / / / / | |/| | | | | |
| * | | | | | | Merge branch 'FindMatlab-no-CMAKE_CL_64' into release-3.12Brad King2018-09-051-15/+0
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge-request: !2354
* | \ \ \ \ \ \ \ Merge topic 'FindMatlab-no-CMAKE_CL_64'Brad King2018-09-061-15/+0
|\ \ \ \ \ \ \ \ \ | | |/ / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bfe883af60 FindMatlab: Remove erroneous duplicate code Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2354
| * | | | | | | | FindMatlab: Remove erroneous duplicate codeRaffi Enficiaud2018-09-051-15/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was left accidentally when resolving merge conflicts between previous changes. Fixes: #18221