summaryrefslogtreecommitdiffstats
path: root/Source/CMakeLists.txt
Commit message (Collapse)AuthorAgeFilesLines
* cmake: Use a default CA path when not using system curlBrad King2015-01-231-0/+8
| | | | | | | | | | | | | | | | | | | | When using system curl, we trust it to be configured with desired CA certs. When using our own build of curl, we use os-configured CA certs on Windows and OS X. On other systems, try to achieve this by searching for common CA cert locations. According to a brief investigation, the curl packages on popular Linux distros are currently configured as: * Arch: /etc/ssl/certs/ca-certificates.crt * Debian with OpenSSL: /etc/ssl/certs * Debian with GNU TLS: /etc/ssl/certs/ca-certificates.crt * Debian with NSS: /etc/ssl/certs/ca-certificates.crt * Fedora: /etc/pki/tls/certs/ca-bundle.crt * Gentoo with OpenSSL: /etc/ssl/certs * Gentoo without OpenSSL: /etc/ssl/certs/ca-certificates.crt Teach CMake and CTest to look for these paths and use them as a CA path or bundle when no other os-configured or user-specified CAs are available.
* Merge topic 'cdash_upload_file_mode'Brad King2015-01-221-0/+1
|\ | | | | | | | | | | | | f3e0b6f1 CTestCoverageCollectGCOV: Add module to run gcov 6dd980e0 ctest_submit: Make CDASH_UPLOAD mode arguments more strict 5dc33f89 ctest_submit: Add CDASH_UPLOAD mode to upload files to CDash
| * ctest_submit: Add CDASH_UPLOAD mode to upload files to CDashBill Hoffman2015-01-201-0/+1
| | | | | | | | | | | | This adds support for the new cdash API where arbitrary files can be uploaded to the CDash server. This CDash API communicates via json files so the json parser jsoncpp was added to the Utilities directory.
* | Add option to build CMake against a system jsoncppBrad King2015-01-201-1/+1
|/ | | | Create a CMAKE_USE_SYSTEM_JSONCPP option.
* Merge topic 'cmake-labels-json'Brad King2015-01-201-1/+3
|\ | | | | | | | | | | | | 0238d0c3 cmake: Generate an internal 'Labels.json' file next to 'Labels.txt' bda4f0b6 jsoncpp: Add headers to help CMake include in-source jsoncpp headers a02fbec5 jsoncpp: Drop doxygen comments that cause Clang warnings
| * cmake: Generate an internal 'Labels.json' file next to 'Labels.txt'Brad King2015-01-201-1/+3
| | | | | | | | | | | | | | | | | | In each internal target directory we generate a "Labels.txt" file containing labels for that target and its sources, but it uses an internal format. In order to make the list of labels easier to publish, use a json format and call it "Labels.json". Since we now use jsoncpp headers, link CMakeLib to the jsoncpp library.
* | cmake: Teach "-E tar" command a "--mtime=" optionBrad King2015-01-191-0/+2
|/ | | | | | | | | | Add an option to set the mtime of entries in a tarball so that one can create a tarball with a consistent content hash (e.g. MD5) for a given set of files regardless of their current timestamps on disk. This will be useful for submission of tarballs to CDash, which tracks content hashes to avoid duplication. Inspired-by: Bill Hoffman <bill.hoffman@kitware.com>
* cmStandardIncludes: Remove obsolete cmOStringStream.Stephen Kelly2015-01-111-1/+0
|
* Mach-O: Add Mach-O parser for OS X and iOS.Clinton Stimpson2014-12-221-0/+10
| | | | | This parser also supports fat binaries which archive multiple Mach-O binaries.
* file: Add LOCK subcommand to do file and directory lockingRuslan Baratov2014-12-031-0/+6
| | | | | | | | | Provide options to fail without blocking or to block up to a timeout. Provide options to specify the scope containing the lock so it can be released automatically at the end of a function, file, or process. Extend the RunCMake.file test with cases covering the file(LOCK) command usage and error cases.
* CTest: Add Javascript coverage parserJoseph Snyder2014-10-291-0/+1
| | | | | | | Add a coverage parser for the Blanket.js library using the JSON output of the mocha.js test runner. Add a test for the new parser.
* Merge topic 'remove-borland-build'Brad King2014-10-211-1/+1
|\ | | | | | | | | 2db55ffa Remove borland workarounds.
| * Remove borland workarounds.Stephen Kelly2014-10-151-1/+1
| | | | | | | | | | CMake 3.0 is the last release to require to be able to build with Borland.
* | Merge topic 'ctest-delphi-coverage'Brad King2014-10-211-0/+1
|\ \ | |/ |/| | | | | 5c31c3e4 CTest: Add code coverage parser for Pascal/Delphi
| * CTest: Add code coverage parser for Pascal/DelphiJoseph Snyder2014-10-211-0/+1
| | | | | | | | | | | | | | | | Add a class to parse the HTML output of the Delphi-code-coverage tool http://code.google.com/p/delphi-code-coverage/ Add a test for the new parser.
* | Fix if() checks of CMAKE_SYSTEM_NAME on CygwinBrad King2014-09-111-1/+1
|/ | | | | | The CMAKE_SYSTEM_NAME is "CYGWIN", but we also define a variable named "CYGWIN" to "1". Avoid allowing if() to expand the "CYGWIN" string as a variable.
* StringUuid: Implement new string(UUID) sub-command.Nils Gladitz2014-08-281-0/+1
|
* Merge topic 'wix-acl'Brad King2014-08-111-2/+3
|\ | | | | | | | | | | 975dc871 Help: Add notes for topic 'wix-acl' 12418f5c CPackWIX: Implement CPACK_WIX_ACL (Access Control List) property
| * CPackWIX: Implement CPACK_WIX_ACL (Access Control List) propertyNils Gladitz2014-08-091-2/+3
| |
* | CPackIFW: Refactor and revise this generatorKonstantin Podsvirov2014-08-111-1/+3
|/ | | | | | | | | | | | | Split the monolithic cmCPackIFWGenerator source into three parts: cmCPackIFWGenerator, cmCPackIFWInstaller, and cmCPackIFWPackage to isolate the implementations somewhat. Add a COMMON option to the cpack_ifw_configure_component command to make the data component common to its parent group. Change the default packaging method to ONE_PACKAGE_PER_COMPONENT. This is not incompatible because the CPack IFW generator has not yet been in a release.
* CPack: add generators for .7z and .tar.xz (#13072, #14519)Daniel Pfeifer2014-07-291-0/+2
|
* CPack: Add an "IFW" generator for Qt Framework InstallerKonstantin Podsvirov2014-07-281-0/+1
| | | | | | | | Add support for packaging with the Qt Framework Installer tools: http://qt-project.org/doc/qtinstallerframework/index.html Reviewed-by: Nils Gladitz <nilsgladitz@gmail.com>
* VS14: Add Visual Studio 14 generator (#14982)Brad King2014-06-251-0/+2
| | | | | | | | | | | | | | | | Call the generator "Visual Studio 14" without any year because this version of VS does not provide a year in the product name. Copy cmGlobalVisualStudio12Generator to cmGlobalVisualStudio14Generator and update version numbers accordingly. Add the VS14 enumeration value. Teach the platform module Windows-MSVC to set MSVC14 and document the variable. Teach module InstallRequiredSystemLibraries to look for the VS 14 runtime libraries. Teach tests CheckCompilerRelatedVariables, VSExternalInclude, and RunCMake.GeneratorToolset to treat VS 14 as they do VS 10, 11, and 12. Co-Author: Pawel Stopinski <diokhan@go2.pl>
* CTest: Add Jacoco Coverage functionalityJoseph Snyder2014-06-121-0/+1
| | | | | | | | Add the ability to parse the XML output of the Jacoco tool. Jacoco (www.eclemma.org/jacoco) is a Java coverage tool. Add and integrate a class for the parser and include a test which utilizes the new parser.
* CTest: Rename coverage implementation for "Python" to "Cobertura"Joseph Snyder2014-06-041-1/+1
| | | | | | The coverage.py tool writes out an XML that conforms to the Cobertura Coverage tool standard. Rename the cmParsePythonCoverage files to instead be cmParseCoberturaCoverage.
* Add an "installed file" property scopeNils Gladitz2014-05-281-0/+4
| | | | | | | Teach set_property and get_property an "INSTALL" property type to be associated with install-tree file paths. Make the properties available to CPack for use during packaging. Add a "prop_inst" Sphinx domain object type for documentation of such properties.
* Add target_compile_features command.Stephen Kelly2014-04-071-0/+1
| | | | | | | | | | | This can be used to set the compiler features required by particular targets. An error is issued at CMake time if the compiler does not support the required feature. If a language dialect flag is required by the features used, that will be added automatically. Base the target_compile_features command on cmTargetPropCommandBase. This gives us 'free' handling of IMPORTED, ALIAS, INTERFACE, non-compilable and missing targets.
* target_sources: New command to add sources to target.Stephen Kelly2014-04-021-0/+1
|
* Haiku: Enable CMake builtin ELF editorAdrien Destugues2014-03-211-0/+18
| | | | Co-Author: Brad King <brad.king@kitware.com>
* Watcom: Enable 'WMake Makefiles' generator on LinuxJiri Malak2014-03-171-1/+9
|
* Encoding: Provide option to configure CMake to use UTF-8 encoding.Clinton Stimpson2014-03-141-0/+5
|
* CPackWIX: refactor and cleanupNils Gladitz2014-02-261-0/+4
| | | | | Extract addtional classes and functions which are getting unsightly large. Use some of the coding conventions more consistently.
* CMakeLists: Generate the cmCommands.cxx file.Stephen Kelly2014-02-091-1/+45
| | | | | | | | | | | | Define the list of commands in the CMakeLists.txt file. List the sources in the CMakeLib target, but mark them as HEADER_FILE_ONLY. This has the effect that IDEs will show the files, though they will not be built again. Add a cmCommandsForBootstrap.cxx file for bootstrapping purposes. Rename the cmExportLibraryDependencies file to match the common pattern.
* Add support for codelite IDE project flesEran Ifrah2014-01-101-0/+2
|
* CPackWiX: allow customization of generated WiX sourcesNils Gladitz2013-12-171-0/+1
| | | | | | Added a new variable CPACK_WIX_PATCH_FILE that users can point at an XML patch file. Fragments defined within the patch file will be inserted at supported insertion points (currently Component, File and Directory).
* kate: add project generator for the Kate project pluginAlex Neundorf2013-11-251-0/+2
| | | | | | | This patch adds an extra generator for KDE's kate text editor, or better more specifically, the project plugin. Alex
* Refactor internal resource location APIs and initializationBrad King2013-11-121-0/+6
| | | | | | | | | | | | | | | | | | | | Rename cmSystemTools::FindExecutableDirectory to FindCMakeResources. Teach it to compute the locations of cmake, ctest, cpack, ccmake, and cmake-gui executables, and the location of CMAKE_ROOT. Provide this information from static cmSystemTools::Get<resource>() methods. Refactor code that needs these locations to use the new APIs. Teach FindCMakeResources to use the OS X system API to lookup the executable location. When running from the CMake build tree itself, leave a file in the tree that FindCMakeResources can use to read the location of the source tree. This avoids the need to compile the source tree location into a binary that may be installed and used without the source tree. Teach the QtDialog on OS X to create a "cmake-gui" symlink in the build tree next to "cmake" and the other tools, as is already done in the install tree for the application bundle. This ensures a consistent set of executables are available in one directory.
* Merge topic 'Qt-auto-generators'Brad King2013-10-281-2/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9c87d9c Add automatic rcc invocation for Qt. 84218e1 Add automatic uic invocation for Qt. 94a0ca6 Record which files are skipped by automoc. 18fb758 Run the main executable created in the autogen tests. e485ba1 Rename the QtAutomoc tests to QtAutogen. 7ce65c3 Add extra checks for the AUTOMOC target property. 32771fc Update output messages for generic use. f371ab5 Rename RunAutomoc to RunAutogen. 85b3d6e Extract an SetupAutoMocTarget method. ca124a1 Rename the AutomocInfo.cmake file to be more generic. a342c9f Move some makefile definitions up away from moc-specific code. 98632ef Add the AUTOGEN_TARGETS_FOLDER and obsolete AUTOMOC_TARGETS_FOLDER. 63378ba Rename some variables to reflect broader scope. 97f1aa3 Rename method to reflect generic use. 4abb111 Rename local variable to reflect generic use. 03878c9 Move variable set to where it is used. ...
| * Rename the cmQtAutomoc class to cmQtAutoGenerators.Stephen Kelly2013-10-241-2/+2
| | | | | | | | It will be extended to process .ui and .qrc files too.
* | ctest_update: Add support for Perforce p4 clientPedro Navarro2013-10-261-0/+2
|/ | | | | | | | | | | Teach the ctest_update implementation to use the p4 command-line client to perform updates and extract the list of changes. Add a CTest.UpdateP4 test like those that exist already for the other version control tools. Make the test available when p4 and the p4d server are found. During the test launch p4d in the background to serve a repository from the test directory. Then direct the client toward this server for the duration of the test.
* Merge topic 'remove-cmake-i-wizard'Brad King2013-10-221-2/+0
|\ | | | | | | | | a8226e9 cmake: Drop support for "-i" wizard mode
| * cmake: Drop support for "-i" wizard modeBrad King2013-10-181-2/+0
| | | | | | | | | | Tell users to pass cache values with the -D option on the command line or use cmake-gui or ccmake.
* | cmSystemTools: Drop old RunCommand methodBrad King2013-10-191-12/+0
|/ | | | | All calls to this method have been replaced by newer infrastructure. Remove it and the supporting cmWin32ProcessExecution class.
* Drop builtin command documentationBrad King2013-10-161-2/+0
| | | | | Drop all GetTerseDocumentation and GetFullDocumentation methods from commands. The command documentation is now in Help/command/*.rst files.
* Drop builtin property documentationBrad King2013-10-161-3/+0
| | | | | | Drop all DefineProperty calls for non-chained properties. Drop the documentation from the chained ones. The documentation for all properties is now in Help/prop_*/*.rst files.
* Drop all documentation formatters except UsageBrad King2013-10-161-6/+0
| | | | | | | | We now need only the Usage formatter to support command-line options that print basic usage, and the supporting indented=>preformatted markup processor to support CMake message formatting. Drop all other documentation formatters and move the remaining code up into the top cmDocumentationFormatter class.
* Add class cmRST to do basic reStructuredText processingBrad King2013-10-161-0/+2
| | | | | | | | | | | | | | | | Create a cmRST class to perform just enough reStructuredText processing to support display of Help documents in human-readable text format. This will be used to implement --help-* command-line options. Support directives "include", "replace", "parsed-literal", "toctree" (Sphinx), and "cmake-module" (CMake Sphinx Extension to scan .cmake modules). Support inline CMake Sphinx Domain roles to convert cross-references to corresponding title text. Support inline substitutions defined by the "replace" directive, but keep it simple by requiring replacements to be defined before use. Add a CMakeLib "testRST" case to cover processing of supported constructs and compare results against expected output.
* Drop "full" documentation output typesBrad King2013-10-151-1/+0
| | | | | | | | | | | | | | | | We will no longer support full documentation generation from executables and will instead generate documentation with other tools. Disable (with a warning left behind) the command-line options: --copyright --help-compatcommands --help-full --help-html --help-man Drop supporting code. Drop manual sections generation from executables. Remove internal documentation construction APIs. Drop unused sections See Also, Author, Copyright, Compat Commands, Custom Modules.
* Add reStructuredText (RST) documentation formatterBrad King2013-10-151-0/+1
| | | | | | | | | | | | | | | | | | | | Temporarily add a RST formatter to convert builtin documentation to .rst source files. This will be removed shortly after we use it to convert documentation. Teach the RST formatter to: * Output preformatted blocks as reStructuredText "::" literal blocks. * Output option lists as bullet lists with option names enclosed in reStructuredText ``literal`` quoting. * Output individual documentation objects (commands, variables, etc.) in separate .rst files organized in directories by type. Replace references to cmVersion::GetCMakeVersion() in builtin documentation with the literal placeholder "|release|" that will be defined as a substitution later.
* Merge topic 'Add-coverage.py-Coverage'Brad King2013-10-081-0/+1
|\ | | | | | | | | d0ec3a0 Adding support for the Python coverage.py tool.