summaryrefslogtreecommitdiffstats
path: root/Source/CMakeLists.txt
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'sparc-libatomic'Brad King2017-01-161-0/+9
|\ | | | | | | | | cda9a904 Explicitly link against libatomic on Linux/sparc for `__atomic_fetch_add_4`
| * Explicitly link against libatomic on Linux/sparc for `__atomic_fetch_add_4`Rolf Eike Beer2017-01-091-0/+9
| | | | | | | | | | On this platform atomic instructions are implemented using `libatomic` so we need to link it to use them.
* | VS: Add helper class to interact with Visual Studio InstallerIyyappa Murugandi2016-12-161-0/+2
|/ | | | | | VS 2017 exports a COM component which can be queried to find if VS 2017 is installed and also other components such as VC toolset and Windows SDKs. Add a helper class to interact with this interface.
* QtAutogen: Use checksum based subdirectories to avoid name collisionsSebastian Holtermann2016-12-071-2/+2
|
* Combine all unexpected commands to a single classDaniel Pfeifer2016-11-291-14/+2
|
* Merge topic 'initial_cuda_language_support'Brad King2016-11-291-0/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4cc601f2 Help: Add release note for CUDA support 7b9131da CUDA: Add tests to verify CUDA compiler works properly. 9cf5b98d CUDA: Prefer environment variables CUDACXX and CUDAHOSTCXX. a5e806b3 CUDA: Add support for CMAKE_CUDA_COMPILE_OPTIONS_VISIBILITY d038559e CUDA: Add separable compilation support to the makefile generator. 43ce4414 CUDA: Add separable compilation support to the ninja generator. 4b316097 CUDA: Add support for the CUDA_SEPARABLE_COMPILATION target property ae05fcc6 CUDA: Add LinkLineComputer that computes cuda dlink lines. 115269a8 CUDA: Refactor cmLinkLineComputer to allow for better derived children. 5dec4031 CUDA: Refactor CMakeCUDAInformation to prepare for separable compilation. 5b20d0ab CUDA: C++ compile features now enable cuda c++11 support. 489c52ce CUDA: Use the host compiler for linking CUDA executables and shared libs. bbaf2434 CUDA: add support for specifying an explicit host compiler. a92f8d96 CUDA: Enable header dependency scanning. ec6ce623 CUDA: State that cuda has preprocessor output and can generate assembly. 4f5155f6 CUDA: We now properly perform CUDA compiler identification. ...
| * CUDA: Add LinkLineComputer that computes cuda dlink lines.Robert Maynard2016-11-141-0/+2
| |
* | Add cmProcessOutput class to be used for decoding text dataDāvis Mosāns2016-11-141-0/+5
|/ | | | | This allows to decode text data we receive from external process which uses external encoding to our internal encoding.
* Remove unused cm_sha2 infrastructureBrad King2016-11-101-2/+0
| | | | | All clients of `cm_sha2` have been ported to `cmCryptoHash`, which now uses librhash internally.
* librhash: Build the library within CMakeBrad King2016-11-101-0/+1
| | | | | | | | Update `ustd.h` to include KWSys Large File Support configuration so that consistent stream libraries are used (on AIX with XL). Add a `cm_rhash.h` header to include the CMake-provided copy of the `rhash.h` header from CMake sources.
* VS: Choose flag map based on the toolset nameDon Olmstead2016-10-251-0/+2
| | | | | | | | | MSBuild interprets the `.vcxproj` content based on the `PlatformToolset` setting, so our reverse mapping needs to be based on that setting too. For VS 2010 and above, choose the flag map to match the toolset name rather than the generator VS version. Issue: #16153
* cmCommand: implement functions in cxx fileDaniel Pfeifer2016-10-211-0/+2
|
* Create all commands from a single functionDaniel Pfeifer2016-10-211-45/+64
|
* Separate compilation for commands included in cmBootstrapCommands2Daniel Pfeifer2016-10-211-0/+88
|
* Separate compilation for commands included in cmBootstrapCommands1Daniel Pfeifer2016-10-211-0/+83
|
* Separate compilation for commands included in cmCommandsDaniel Pfeifer2016-10-211-10/+5
|
* cmState: Split auxiliary classes into separate filesStephen Kelly2016-10-191-0/+4
| | | | | | | Port dependents to the new locations as needed. Leave behind a cmState.h include in cmListFileCache to reduce noise. It is removed in a following commit.
* cmState: Port dependents to new cmStateTypes headerStephen Kelly2016-10-191-0/+1
|
* Merge topic 'extract-computed-target-properties'Brad King2016-10-171-0/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cef59bb8 cmTarget: Implement GetProperty in terms of cmState::Snapshot 0d57b07a cmTarget: Group code for checking written properties together c3fb0d95 cmTarget: Move sanity checks and computed property access to callers fa9dbc56 cmGeneratorTarget: Implement cmTargetPropertyComputer interface 848ae2a6 cmTargetPropertyComputer: Template some methods on the Target a0a720e6 cm{,Generator}Target: Add global generator accessors 637e3f3e cmTargetPropertyComputer: Unify whitelist handling from cmTarget 05251e6d cmTargetPropertyComputer: Move whitelist check from cmTarget fbf1721c cmTargetPropertyComputer: Extract into new files 390a7d86 cmTargetPropertyComputer: Implement GetProperty without cmMakefile e32a6bdd cmListFileBacktrace: Add a method to retrieve the Bottom of a snapshot 7863fba1 cmTarget: Extract GetLocation method 8096682e cmTarget: Extract GetSources method 7d57c1a2 cmTarget: Extract location computation methods a55cac4b cmTarget: Split property computation into separate class 705fcf52 cmTarget: Move IMPORTED check to callers ...
| * cmTargetPropertyComputer: Extract into new filesStephen Kelly2016-10-151-0/+2
| |
* | cmRulePlaceholderExpander: Extract from cmLocalGeneratorStephen Kelly2016-10-151-0/+2
|/ | | | | Implement cmLocalGenerator::ExpandRuleVariables in terms of the new class for source compatibility and to reduce diff noise in this commit.
* cmLinkLineComputer: Extract from cmLocalGeneratorStephen Kelly2016-10-101-0/+6
| | | | | | | | | | | CMake has several classes which have too many responsibilities. cmLocalGenerator is one of them. Start to extract the link line computation. Create generator-specific implementations of the interface to account for generator-specific behavior. Unfortunately MSVC60 has different behavior to everything else and CMake still generates makefiles for it. Isolate it with MSVC60-specific names.
* codecvt: Add class for encoding conversionDāvis Mosāns2016-10-061-0/+2
| | | | | | Add a `codecvt` class that can be used as facet for locale so that it's possible to convert from internal UTF-8 encoding to other encodings such as Windows ANSI codepage.
* Merge topic 'cmake-server-filewatcher'Brad King2016-09-301-0/+1
|\ | | | | | | | | | | | | 4e34f042 server-mode: Watch CMakeLists.txt files 26250002 server-mode: Report watched files to client 0d96e193 server-mode: Add infrastructure to watch the filesystem
| * server-mode: Add infrastructure to watch the filesystemTobias Hunger2016-09-291-0/+1
| | | | | | | | | | | | | | Enable the server to watch for filesystem changes. This patch includes * The infrastructure for the file watching * makes that infrastructure available to cmServerProtocols * Resets the filesystemwatchers on "configure"
* | server-mode: Rename variable CMake_{HAVE => ENABLE}_SERVER_MODEBrad King2016-09-291-1/+1
|/ | | | The latter is a better name for making it a public-facing option.
* Simplify CMake per-source license noticesBrad King2016-09-271-11/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* server-mode: Introduce cmServerConnectionTobias Hunger2016-09-221-0/+1
| | | | | | | | Use it to split pipe and stdin/out handling out of cmServer itself. The server will shut down when it looses its connection to the client. This has the nice property that a crashing client will cause the server to terminate as the OS will close the connection on behave of the client.
* cmake-server: Bare-bones server implementationTobias Hunger2016-09-191-0/+11
| | | | | | | | | | | | | | | Adds a bare-bones cmake-server implementation and makes it possible to start that with "cmake -E server". Communication happens via stdin/stdout for now. Protocol is based on Json objects surrounded by magic strings ("[== CMake Server ==[" and "]== CMake Server ==]"), which simplifies Json parsing significantly. This patch also defines an interface used to implement different versions of the protocol spoken by the server, but does not include any protocol implementaiton.
* Add support for creating prebuilt Android.mk filesBill Hoffman2016-09-131-0/+4
| | | | | | | | | | | Add options to the `install()` and `export()` commands to export the targets we build into Android.mk files that reference them as prebuilt libraries with associated usage requirements (compile definitions, include directories, link libraries). This will allow CMake-built projects to be imported into projects using the Android NDK build system. Closes: #15562
* VS15: Add Visual Studio 15 generatorBrad King2016-09-071-0/+2
| | | | | | | | | | | | | | | | Call the generator "Visual Studio 15" without any year because the preview version of VS 15 does not provide a year in the product name. Copy cmGlobalVisualStudio14Generator to cmGlobalVisualStudio15Generator and update version numbers accordingly. Add the VS15 enumeration value. Note that we do not need to add a MSVC15 variable or v150 toolset because Visual Studio 15 comes with an updated version of the v140 toolset and remains ABI-compatible. Teach tests VSExternalInclude, RunCMake.GeneratorPlatform, and RunCMake.GeneratorToolset to treat VS 15 as they do VS 10-14. Closes: #16143
* Add cmBase32Encoder classSebastian Holtermann2016-09-021-0/+1
|
* libuv: Build the library within CMakeBrad King2016-08-311-0/+1
| | | | | | | | | | | Take logic from upstream `Makefile.am` and `configure.ac` to build libuv sources. Update `uv.h` to include KWSys Large File Support configuration so that consistent stream libraries are used (on AIX with XL). Add a `cm_uv.h` header to include the CMake-provided copy of the `uv.h` header from CMake sources.
* cmMessenger: Extract from cmake classStephen Kelly2016-08-251-0/+2
| | | | | | | | This way messages can be issued independent of the cmake instance. It is now possible to make DisplayMessage a virtual interface and override it to handle messages in the cmake-gui or future IDE interaction interfaces.
* Define WIN32_LEAN_AND_MEAN for CMake sources on WindowsBrad King2016-08-171-1/+4
| | | | | This reduces APIs included by `windows.h`. We can include the headers for those APIs as needed.
* Added CMake_BUILD_DEVELOPER_REFERENCE optionKonstantin Podsvirov2016-08-161-0/+9
| | | | | | | | By default is OFF and marked as advanced. It's also add custom cmake-developer-reference (ALL) target Generated output will be installed to ${CMAKE_DOC_DIR}/developer-reference.
* cmFilePathUuid: Add class to generate deterministic unique file namesSebastian Holtermann2016-08-101-0/+2
| | | | | The class generates a semi-unique (checksum based) pathless file name from a full source file path.
* CMake: install COMPONENT cmcldepsKonstantin Podsvirov2016-07-131-7/+11
| | | | Added in Tools group with IFW installer
* Avoid using KWSys auto_ptr by adopting it ourselvesBrad King2016-06-291-0/+1
| | | | | | | | | | | | Replace use of cmsys::auto_ptr with a CM_AUTO_PTR macro that maps to our own implementation adopted from the KWSys auto_ptr implementation. Later we may be able to map CM_AUTO_PTR to std::auto_ptr on compilers that do not warn about it. Automate the client site conversions: git grep -l auto_ptr -- Source/ | grep -v Source/kwsys/ | xargs sed -i \ 's|cmsys::auto_ptr|CM_AUTO_PTR|;s|cmsys/auto_ptr.hxx|cm_auto_ptr.hxx|'
* Merge topic 'productbuild'Brad King2016-06-061-0/+2
|\ | | | | | | | | | | | | 63e5eb5f Help: Add notes for 'productbuild' topic 2e3c67d1 productbuild: Add new productbuild cpack generator. 50a3d340 PackageMaker: factor out common code for creating pkg files.
| * productbuild: Add new productbuild cpack generator.Clinton Stimpson2016-06-031-0/+1
| | | | | | | | This cpack generator basically replaces the obsolete PackageMaker generator.
| * PackageMaker: factor out common code for creating pkg files.Clinton Stimpson2016-06-021-0/+1
| |
* | Add option to control 'bin' directory of CMake's own installation (#16076)Nicolas BUNEL2016-06-011-1/+1
|/ | | | | Add a `CMAKE_BIN_DIR` cache entry to CMake's own build configuration. Add a `--bindir` option to the `bootstrap` script to set it.
* CPackIFW: Add support for Promoting UpdatesKonstantin Podsvirov2016-05-181-0/+1
| | | | | | | | Add support for this feature added by QtIFW 2.0.3: http://doc.qt.io/qtinstallerframework/ifw-updates.html Add a `cpack_ifw_update_repository` command as porcelain.
* Merge topic 'cpack-osx-optional-CoreServices'Brad King2016-03-211-1/+14
|\ | | | | | | | | d84ba668 CPack: Avoid using OS X CoreServices if compiler fails on header (#16021)
| * CPack: Avoid using OS X CoreServices if compiler fails on header (#16021)Brad King2016-03-181-1/+14
| | | | | | | | | | | | Some compilers on OS X report errors in the CoreServices framework headers. Check for support of the header ahead of time and compile the relevant code only when the header is available.
* | Merge topic 'cpack-osx-no-carbon'Brad King2016-03-181-1/+1
|\ \ | |/ | | | | | | c718070c CPack: Avoid requiring Carbon framework on OS X (#16021)
| * CPack: Avoid requiring Carbon framework on OS X (#16021)Sean McBride2016-03-171-1/+1
| | | | | | | | | | | | | | | | | | | | In commit v3.5.0-rc1~232^2 (CPackDMG: Add support for multilingual SLAs, 2015-10-19) we added use of the Carbon framework in order to get access to its APIs to convert Script Manager RegionCode values. This is not necessary. Instead we can use CoreServices. While at it, replace individual CoreFoundation includes with including the entire framework, which is the correct way.
* | Drop Visual Studio 6 generatorBrad King2016-03-091-4/+0
|/ | | | | | This generator has been deprecated since CMake 3.3. Remove it. Update documentation, modules, and tests to drop content specific to this generator.
* Add option to use a system-installed KWIMLBrad King2015-12-181-0/+1
| | | | | Do not activate it with the general use-system-libs options for now because KWIML is not commonly distributed or available.