summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'fix-Fortran-module-in-subdir'Brad King2016-02-081-4/+2
|\ | | | | | | | | c5eb21b6 Fix dependency scanning configuration in subdirectories
| * Fix dependency scanning configuration in subdirectoriesBrad King2016-02-051-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactoring in commit v3.5.0-rc1~347^2~2 (Set the current dirs on the snapshot before creating the cmMakefile) accidentally changed the source and binary directories configured in `cmake -E cmake_depends` for use during dependency scanning. This can cause the wrong directory information to be loaded. It also breaks Fortran module dependency scanning for modules provided by targets in subdirectories that do not have Fortran_MODULE_DIRECTORY set. Fix the dependency scanning directory configuration and add a test to cover the Fortran module case in which the breakage was observed. Reported-by: Kelly Thompson <kgt@lanl.gov>
* | Merge topic 'fix-pedantic-warnings'Brad King2016-02-083-3/+3
|\ \ | | | | | | | | | | | | 58a4a771 Make cmLinkInterface:: and cmGeneratorTarget::Multiplicity unsigned ints
| * | Make cmLinkInterface:: and cmGeneratorTarget::Multiplicity unsigned intsChristoph GrĂ¼ninger2016-02-043-3/+3
| |/
* | Merge topic 'error-multiple-targets'Brad King2016-02-081-1/+13
|\ \ | | | | | | | | | | | | | | | 497cad7c cmake: Teach --build to reject multiple --target options 886acd80 Help: Fix reference to `cmake --build` in cmake(1) manual
| * | cmake: Teach --build to reject multiple --target optionsSebastian Schuberth2016-02-051-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously we did not clearly document that `--target` is only supported to be specified once. Even worse, specifying it multiple times would silently ignore any previously specified targets and only build the last target. Update the documentation to specify this. Update the implementation to reject multiple `--target` options to prevent user errors.
* | | CMake Nightly Date StampKitware Robot2016-02-081-1/+1
| | |
* | | CMake Nightly Date StampKitware Robot2016-02-071-1/+1
| | |
* | | CMake Nightly Date StampKitware Robot2016-02-061-1/+1
| | |
* | | CMake Nightly Date StampKitware Robot2016-02-051-1/+1
| | |
* | | Merge topic 'list-FILTER-command'Brad King2016-02-042-0/+115
|\ \ \ | |/ / |/| | | | | | | | 0205f882 list: Add FILTER subcommand (#3986)
| * | list: Add FILTER subcommand (#3986)Ashley Whetter2016-02-032-0/+115
| | | | | | | | | | | | Create a `list(FILTER)` command to filter lists by regular expression.
* | | CMake Nightly Date StampKitware Robot2016-02-041-1/+1
|/ /
* | CMake Nightly Date StampKitware Robot2016-02-031-1/+1
| |
* | Begin post-3.5 developmentBrad King2016-02-021-2/+2
| |
* | CMake 3.5.0-rc1 version updatev3.5.0-rc1Brad King2016-02-021-3/+3
|/
* Merge topic 'remove-stray-semicolon'Brad King2016-02-021-1/+1
|\ | | | | | | | | ccb2d5c0 cmAlgorithms.h: remove superfluous semicolon after method
| * cmAlgorithms.h: remove superfluous semicolon after methodChristoph GrĂ¼ninger2016-02-011-1/+1
| |
* | Merge topic 'fix-CMAKE_MATCH-self-match'Brad King2016-02-021-0/+10
|\ \ | | | | | | | | | | | | 6ffc4323 cmConditionEvaluator: Fix matching of `CMAKE_MATCH_*` values (#15944)
| * | cmConditionEvaluator: Fix matching of `CMAKE_MATCH_*` values (#15944)Brad King2016-02-011-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While evaluating `if(MATCHES)` we get a `const char*` pointer to the string to be matched. On code like if(CMAKE_MATCH_COUNT MATCHES "Y") the string to be matched may be owned by our own result variables. We must move the value to our own buffer before clearing them. Otherwise we risk reading freed storage.
* | | CMake Nightly Date StampKitware Robot2016-02-021-1/+1
| |/ |/|
* | Merge topic 'clarify-add_custom_command-TARGET-scope'Brad King2016-02-011-1/+18
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | d257d681 add_custom_command: Clarify error when TARGET is out of scope (#15681) 4d53e0a7 Help: Clarify `add_custom_command(TARGET)` scope (#15681) 8c615af4 Help: Clarify policy `CMP0040` documentation (#15681) 63c5808f Help: Clarify scope of `if(TARGET)` expression a336e438 Help: Improve markup in `if` command documentation 88968265 Help: Improve markup in `get_target_property` documentation
| * | add_custom_command: Clarify error when TARGET is out of scope (#15681)Brad King2016-01-281-1/+18
| |/ | | | | | | | | | | | | | | The add_custom_command(TARGET) signature only works for targets defined in the current directory. Clarify this in the error message when the target exists but was defined elsewhere. Inspired-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
* | CMake Nightly Date StampKitware Robot2016-02-011-1/+1
| |
* | CMake Nightly Date StampKitware Robot2016-01-311-1/+1
| |
* | CMake Nightly Date StampKitware Robot2016-01-301-1/+1
| |
* | CMake Nightly Date StampKitware Robot2016-01-291-1/+1
| |
* | CMake Nightly Date StampKitware Robot2016-01-281-1/+1
|/
* CMake Nightly Date StampKitware Robot2016-01-271-1/+1
|
* CMake Nightly Date StampKitware Robot2016-01-261-1/+1
|
* Merge topic 'vs-win10-sdk'Brad King2016-01-252-5/+6
|\ | | | | | | | | d7e863c1 VS: Do not fail on Windows 10 with VS 2015 if no SDK is available (#15929)
| * VS: Do not fail on Windows 10 with VS 2015 if no SDK is available (#15929)Brad King2016-01-212-5/+6
| | | | | | | | | | | | | | | | | | | | | | Since commit v3.4.0-rc1~5^2~1 (VS: Add support for selecting the Windows 10 SDK, 2015-09-30) the VS 2015 generator requires a Windows 10 SDK to be available when CMAKE_SYSTEM_VERSION specifies Windows 10 (e.g. when building on a Windows 10 host). Howewver, it is possible to install VS 2015 without any Windows 10 SDK. Instead of failing with an error message about the lack of a Windows 10 SDK, simply tolerate this case and use the default Windows 8.1 SDK. Since building for Windows Store still requires the SDK, retain the diagnostic in that case.
* | CMake Nightly Date StampKitware Robot2016-01-251-1/+1
| |
* | CMake Nightly Date StampKitware Robot2016-01-241-1/+1
| |
* | CMake Nightly Date StampKitware Robot2016-01-231-1/+1
| |
* | Merge topic 'fix-use-generator-target'Brad King2016-01-221-1/+1
|\ \ | | | | | | | | | | | | 7dbfdddf cmExportInstallFileGenerator: Fix crash in FindNamespaces
| * | cmExportInstallFileGenerator: Fix crash in FindNamespacesAndrey Pokrovskiy2016-01-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactoring merged by commit 9afbb733ec (Merge topic 'use-generator-target', 2015-10-20) in and around commit 381e7afd (cmExportSet: Store a cmGeneratorTarget, 2015-10-17) forgot to update one place in this method. This leads to a crash in code such as add_library(A a.c) add_library(B b.c) target_link_libraries(B A) install(TARGETS B DESTINATION lib EXPORT ExpB) install(EXPORT ExpB DESTINATION lib/cmake/test) add_executable(C c.c) install(TARGETS C DESTINATION bin EXPORT ExpC) Fix the target name reference to avoid using an unpopulated Target pointer.
* | | CMake Nightly Date StampKitware Robot2016-01-221-1/+1
| | |
* | | Merge topic 'reduce-allocations'Brad King2016-01-216-29/+26
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 70788e92 Remove temporary allocations when calling cmHasLiteral{Suf,Pre}fix. bd2384f5 Optimize cmMakefile::ExpandVariablesInStringNew. ad9394f4 Remove temporary allocations in cmMacroHelper::InvokeInitialPass. f9599ed4 Remove temporary allocations by extending the lifetime of the retval. 275f2a85 Remove temporary allocations when calling cmGeneratorTarget::GetName.
| * | | Remove temporary allocations when calling cmHasLiteral{Suf,Pre}fix.Milian Wolff2016-01-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the first argument passed is a std::string, we need to take it by const&, otherwise we copy the string and trigger a temporary allocation. This patch removes a few 10k temporary allocations when running the CMake daemon on the KDevelop build dir. This hotspot was found with heaptrack.
| * | | Optimize cmMakefile::ExpandVariablesInStringNew.Milian Wolff2016-01-201-10/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We can remove the temporary allocations required for the default-constructed t_lookup passed into the openstack by refactoring the code slightly. Furthermore, we use a vector instead of a stack, since the latter is based on a deque which is not required for a heap / lifo structure. This patch removes ~215k allocations. This hotspot was found with heaptrack.
| * | | Remove temporary allocations in cmMacroHelper::InvokeInitialPass.Milian Wolff2016-01-201-9/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This code used to convert std::string's to raw C strings only to put that back into a std::string. This patch thus removes ~70k temporary allocations when running the CMake daemon on KDevelop. This hotspot was found with heaptrack.
| * | | Remove temporary allocations by extending the lifetime of the retval.Milian Wolff2016-01-201-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | See also Herb Sutter's article on the "most important const": http://herbsutter.com/2008/01/01/gotw-88-a-candidate-for-the-most-important-const/ When running the CMake daemon on the KDevelop build dir, this removes some hundreds of thousands of temporary allocations. This hotspot was found with heaptrack.
| * | | Remove temporary allocations when calling cmGeneratorTarget::GetName.Milian Wolff2016-01-202-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This happens quite often from within comparisons such as in NamedGeneratorTargetFinder or FindGeneratorTargetImpl. It is the top hotspot of both, number of allocations as well as number of temporary allocations - the majority of calls lead to temporary allocations. In raw numbers, this patch removes ~1E6 temporary allocations of 1.5E6 temporary allocations in total when running the cmake daemon on the KDevelop build dir. That is 2/3 of the total. This hotspot was found with heaptrack.
* | | | Merge topic 'cmake-E-time-quoting'Brad King2016-01-211-2/+2
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | 1787269e cmake: Fix `-E time` argument passing to child
| * | | cmake: Fix `-E time` argument passing to childBrad King2016-01-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since this command was introduced in 2002 it has incorrectly constructed the child process command line by concatenating arguments separated by spaces with no quoting. Fix this by passing the command argument vector directly to RunSingleCommand without an intermediate quoting and re-parsing step. Reported-by: Andrey Pokrovskiy <wonder.mice@gmail.com>
* | | | CMake Nightly Date StampKitware Robot2016-01-211-1/+1
|/ / /
* | | Merge topic 'cleanup-RunSingleCommand'Brad King2016-01-204-51/+37
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1040e690 cmSystemTools: Teach RunSingleCommand to merge child pipes when possible ce3b713b cmSystemTools: Simplify RunSingleCommand output string construction dc039cc0 cmSystemTools: Drop redundant condition in RunSingleCommand ffa2a8c9 cmSystemTools: Rename OUTPUT_NORMAL to OUTPUT_FORWARD to clarify its purpose 92e9bb21 cmcmd.cxx: Remove unused code in __run_iwyu implementation fb1526f5 cmake: Change `-E chdir` to pass through stdout/stderr directly
| * | | cmSystemTools: Teach RunSingleCommand to merge child pipes when possibleBrad King2016-01-191-23/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Audit the code to make sure there are no callers that use OUTPUT_MERGE with separate capture strings. Then change RunSingleCommand to implement output merging by giving the child process a single pipe for both its stdout and stderr descriptors. This will more cleanly merge the content on atomic write boundaries in the child instead of on arbitrary buffering boundaries in the parent.
| * | | cmSystemTools: Simplify RunSingleCommand output string constructionBrad King2016-01-191-13/+4
| | | | | | | | | | | | | | | | | | | | | | | | Assign to the result strings instead setting to empty and appending. The old approach was left from when we directly buffered output in the strings.