summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* cmake-server: Do not try watching subdirectories with empty namesAleix Pol2017-01-111-0/+3
| | | | | | | | | `cmsys::SystemTools::SplitPath` will return empty segments on paths where there's duplicaded consequent slashes (e.g. `/home/dir/my//stuff`). This makes the cmFileWatcher choke. Teach cmFileMonitor to skip these empty segments. Closes: #16531
* Merge branch 'cmake-server-do-not-crash-on-interface-lib' into releaseBrad King2017-01-091-2/+6
|\
| * server-mode: Do not crash when running into INTERFACE_LIBRARYTobias Hunger2017-01-091-2/+6
| | | | | | | | Closes: #16539
* | server-mode: Call ResetErrorOccured before configureTobias Hunger2016-12-161-0/+2
|/ | | | Closes: #16506
* Merge branch 'vs-fix-standalone-Windows7.1SDK-toolset' into releaseBrad King2016-12-071-1/+10
|\
| * VS: Fix standalone Windows7.1SDK toolset selectionBrad King2016-12-071-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit v3.7.0-rc1~142^2~1 (VS: Explicitly default to v100 toolset in Visual Studio 2010, 2016-07-21) we prefer to always set a platform toolset explicitly so that `CMAKE_VS_PLATFORM_TOOLSET` can be reported. However, the `v100` default for the VS 10 generator is not appropriate for all environments. We fixed support for VS 2010 Express Edition in commit v3.7.0-rc1~142^2 (VS: Do not default to missing v100 64-bit toolset on VS 2010 Express, 2016-09-09). Fix support for the standalone Windows7.1SDK toolset environment by recognizing the `PlatformToolset` environment variable that it sets to `Windows7.1SDK` and using this as our default toolset instead. Closes: #16483
* | Merge branch 'vs-Zc-inline' into releaseBrad King2016-11-302-0/+3
|\ \
| * | VS: Add v140 flag table entries for `-Zc:inline[-]`Brad King2016-11-301-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The documentation of this option [1] claims that the default is off, but VS seems to use `-Zc:inline` by default if `RemoveUnreferencedCodeData` does not appear in the `.vcxproj` file. Add the flag table entry to allow use of the flag to be configured. [1] https://msdn.microsoft.com/en-us/library/dn642448.aspx Suggested-by: Serti Ayoub <ayb.serti@gmail.com>
| * | VS: Add v141 flag table entry for `-Zc:inline-`Brad King2016-11-301-0/+1
| |/ | | | | | | | | | | | | | | | | | | The negative form of the `-Zc:inline` flag is missing from c:/Program Files (x86)/Microsoft Visual Studio/2017/Professional/Common7/IDE/VC/VCTargets/1033/cl.xml so it was not included in our flag table automatically. Add it manually. Suggested-by: Serti Ayoub <ayb.serti@gmail.com>
* | server-mode: Do not ignore the first cacheArgument on configureTobias Hunger2016-11-301-1/+1
|/ | | | | SetCacheArgs skips the first argument it gets, so add some padding before calling it.
* CMake 3.7.1v3.7.1Brad King2016-11-301-1/+1
|
* Merge branch 'vs15-rename-generator' into releaseBrad King2016-11-292-5/+8
|\
| * VS: Rename VS 15 generator to 'Visual Studio 15 2017'Roman Wüger2016-11-292-5/+8
| | | | | | | | | | | | | | | | | | The final name of this VS version was announced: https://blogs.msdn.microsoft.com/visualstudio/2016/11/16/visual-studio-2017-rc/ Add the year to the generator name accordingly. For convenience, map the name without the year to the name with the year.
* | Merge branch '16449-revert-xcode-system-includes' into releaseBrad King2016-11-281-30/+14
|\ \ | |/ |/|
| * Revert "Xcode: Obey SYSTEM keyword for includes (#15687)"Gregor Jasny2016-11-281-30/+14
| | | | | | | | | | | | | | | | Revert commit v3.7.0-rc1~266^2 (Xcode: Obey SYSTEM keyword for includes, 2015-08-31). It worked for C, C++, and Swift but not for GNU Assembly files for which Xcode has no property to set flags. Closes: #16449
* | Merge branch 'vs-15-preview-5' into releaseBrad King2016-11-181-1/+1
|\ \
| * | VS: Update VS 15 generator for Preview 5Brad King2016-10-061-1/+1
| | | | | | | | | | | | | | | | | | The `PlatformToolset` is now `v141` instead of `v140`. Closes: #16347
* | | Merge branch 'cmake-server-fix-16423' into releaseBrad King2016-11-142-28/+77
|\ \ \
| * | | server-mode: Reset GlobalGenerator before configureTobias Hunger2016-11-142-28/+77
| | |/ | |/| | | | | | | | | | | | | | | | This is what cmake-gui also does to avoid CMake crashing on repeated attempts to configure it. Fixes #16423.
* | | server-mode: Prevent possible crash when watching directoriesTobias Hunger2016-11-141-1/+1
|/ / | | | | | | | | | | | | The `filename` passed by libuv may be `nullptr`, so handle that explicitly. Fixes: #16422
* | CMake 3.7.0v3.7.0Brad King2016-11-111-1/+1
| |
* | QtAutogen: Do not re-generate AUTORCC outputs on every buildBrad King2016-11-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | Refactoring in commit v3.6.0-rc1~134^2~10 (Autogen: Split out moc file generation code to dedicated method, 2016-04-18) removed the unconditional creation of the `<target>_automoc.cpp` file. Now it is generated only when `AUTOMOC` is enabled. However, if this file is not created then our internal `GenerateAll` setting is enabled on every build, causing `AUTORCC` to re-generate its file(s) every time. Fix the `GenerateAll` setting to be used only for when autogen settings change. The old logic was left from when we had only automoc. Closes: #16413
* | CMake 3.7.0-rc3v3.7.0-rc3Brad King2016-11-041-1/+1
| |
* | Merge branch 'cmake-server-handshake-improvements' into releaseBrad King2016-10-282-63/+99
|\ \
| * | server-mode: Handle generator toolset and platform in handshakeTobias Hunger2016-10-282-1/+32
| | |
| * | cmake-server: Better error reporting during handshakeTobias Hunger2016-10-271-64/+69
| | | | | | | | | | | | | | | | | | | | | Catch more problematic input during handshake and report failure. These were caught before when trying to configure, but it is way better to get these reports early.
* | | Merge branch 'cmake-server-message-quoting' into releaseBrad King2016-10-241-2/+2
|\ \ \ | |/ /
| * | cmake-server: Change message wrapper to avoid ambiguity with contentBrad King2016-10-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change our message wrapper from [== CMake Server ==[ ... ]== CMake Server ==] to [== "CMake Server" ==[ ... ]== "CMake Server" ==] to guarantee that no JSON content can ever contain the ending string (because it would be encoded as `]== \"CMake Server\" ==]`).
* | | Ninja: Use binary dir for `$subdir/all` targetsAlexis Murzeau2016-10-242-29/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The targets added by commit v3.6.0-rc1~240^2~2 (Ninja: Add `$subdir/all` targets, 2016-03-11) use as `$subdir` the relative path from the top of the source tree to the current source directory. This is not correct when using `add_subdirectory(test test_bin)`. Instead we need to use the relative path from the top of the binary tree to the current binary directory as was done for related targets by commit v3.7.0-rc1~268^2 (Ninja: Add `$subdir/{test,install,package}` targets, 2016-08-05).
* | | CMake 3.7.0-rc2v3.7.0-rc2Brad King2016-10-191-1/+1
|/ /
* | Merge branch 'cmake-server-pipe-mode-fix' into releaseBrad King2016-10-181-6/+5
|\ \
| * | server-mode: Fix named pipe modeTobias Hunger2016-10-181-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | Do not treat a pointer itself as a `uv_stream_t`, but instead the pointed-to `uv_pipe_t`. It is unclear how this ever worked before in local testing. While at it, remove duplicate setup code and improve an error message.
* | | Merge branch 'ninja-framework-POST_BUILD' into releaseBrad King2016-10-131-2/+4
|\ \ \
| * | | Ninja: Fix POST_BUILD commands on macOS FrameworksBrad King2016-10-131-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The condition added by commit v2.8.12~179^2 (OS X: Fix regression handling frameworks for Ninja, 2013-07-16) for excluding use of versioning symlinks on macOS Frameworks must match that used for POST_BUILD selection. Otherwise we place the POST_BUILD commands after a symlink step that is never added. Closes: #16363
* | | | Merge branch 'backport-LINK_WHAT_YOU_USE-allow-OFF' into releaseBrad King2016-10-133-6/+6
|\ \ \ \
| * | | | Honor LINK_WHAT_YOU_USE when set to OFFJamie Snape2016-10-133-6/+6
| |/ / / | | | | | | | | | | | | | | | | | | | | Explicitly setting variable CMAKE_LINK_WHAT_YOU_USE or property LINK_WHAT_YOU_USE to OFF should not cause LWYU to run. Fix the property lookup to use GetPropertyAsBool.
* | | | Merge branch 'ninja-rc-regression' into releaseBrad King2016-10-131-1/+1
|\ \ \ \
| * | | | Ninja: Fix RC language depfile generation with cmcldepsBen Boeckel2016-10-131-1/+1
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit v3.7.0-rc1~275^2 (Ninja: Use full path for all source files, 2016-08-05), the source path was changed to use an absolute path. Inside of `cmcldeps` for `.rc` file compilation, it uses a separate argument for the path to the source file. This ended up causing `cmcldeps` to transform the following call: cmcldeps.exe RC source.rc ... C:/full/path/to/source.rc into: ... C:/full/path/to//Tc source.rc which is invalid. Update the source filename to use the full path to the source file so that the path is replaced properly.
* | | | Merge branch 'cmake-gui-fix-extra-generator-names' into releaseBrad King2016-10-111-1/+1
|\ \ \ \
| * | | | cmake-gui: Fix "extra" generator entries in drop-down listBrad King2016-10-111-1/+1
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactoring in commit v3.7.0-rc1~291^2~1 (Refactor extra generator registration to use factories, 2016-07-20) accidentally switched the order of the "extra - base" generator names to "base - extra". Switch it back. While this could affect all callers of the `GetRegisteredGenerators` method, only cmake-gui actually used this particular field. Closes: #16359
* | | | Merge branch 'vs15-separate-flag-table' into releaseBrad King2016-10-103-3/+247
|\ \ \ \
| * | | | VS: Split flag table between v140 and v141 toolsetsBrad King2016-10-103-3/+247
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit v3.7.0-rc1~156^2~1 (VS: Update v140 flag tables from VS 15 MSBuild files, 2016-09-02) we extended the v140 flag table with values from the v141 toolset that comes with VS 15. However, the v140 toolset that comes with VS 14 does not have all of these entries and so the flags just need to be passed without special mapping. In order to support both toolsets, split our CL flag table into separate copies for each version and switch off the toolset name. Closes: #16352
* | | | Merge branch 'update-kwsys' into releaseBrad King2016-10-081-11/+9
|\ \ \ \
| * | | | Merge branch 'upstream-KWSys' into update-kwsysBrad King2016-10-081-11/+9
| |/ / / | | | | | | | | | | | | | | | | * upstream-KWSys: KWSys 2016-10-07 (dfe9b386)
* | | | Merge branch 'android-export-has-cpp' into releaseBrad King2016-10-071-0/+12
|\ \ \ \
| * | | | Android: Record use of C++ by static libs in exported Android.mk filesBrad King2016-10-071-0/+12
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a `PREBUILT_STATIC_LIBRARY` uses C++ in its sources then the `.a` file will have a link-time dependency on the C++ runtime libraries. Android NDK r14 will add a way to give this information to the NDK build system by adding a `LOCAL_HAS_CPP` setting to the `Android.mk` file. Add this for exported static libraries that use C++.
* | | | Merge branch 'codelite-global-setting' into releaseBrad King2016-10-073-3/+24
|\ \ \ \
| * | | | Codelite: Consume the CMAKE_CODELITE_USE_TARGETS setting globallyStephen Kelly2016-10-071-3/+1
| | | | |
| * | | | cmGlobalGenerator: Add API to get settings from top-level cmMakefileStephen Kelly2016-10-062-0/+23
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At generate-time, definitions are sometimes read from a nearby cmMakefile, making the value directory-specific because they are read once per directory. Often however, the intention is more often to create a 'global' setting, such that the user writes for example: set(CMAKE_IMPORT_LIBRARY_SUFFIX something) once at the top level of their project. Many of these are also set by internal platform files, such as CMAKE_EXTRA_LINK_EXTENSIONS. The set() definitions are not really suitable for 'global' settings because they can be different for each directory, and code consuming the settings must assume they are different for each directory, and read it freshly each time with new allocations. CMake has other variable types which are global in scope, such as global properties, and cache variables. These are less convenient to populate for users, so establish a convention and API using the value as it is at the end of the top-level CMakeLists file.
* | | | Merge branch 'fix-VS-resources-pri-path' into releaseBrad King2016-10-051-2/+4
|\ \ \ \