summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'cmake-server-commands'Brad King2016-09-293-2/+583
|\ | | | | | | | | | | | | | | 71a50587 server-mode: Add project data for unit tests 7b1e60f2 server-mode: Report CMakeCache entries 84553a6e server-mode: Add command to retrieve build system files ead71873 server-mode: Report information relevant for a codemodel
| * server-mode: Report CMakeCache entriesTobias Hunger2016-09-283-0/+71
| | | | | | | | | | With this it would be possible to implement something like cmake-gui using server-mode.
| * server-mode: Add command to retrieve build system filesTobias Hunger2016-09-283-2/+103
| | | | | | | | Add a command to retrieve files that are input to cmake itself.
| * server-mode: Report information relevant for a codemodelTobias Hunger2016-09-283-0/+409
| | | | | | | | | | Add "codemodel" command to report information relevant to feed a code model.
* | Merge topic 'vs-clang-llvm-support'Brad King2016-09-291-1/+2
|\ \ | | | | | | | | | | | | 3f300b84 VS: Recognize VS/LLVM toolset names as Clang
| * | VS: Recognize VS/LLVM toolset names as ClangRoman Wüger2016-09-281-1/+2
| | | | | | | | | | | | | | | | | | Update the toolset name matching added by commit v3.6.0-rc1~279^2~10 (VS: in Clang/C2 toolset, setup correct compiler settings, 2016-02-18) to match VS/LLVM toolset names too.
* | | Merge topic 'fix-explicit-RC'Brad King2016-09-291-1/+20
|\ \ \ | | | | | | | | | | | | | | | | | | | | 9c5238df project: Fix support for explicit RC language 40c04821 Tests: Decide earlier whether to test resources
| * | | project: Fix support for explicit RC languageBrad King2016-09-281-1/+20
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The check added in commit v3.6.0-rc1~293^2 (Diagnose recursive project/enable_language without crashing, 2016-03-07) broke support for enabling `RC` explicitly along with other languages like `C`. The reason is that we enable all listed languages at once so the internal `enable_language(RC)` that we do while enabling `C` or `CXX` on some platforms triggers the recursion check if `RC` is explicitly listed. Ideally we should refactor things to only enable one language at a time, but for now it is simplest to just exclude `RC` from the explicit list until other languages are enabled, and then enable it. Closes: #16330
* | | CMake Nightly Date StampKitware Robot2016-09-291-1/+1
|/ /
* | Merge topic 'simplify-license-notices'Brad King2016-09-28819-9239/+1646
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 19671831 Help: Update cmake-developer(7) module license docs for new notice 756169ac Tests: Update ModuleNotices test for new notice 845d86bc Utilities/Scripts: Remove temporary script that filtered license notices 86578ecc Simplify CMake per-source license notices b7180cfe Utilities/Scripts: Add temporary script to filter license notices 7feb4ecc Copyright.txt: Add notice of copyright by contributors 78f77f60 Utilities/KWStyle: Remove unused header check reference file 681e0429 Tests: Fix RunCMake.CTest output match to tolerate line number changes
| * | Simplify CMake per-source license noticesBrad King2016-09-27819-9239/+1646
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Per-source copyright/license notice headers that spell out copyright holder names and years are hard to maintain and often out-of-date or plain wrong. Precise contributor information is already maintained automatically by the version control tool. Ultimately it is the receiver of a file who is responsible for determining its licensing status, and per-source notices are merely a convenience. Therefore it is simpler and more accurate for each source to have a generic notice of the license name and references to more detailed information on copyright holders and full license terms. Our `Copyright.txt` file now contains a list of Contributors whose names appeared source-level copyright notices. It also references version control history for more precise information. Therefore we no longer need to spell out the list of Contributors in each source file notice. Replace CMake per-source copyright/license notice headers with a short description of the license and links to `Copyright.txt` and online information available from "https://cmake.org/licensing". The online URL also handles cases of modules being copied out of our source into other projects, so we can drop our notices about replacing links with full license text. Run the `Utilities/Scripts/filter-notices.bash` script to perform the majority of the replacements mechanically. Manually fix up shebang lines and trailing newlines in a few files. Manually update the notices in a few files that the script does not handle.
* | CMake Nightly Date StampKitware Robot2016-09-281-1/+1
|/
* Merge topic 'index-directories'Brad King2016-09-272-6/+27
|\ | | | | | | | | cda8c782 cmGlobalGenerator: Optimize FindMakefile method with an index
| * cmGlobalGenerator: Optimize FindMakefile method with an indexBrad King2016-09-262-6/+27
| | | | | | | | | | | | | | This method is used by directory get/set APIs. With the new `SUBDIRECTORIES` and `BUILDSYSTEM_TARGETS` methods projects may now make heavy use of these APIs to traverse their directory structure and process targets. Make this faster by indexing the directory lookups.
* | Merge topic 'codelite-organize-by-target'Brad King2016-09-272-94/+261
|\ \ | | | | | | | | | | | | cbe48879 CodeLite: Optionally use targets to create (sub)project files
| * | CodeLite: Optionally use targets to create (sub)project filesMinze Zwerver2016-09-262-94/+261
| | | | | | | | | | | | | | | | | | The basic codelite generator creates .project files based on the `project()` stanza. Add a `CMAKE_CODELITE_USE_TARGETS` option to use the targets instead.
* | | Merge topic 'cmake-server-basic-commands'Brad King2016-09-273-1/+213
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 89043267 server-mode: Add command to compute the build system 0a8ad670 server-mode: Add a configure command 544f65f4 server-mode: Set global configuration of cmake via a command 82104cc7 server-mode: Query global configuration of cmake via a command
| * | | server-mode: Add command to compute the build systemTobias Hunger2016-09-263-1/+27
| | | |
| * | | server-mode: Add a configure commandTobias Hunger2016-09-263-1/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a command to trigger cmake to configure a project. Keep this separate from the compute step (added in the next commit) to faciliate applications like cmake-gui.
| * | | server-mode: Set global configuration of cmake via a commandTobias Hunger2016-09-263-0/+46
| | | | | | | | | | | | | | | | | | | | "setGlobalSettings" can be used to change settings reported by "globalSettings" command.
| * | | server-mode: Query global configuration of cmake via a commandTobias Hunger2016-09-263-0/+47
| | |/ | |/| | | | | | | | | | | | | | | | Add "globalSettings" command that returns: * Return capability information * Return currently used generator/extra generator * Return a range of flags for debug/trace/etc.
* | | Merge topic 'update-kwsys'Brad King2016-09-271-16/+21
|\ \ \ | | | | | | | | | | | | | | | | | | | | 1798e495 Merge branch 'upstream-KWSys' into update-kwsys d15b7603 KWSys 2016-09-23 (80f820fc)
| * | | Merge branch 'upstream-KWSys' into update-kwsysBrad King2016-09-261-16/+21
| |/ / | | | | | | | | | | | | * upstream-KWSys: KWSys 2016-09-23 (80f820fc)
* | | Merge topic 'CPackNSIS-per-component-install'Brad King2016-09-272-6/+40
|\ \ \ | | | | | | | | | | | | | | | | 06dea230 CPack/NSIS: Add custom component install directory
| * | | CPack/NSIS: Add custom component install directoryRoman Wüger2016-09-262-6/+40
| | |/ | |/|
* | | Merge topic 'ninja-include-dir'Brad King2016-09-271-0/+12
|\ \ \ | | | | | | | | | | | | | | | | 144cc6f1 Ninja: Add source location as include directory for preprocessed files
| * | | Ninja: Add source location as include directory for preprocessed filesNils Gladitz2016-09-271-0/+12
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | Fortran INCLUDE statements are not handled by the preprocessor. Since the location of the preprocessed file is distinct from the original source file explicitly add the source file's directory as an include path in the actual compile step (not the preprocessing step) so INCLUDE can find it. Closes: #16332
* | | CMake Nightly Date StampKitware Robot2016-09-271-1/+1
|/ /
* | Merge topic 'auto-ptr'Brad King2016-09-264-1/+29
|\ \ | | | | | | | | | | | | | | | e6380b11 Use std::auto_ptr on compilers that do not warn about it 67480c05 Add a feature check to test availability of auto_ptr
| * | Use std::auto_ptr on compilers that do not warn about itDaniel Pfeifer2016-09-261-1/+9
| | |
| * | Add a feature check to test availability of auto_ptrDaniel Pfeifer2016-09-263-0/+20
| | |
* | | Merge topic 'tidy-server'Brad King2016-09-263-28/+53
|\ \ \ | | | | | | | | | | | | | | | | 92207752 cmServer: add braces around conditional statements
| * | | cmServer: add braces around conditional statementsDaniel Pfeifer2016-09-233-28/+53
| |/ /
* | | Merge topic 'ctest-no-manual-delete'Brad King2016-09-261-29/+18
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | b941f3bf CTest::CompressString: Avoid manual delete a5a7771a CTest::CompressString: Reorder code to avoid unnecessary allocation 6ed56457 CTest::Base64EncodeFile: Avoid manual delete
| * | | CTest::CompressString: Avoid manual deleteDaniel Pfeifer2016-09-231-10/+5
| | | |
| * | | CTest::CompressString: Reorder code to avoid unnecessary allocationDaniel Pfeifer2016-09-231-8/+7
| | | |
| * | | CTest::Base64EncodeFile: Avoid manual deleteDaniel Pfeifer2016-09-231-12/+7
| |/ /
* | | Merge topic 'xcode-swift-version'Brad King2016-09-261-0/+9
|\ \ \ | | | | | | | | | | | | | | | | | | | | b35568f3 Xcode: Add option to set Swift language version 49d50ad4 Xcode: Port rudimentary Swift support to Xcode 8
| * | | Xcode: Add option to set Swift language versionBrad King2016-09-261-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Create a new CMAKE_Swift_LANGUAGE_VERSION variable to specify the SWIFT_VERSION attribute in a generated Xcode project. Ideally this would be a `<LANG>_STANDARD` property but since Swift support is very minimal we should reserve that property for more complete treatment later. Issue: #16326
| * | | Xcode: Port rudimentary Swift support to Xcode 8Brad King2016-09-231-0/+3
| |/ / | | | | | | | | | | | | | | | The `.pbxproj` file must now specify a `SWIFT_VERSION` value. Set it to the legacy value of "2.3" for now. Later this can be made configurable (e.g. to "3.0").
* | | CMake Nightly Date StampKitware Robot2016-09-261-1/+1
| | |
* | | CMake Nightly Date StampKitware Robot2016-09-251-1/+1
| | |
* | | CMake Nightly Date StampKitware Robot2016-09-241-1/+1
|/ /
* | Merge topic 'ninja-fortran'Brad King2016-09-237-10/+885
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 33058150 Help: Document Ninja generator conditional Fortran support 59aae292 Ninja: Add dyndep rules for Fortran module dependencies 39ebfc79 Ninja: Add explicit preprocessing step for Fortran 9a77680e Ninja: Conditionally allow Fortran based on ninja 'dyndep' support 0f331d78 Ninja: Add internal tool to produce a ninja dyndep file for Fortran d3e0b64b Ninja: Add internal tool to scan Fortran code for module dependencies 8eca59a1 Ninja: Add comment with Fortran dependency design documentation a57d1bb7 Ninja: Add API to check for dyndep support 0488ae63 Ninja: Refactor ninja feature detection f0a23aa3 Ninja: Refactor Fortran rejection logic
| * | Ninja: Add dyndep rules for Fortran module dependenciesBrad King2016-09-222-1/+174
| | | | | | | | | | | | | | | Teach the Ninja generator to add dyndep rules and bindings as described in the design comment in `Source/cmGlobalNinjaGenerator.cxx`.
| * | Ninja: Add explicit preprocessing step for FortranBrad King2016-09-222-1/+170
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All Fortran sources need to be preprocessed before any source may be compiled so that module dependencies can be (later) extracted. Factor out an explicit preprocessing step preceding compilation. Use Ninja depfile dependencies on the preprocessing step and then compile the already-preprocessed source with a separate build statement that depends explicitly only on the preprocessor output. Later we will insert dynamic discovery of module dependencies between these steps.
| * | Ninja: Conditionally allow Fortran based on ninja 'dyndep' supportBrad King2016-09-222-4/+40
| | | | | | | | | | | | | | | Detect from the version of Ninja whether it supports the dynamically discovered dependencies (dyndep) feature needed to support Fortran.
| * | Ninja: Add internal tool to produce a ninja dyndep file for FortranBrad King2016-09-223-0/+236
| | | | | | | | | | | | | | | | | | | | | Create an internal `cmake -E cmake_ninja_dyndep` tool to read the "ddi" files generated by `cmake -E cmake_ninja_depends` from all sources in a target and generate a ninja dyndep file that tells Ninja about Fortran module dependencies within the target and on target dependencies.
| * | Ninja: Add internal tool to scan Fortran code for module dependenciesBrad King2016-09-222-0/+135
| | | | | | | | | | | | | | | | | | | | | | | | Create an internal `cmake -E cmake_ninja_depends` tool to scan an already-preprocessed Fortran translation unit for modules that it provides or requires. Save the information in a "ddi" file with a CMake-private format for intermediate dynamic dependency information. This file may the be loaded by another tool to be added later.
| * | Ninja: Add comment with Fortran dependency design documentationBrad King2016-09-221-0/+78
| | |