summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* CMake Nightly Date StampKitware Robot2016-01-151-1/+1
|
* Merge topic 'report_failed_tests'Brad King2016-01-141-2/+2
|\ | | | | | | | | a7393cbd ctest_test: Report which tests failed even when QUIET is used
| * ctest_test: Report which tests failed even when QUIET is usedZack Galbreath2016-01-131-2/+2
| | | | | | | | | | | | | | | | | | | | Since commit v3.3.0-rc1~410^2~3 (ctest_test: Add QUIET option, 2015-02-17) if tests fail when QUIET is used one sees: The following tests FAILED: but not the subsequent line(s) indicating which tests failed. Restore the list of failed tests.
* | Merge topic 'install-DIRECTORY-genex'Brad King2016-01-142-5/+26
|\ \ | | | | | | | | | | | | 630c8aa8 install: Allow generator expressions in DIRECTORY
| * | install: Allow generator expressions in DIRECTORYYves Frederix2016-01-132-5/+26
| | | | | | | | | | | | | | | Teach install(DIRECTORY) to support generator expressions in the list of directories, much like install(FILES) already supports.
* | | CMake Nightly Date StampKitware Robot2016-01-141-1/+1
| |/ |/|
* | Merge topic 'vs-debug-fastlink'Brad King2016-01-131-0/+2
|\ \ | | | | | | | | | | | | fc5d6592 VS: Map link `/debug:fastlink` flag to VS 2015 IDE property (#15894)
| * | VS: Map link `/debug:fastlink` flag to VS 2015 IDE property (#15894)Brad King2016-01-121-0/+2
| |/ | | | | | | Suggested-by: Thomas Laguzzi <tholag@gmail.com>
* | Merge topic 'cmake-W-options'Brad King2016-01-138-28/+406
|\ \ | | | | | | | | | | | | | | | 82166701 cmake-gui: Add options to control warning-as-error messages 28f2d750 Add -Werror and -Wno-error command-line options
| * | cmake-gui: Add options to control warning-as-error messagesMichael Scott2016-01-125-2/+161
| | | | | | | | | | | | | | | Add new widgets to the warning messages dialog to control treating warnings as errors.
| * | Add -Werror and -Wno-error command-line optionsMichael Scott2016-01-123-26/+245
| |/ | | | | | | | | | | | | | | | | Expand the -W set of cmake options to include support for the -Werror and -Wno-error format, which is used to control upgrading and downgrading warning and error messages. Implement support for these new formats for the dev and deprecated message types. Add tests and updated documentation for new options.
* | Merge topic 'update-kwsys'Brad King2016-01-132-0/+11
|\ \ | | | | | | | | | | | | | | | 33cafa68 Merge branch 'upstream-KWSys' into update-kwsys ffcc235c KWSys 2016-01-11 (bc07fbf7)
| * | Merge branch 'upstream-KWSys' into update-kwsysBrad King2016-01-122-0/+11
| |/ | | | | | | | | * upstream-KWSys: KWSys 2016-01-11 (bc07fbf7)
* | CMake Nightly Date StampKitware Robot2016-01-131-1/+1
|/
* Merge topic 'vs-win10-sdk'Brad King2016-01-123-17/+35
|\ | | | | | | | | | | | | a57caf7e VS: Fix Windows 10 SDK version selection (#15831) ad594de8 cmSystemTools: Add VersionCompareEqual helper c173e37f VS: Do not select a partial Windows 10 SDK folder (#15831)
| * VS: Fix Windows 10 SDK version selection (#15831)Brad King2016-01-111-17/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit v3.4.0-rc1~5^2~1 (VS: Add support for selecting the Windows 10 SDK, 2015-09-30) we added Windows 10 SDK selection choosing the most recent SDK that is not newer than the target version. This is backward because it should be up to the application code to not use APIs newer than the target version. It is up to the build system to provide a SDK that has at least the APIs expected to be available for the target version. Furthermore, since the default target version is the host version of Windows, the old approach breaks when the only SDK available is for a newer version of Windows. Fix this by always selecting a Windows 10 SDK if one exists. Use the SDK for the exact version if is available. Otherwise use the latest version of the SDK available because that will have at least the APIs expected for the target version.
| * cmSystemTools: Add VersionCompareEqual helperBrad King2016-01-112-0/+10
| | | | | | | | Wrap a call to VersionCompare with OP_EQUAL.
| * VS: Do not select a partial Windows 10 SDK folder (#15831)Brad King2016-01-081-0/+16
| | | | | | | | | | Skip SDK candidate folders that do not contain <um/windows.h> as they are not full SDKs.
* | Merge topic 'update-kwsys'Brad King2016-01-123-19/+10
|\ \ | | | | | | | | | | | | | | | 9821924d Merge branch 'upstream-KWSys' into update-kwsys 8e7356a2 KWSys 2016-01-11 (e8bf616e)
| * | Merge branch 'upstream-KWSys' into update-kwsysBrad King2016-01-113-19/+10
| | | | | | | | | | | | | | | * upstream-KWSys: KWSys 2016-01-11 (e8bf616e)
* | | Merge topic 'vs-global-properties'Brad King2016-01-121-0/+26
|\ \ \ | | | | | | | | | | | | | | | | af39f115 VS: Implement VS_GLOBAL_* target properties in VS 2010+ (#13666)
| * | | VS: Implement VS_GLOBAL_* target properties in VS 2010+ (#13666)Mike Fitzgerald2016-01-111-0/+26
| |/ / | | | | | | | | | | | | These have been documented but previously only implemented for VS 2008 and below.
* | | Merge topic 'vs-link-debug-property'Brad King2016-01-127-25/+22
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | b3677b35 VS: Map the link `/debug` to its IDE property c22da7cf VS: Drop unused condition in link debug flag generation 4ca9df8b cmIDEOptions: Add support for case-insensitive flags
| * | | VS: Map the link `/debug` to its IDE propertyBrad King2016-01-115-23/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix the link flag table entries for this flag to be case-insensitive. Also fix the VS 2015 value for the build property enumeration name. This causes `linkOptions.Parse(...)` to correctly extract the `/debug` flag and map it to the IDE property instead. Therefore we do not need to look for the flag explicitly when initializing the property.
| * | | VS: Drop unused condition in link debug flag generationBrad King2016-01-111-1/+1
| | | | | | | | | | | | | | | | | | | | The `linkOptions.IsDebug()` call never returns true because it checks for `DebugInformationFormat` which is a compiler (cl) flag.
| * | | cmIDEOptions: Add support for case-insensitive flagsBrad King2016-01-112-2/+9
| |/ /
* | | CMake Nightly Date StampKitware Robot2016-01-121-1/+1
|/ /
* | Merge topic 'vs14-debug-enum'Brad King2016-01-111-2/+18
|\ \ | | | | | | | | | | | | f086c665 VS: Fix VS 2015 .vcxproj file value for GenerateDebugInformation (#15894)
| * | VS: Fix VS 2015 .vcxproj file value for GenerateDebugInformation (#15894)Brad King2016-01-081-2/+18
| |/ | | | | | | | | | | | | Starting with VS 2015 the GenerateDebugInformation build property is an enumeration (`No`, `Debug`, `DebugFastLink`) instead of a boolean value (`false`, `true`). For now we simply change to `No` and `Debug` fix current behavior. Support for `/debug:fastlink` can be added later.
| * CMake 3.4.1v3.4.1Brad King2015-12-021-1/+1
| |
| * Merge branch 'backport-NIOS2-CPU' into releaseBrad King2015-12-021-0/+4
| |\
| | * Add NIOS2 CPU supportMarek Vasut2015-12-021-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add necessary bits to support the NIOS2 little-endian CPU. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Ley Foon Tan <lftan@altera.com> Cc: Thomas Chou <thomas@wytron.com.tw> Cc: Walter Goossens <waltergoossens@home.nl>
| * | Merge branch 'include-for-mode_t' into releaseBrad King2015-12-021-0/+2
| |\ \
| * \ \ Merge branch 'reduce-realpath-calls' into releaseBrad King2015-12-012-4/+28
| |\ \ \
| * \ \ \ Merge branch 'reduce-cmState-accumulation' into releaseBrad King2015-11-308-66/+121
| |\ \ \ \
| * \ \ \ \ Merge branch 'fix-find_package-version-file-error-stack' into releaseBrad King2015-11-251-2/+4
| |\ \ \ \ \
| * \ \ \ \ \ Merge branch 'backport-fix-autodef-bigobj-64' into releaseBrad King2015-11-201-1/+1
| |\ \ \ \ \ \
| | * | | | | | Fix auto export symbols for Dlls containing /bigobj for 64bit builds.Bill Hoffman2015-11-201-1/+1
| | | |_|_|_|/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes a bug where 64 bit builds with /bigobj incorrectly determined that the object files were not 64 bit. This manifested itself with printf type functions showing up as undefined because the leading underscore was being removed and should not be removed.
| * | | | | | Merge branch 'avoid-divide-by-zero' into releaseBrad King2015-11-191-1/+7
| |\ \ \ \ \ \
| * \ \ \ \ \ \ Merge branch 'backport-android-no-versioned-soname' into releaseBrad King2015-11-191-0/+1
| |\ \ \ \ \ \ \
| | * | | | | | | Android: Restore generation of non-versioned soname (#15851)Brad King2015-11-191-0/+1
| | | |/ / / / / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Our check of CMAKE_PLATFORM_NO_VERSIONED_SONAME, originally added by commit v3.1.0-rc1~416^2 (Add basic Android platform module, 2014-06-06), was dropped accidentally by commit v3.4.0-rc1~250^2~21 (cmGeneratorTarget: Move GetLibraryNames from cmTarget, 2015-08-04). Restore the check in the new location of the GetLibraryNames method.
* | | | | | | | CMake Nightly Date StampKitware Robot2016-01-111-1/+1
| | | | | | | |
* | | | | | | | CMake Nightly Date StampKitware Robot2016-01-101-1/+1
| | | | | | | |
* | | | | | | | CMake Nightly Date StampKitware Robot2016-01-091-1/+1
| | | | | | | |
* | | | | | | | Merge topic 'cpack-dmg-license-fixes'Brad King2016-01-082-25/+77
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bbb3c4ff CPack/DragNDrop: Fix handling of certain license file content (#15899)