summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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 'add-FindXalanC'Brad King2016-01-218-0/+210
|\ \ | | | | | | | | | | | | f9e45ab9 FindXalanC: New module to find the Apache Xalan-C++ library
| * | FindXalanC: New module to find the Apache Xalan-C++ libraryRoger Leigh2016-01-208-0/+210
| | |
* | | Merge topic 'cmake-E-time-quoting'Brad King2016-01-216-2/+19
|\ \ \ | | | | | | | | | | | | | | | | 1787269e cmake: Fix `-E time` argument passing to child
| * | | cmake: Fix `-E time` argument passing to childBrad King2016-01-206-2/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | Merge topic 'ExternalProject-ctest-config'Brad King2016-01-211-3/+6
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | ec00e89e ExternalProject: Fix TEST_BEFORE_INSTALL for multi-config generators 5d739a3c ExternalProject: Simplify `cmake --build` configuration passing
| * | | | ExternalProject: Fix TEST_BEFORE_INSTALL for multi-config generatorsBrad King2016-01-201-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In multi-config generators we must tell `ctest` what configuration to test. Reported-by: Taylor Braun-Jones <taylor@braun-jones.org>
| * | | | ExternalProject: Simplify `cmake --build` configuration passingBrad King2016-01-201-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Check CMAKE_CONFIGURATION_TYPES instead of CMAKE_CFG_INTDIR in order to recognize multi-config generators. Then use $<CONFIG> to pass the configuration value.
* | | | | Merge topic 'GetPrerequisites-ms-ucrt'Brad King2016-01-211-2/+2
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | c8daac35 GetPrerequisites: Define api-ms-win-* files as system libraries (#15691)
| * | | | | GetPrerequisites: Define api-ms-win-* files as system libraries (#15691)André Klitzing2016-01-191-2/+2
| |/ / / / | | | | | | | | | | | | | | | Suggested-by: Gilles Khouzam <gillesk@microsoft.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.
| * | | | cmSystemTools: Drop redundant condition in RunSingleCommandBrad King2016-01-191-9/+7
| | | | | | | | | | | | | | | | | | | | | | | | | The output processing loop is already guarded by a condition so we do not need to repeat the condition inside the loop.
| * | | | cmSystemTools: Rename OUTPUT_NORMAL to OUTPUT_FORWARD to clarify its purposeBrad King2016-01-192-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The OUTPUT_NORMAL value is not really "normal" and has only one caller. Rename it to OUTPUT_FORWARD to clarify that we are explicitly forwarding the output.
| * | | | cmcmd.cxx: Remove unused code in __run_iwyu implementationBrad King2016-01-191-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Do not try to capture stderr with OUTPUT_PASSTHROUGH. RunSingleCommand will never populate it.
| * | | | cmake: Change `-E chdir` to pass through stdout/stderr directlyBrad King2016-01-191-1/+1
| |/ / / | | | | | | | | | | | | | | | | Use OUTPUT_PASSTHROUGH instead of OUTPUT_NORMAL in order to avoid buffering the output just to re-print it.
* | | | Merge topic 'mfc-utility-targets'Brad King2016-01-201-6/+9
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | a15e375c Fix MFC setting on utility targets (#15867)
| * | | | Fix MFC setting on utility targets (#15867)Clinton Stimpson2016-01-191-6/+9
| |/ / / | | | | | | | | | | | | Multi-byte MFC is deprecated, and some projects will not compile if MFC is enabled.
* | | | Merge topic 'cache-parse-error-line-number'Brad King2016-01-208-2/+34
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | 77cd74a3 Print line number of cache parse errors (#11109)
| * | | | Print line number of cache parse errors (#11109)Ashley Whetter2016-01-198-2/+34
| | | | | | | | | | | | | | | | | | | | | | | | | Track the line number while parsing `CMakeCache.txt` files and include it in a parse failure error message.
* | | | | Merge topic 'java-updates'Brad King2016-01-205-5/+42
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 18c3714f UseJava: Fix create_javah CLASSPATH handling on Windows
| * | | | | UseJava: Fix create_javah CLASSPATH handling on WindowsMarc Chevrier2016-01-195-5/+42
| |/ / / / | | | | | | | | | | | | | | | Preserve semicolons in the value.
* | | | | Merge topic 'FindPkgConfig-protect-semicolons'Brad King2016-01-201-4/+4
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 53511936 FindPkgConfig: Quote ${_pkgconfig_path} to protect semicolons on Windows
| * | | | | FindPkgConfig: Quote ${_pkgconfig_path} to protect semicolons on WindowsRob Gowin2016-01-191-4/+4
| |/ / / /
* | | | | CMake Nightly Date StampKitware Robot2016-01-201-1/+1
| |/ / / |/| | |
* | | | Merge branch 'release'Brad King2016-01-190-0/+0
|\ \ \ \
| * | | | CMake 3.4.2v3.4.2Brad King2016-01-191-1/+1
| | | | |
* | | | | Merge branch 'release'Brad King2016-01-190-0/+0
|\ \ \ \ \ | |/ / / / | | / / / | |/ / / |/| | |
| * | | Merge branch 'vs-win10-sdk' into releaseBrad King2016-01-113-17/+35
| |\ \ \
* | \ \ \ Merge topic 'export-static-private-depend'Brad King2016-01-194-5/+26
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | aea1b036 Fix export of STATIC library PRIVATE dependencies with CMP0022 NEW e5cbec14 Tests: Use CMP0022 NEW behavior in some ExportImport cases 0ca122fc Tests: Isolate policy changes in ExportImport test
| * | | | | Fix export of STATIC library PRIVATE dependencies with CMP0022 NEWBrad King2016-01-154-3/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The target_link_libraries command records the PRIVATE dependencies of a STATIC library in INTERFACE_LINK_LIBRARIES as "$<LINK_ONLY:dep>". This hides the target name from export namespacing logic inside a generator expression. When user-written generator expressions reference a target name they must put it inside a "$<TARGET_NAME:dep>" expression to allow the export logic to rename the target. In the case that the private dependency is not already a generator expression, target_link_libraries must use "$<LINK_ONLY:$<TARGET_NAME:dep>>" to allow the export logic to rename the target. Reported-by: Tamás Kenéz <tamas.kenez@gmail.com>
| * | | | | Tests: Use CMP0022 NEW behavior in some ExportImport casesBrad King2016-01-151-0/+3
| | | | | |
| * | | | | Tests: Isolate policy changes in ExportImport testBrad King2016-01-151-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | Use cmake_policy(PUSH/POP) to isolate CMP0022 policy changes.
* | | | | | Merge topic 'FindPkgConfig-fix-restore'Brad King2016-01-191-1/+1
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8979a107 FindPkgConfig: Fix restoration of PKG_CONFIG_PATH in environment
| * | | | | | FindPkgConfig: Fix restoration of PKG_CONFIG_PATH in environmentRob Gowin2016-01-151-1/+1
| | |_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | The original value is saved in `_pkg_config_path_old`. Fix this typo left by commit v3.1.0-rc1~763^2 (FindPkgConfig: Extend PKG_CONFIG_PATH using CMake variables, 2014-03-06).
* | | | | | Merge topic 'ExternalProject-git-clone-o'Brad King2016-01-192-6/+22
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 83d63391 ExternalProject: Add option to set `git clone -o` argument
| * | | | | | ExternalProject: Add option to set `git clone -o` argumentAdam Rankin2016-01-152-6/+22
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a `GIT_REMOTE_NAME` option to `ExternalProject_Add` to support git clone --origin <name> Default to `origin` if not specified.
* | | | | | Merge topic 'doc-export-compile-commands'Brad King2016-01-192-0/+31
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6e92f7b2 Help: Document the CMAKE_EXPORT_COMPILE_COMMANDS variable
| * | | | | | Help: Document the CMAKE_EXPORT_COMPILE_COMMANDS variableSebastian Schuberth2016-01-152-0/+31
| |/ / / / /
* | | | | | Merge topic 'FindCUDA-verbatim'Brad King2016-01-191-0/+3
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6ccc3070 FindCUDA: Support special characters in path (#15919)
| * | | | | | FindCUDA: Support special characters in path (#15919)Brad King2016-01-151-0/+3
| | |/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add `VERBATIM` to all `add_custom_command` calls so that CMake will escape arguments properly even when special characters such as "()" are present. Suggested-by: Nils Gladitz <nilsgladitz@gmail.com>
* | | | | | Merge topic 'rpath-preserve-compiler-defined'Brad King2016-01-192-13/+30
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3ec92267 install: Do not remove compiler-defined RPATH entries