summaryrefslogtreecommitdiffstats
path: root/Source/CMakeLists.txt
Commit message (Collapse)AuthorAgeFilesLines
* cmBuildOptions: Split build arguments into separate object.Carsten Rudolph2022-01-221-0/+1
|
* Merge topic 'cmake-presets-include'Brad King2022-01-101-4/+7
|\ | | | | | | | | | | | | | | | | | | | | 26a5512c0f CMakePresets: Add include field a239f23a98 Refactor: Generalize file graph in CMakePresets 84d440caac Refactor: Split JSON processing into configure, build, and test presets fd6ea2f67f Refactor: Rename cmCMakePresetsFile to cmCMakePresetsGraph Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !6829
| * Refactor: Split JSON processing into configure, build, and test presetsKyle Edwards2022-01-061-0/+3
| | | | | | | | Split up the file so that it won't be too big on some systems.
| * Refactor: Rename cmCMakePresetsFile to cmCMakePresetsGraphKyle Edwards2022-01-061-4/+4
| | | | | | | | And change all references to "file" to say "graph" instead.
* | Refactor VsProjectType to its own headerSumit Bhardwaj2021-12-231-0/+1
|/ | | | | Move VsProject to its own header so that we can consolidate IsManaged and IsCSharp.
* CPack: Remove undocumented deprecated OSXX11 generatorBrad King2021-11-051-8/+0
| | | | | | | | This CPack generator was never documented, and has been deprecated since commit 2ed00e8ef8 (CPack: Deprecate OSXX11 generator, 2020-01-31, v3.17.0-rc1~45^2). Issue: #20235
* install(TARGETS): Add FILE_SET modeKyle Edwards2021-10-271-0/+2
|
* cmTarget: Add cmFileSet and associated propertiesKyle Edwards2021-10-271-0/+2
|
* Rename cmProp in cmValueMarc Chevrier2021-09-211-1/+2
|
* Merge topic 'darwin-wmake-jwasm-support'Brad King2021-08-251-1/+1
|\ | | | | | | | | | | | | | | | | bf09145eb0 Enable Watcom WMake generator on Darwin 78f758a463 Use dashes for MASM flags Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !6472
| * Enable Watcom WMake generator on DarwinBradley Bell2021-08-211-1/+1
| | | | | | | | | | Open Watcom v2 runs on Mac OS and is useful there for doing cross-compilation.
* | Merge topic 'revert-autouic-header-depends'Brad King2021-08-241-2/+0
|\ \ | |/ |/| | | | | | | | | | | d2a6e160aa AUTOUIC: Revert "Fix generating of dependency rules for UI header files" Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !6465
| * AUTOUIC: Revert "Fix generating of dependency rules for UI header files"Brad King2021-08-191-2/+0
| | | | | | | | | | | | | | | | | | | | Revert commit e5ec0e52f4 (AUTOUIC: Fix generating of dependency rules for UI header files, 2021-07-22, v3.21.1~8^2) because it caused regressions. For example, changing one C++ source can now cause many others to rebuild. Revert the change pending further investigation. Fixes: #22531 Issue: #16776
* | cmProp: refactoring: transform alias in classMarc Chevrier2021-08-081-0/+1
| | | | | | | | | | | | To handle safely the values used by CMake variables and properties, introduce the class cmProp as a replacement from the simple pointer to std::string instance.
* | Merge topic 'autouic-header-depends'Brad King2021-07-261-0/+2
|\ \ | |/ | | | | | | | | | | e5ec0e52f4 AUTOUIC: Fix generating of dependency rules for UI header files Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6380
| * AUTOUIC: Fix generating of dependency rules for UI header filesAlexey Edelev2021-07-231-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We could not rely on .ui files when generating the ninja rules for the generated UI header files. .ui files might be added to the target sources but never processed by AUTOUIC afterward, since UI header files are never included in a source code. Instead of adding dependency rules based on the .ui files, this approach scans non-generated source files for includes of the UI header files, as AUTOUIC does. This gives the consistent set of UI header files at configure time, that could be used to generate byproducts rules for the AUTOUIC. Also, the path to the generated UI header file depends not on the .ui file location but on the include line is used in source files. Fixes: #16776
* | ctest: support <CTestMeasurement> for runtime measurementsZack Galbreath2021-07-011-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Teach CTest to parse output for <CTestMeasurement> in addition to <DartMeasurement> for measurements defined at runtime. Use a new class (cmCTestTestMeasurementXMLParser) derived from cmXMLParser to parse the data and attributes these XML elements. This is an improvement over our previous approach of using a series of regular expressions. As part of this commit we also rename some member variables and methods to make their purpose more clear. DartStuff -> AllTestMeasurementsRegex DartStuff1 -> SingleTestMeasurementRegex DartString -> TestMeasurementsOutput GenerateDartOutput() -> GenerateCTestXML() GenerateRegressionImages() -> RecordCustomTestMeasurements() cmCTestRunTest::DartProcessing() -> ParseOutputForMeasurements()
* | cmELF: Include the ELF parsing code unconditionallyAlex Richardson2021-06-241-8/+2
| | | | | | | | | | Now that the ELF definitions are provided on all platforms there is no need to keep the CMake_USE_ELF_PARSER option.
* | cmELF: Allow building without system ELF headersAlex Richardson2021-06-241-30/+2
|/ | | | | | | | | | | | | | | | | | | | Use ELF headers vendored in `Utilities/cmelf` to get the ELF constants and types. Using the same ELF definition header for all compilation targets allows removing some #ifdefs depending on the host OS since we know all required ELF constants will always be present. To reduce the size of this commit, the CMake_USE_ELF_PARSER definite will be removed in a separate commit. This allows me to use CMAKE_BUILD_WITH_INSTALL_RPATH=False and the Ninja generator on macOS, whereas before it would always give me the following error message (despite cross-compiling for an ELF-based platform): ``` The install of the <name> target requires changing an RPATH from the build tree, but this is not supported with the Ninja generator unless on an ELF-based platform. The CMAKE_BUILD_WITH_INSTALL_RPATH variable may be set to avoid this relinking step. ```
* install(TARGETS): Add RUNTIME_DEPENDENCIES optionKyle Edwards2021-06-041-0/+4
|
* Source: Add cmInstallRuntimeDependencySetKyle Edwards2021-06-041-0/+2
|
* install(): Add IMPORTED_RUNTIME_ARTIFACTS modeKyle Edwards2021-05-311-0/+2
|
* cmMessenger: Pass title inside a metadata structureMarius Messerschmidt2021-05-191-0/+1
|
* MSYS: Add support for running under MSYS runtime environmentOrgad Shaneh2021-04-261-1/+1
| | | | Detect MSYS as CYGWIN, with the required adaptations.
* Refactor: Move some common code into separate fileKyle Edwards2021-03-191-0/+1
| | | | | | This code is going to be needed by both cmCMakePresetsFile and cmCMakePresetsFileReadJSON when the upcoming condition types are created. Move it into a header file.
* Refactor: Move cmCMakePresetsFile::ReadJSON into a separate fileKyle Edwards2021-03-191-0/+1
| | | | | | Some compilers complain about translation units that are too large. In order to prepare for upcoming additions to cmCMakePresetsFile, split ReadJSON into a separate file.
* cmGlobalVisualStudio10Generator: Adopt flag table name methodsBrad King2021-03-051-2/+0
| | | | Migrate them from `cmVisualStudio10ToolsetOptions`.
* cmXCOFF: Add helper to parse and edit the XCOFF binary formatBrad King2021-02-031-0/+10
|
* Rename CMAKE_USE_MACH_PARSER to CMake_USE_MACH_PARSERBrad King2021-02-031-2/+2
| | | | We use the `CMake_` prefix for options affecting CMake itself.
* Rename CMAKE_USE_ELF_PARSER to CMake_USE_ELF_PARSERBrad King2021-02-031-5/+5
| | | | We use the `CMake_` prefix for options affecting CMake itself.
* cmake: Reduce default recursion depth when compiling with IntelLLVMBrad King2021-01-281-0/+2
| | | | | | This compiler makes stack frames large enough (at least in Debug builds) that CMake language recursion to depth 1000 overflows the stack. Reduce the limit for this compiler.
* cmFileAPI: Add "toolchains" object kind.Ben McMorran2021-01-121-0/+2
| | | | Fixes #19514
* add_custom_{command,target}: Add genex support to OUTPUT and BYPRODUCTSBrad King2020-12-111-2/+0
| | | | | | | | | Move rejection of `#`, `<`, and `>` characters in outputs and byproducts to a generate-time check. This removes the front-end check that disallowed generator expressions. The generators have already been updated to handle them. Fixes: #12877
* Merge topic 'makefiles-compiler-deps-optims'Brad King2020-11-301-0/+2
|\ | | | | | | | | | | | | | | | | | | | | | | 2c71d051fa Makefiles Generators: use compiler for dependencies generation afd0f6785d Refactoring: Abstract Makefile line continuation format b6068ce407 Refactoring: enhance include file filtering 3401403f69 Refactoring: Introduce place-holder for dependency target. a97c41bf8b Refactoring: Makefiles Generators: Add support for various depends scanners Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Brad King <brad.king@kitware.com> Merge-request: !5528
| * Makefiles Generators: use compiler for dependencies generationMarc Chevrier2020-11-291-0/+2
| | | | | | | | | | | | | | | | | | | | | | Each source compilation generates a dependencies file. These dependencies files are consolidated in one file per target. This consolidation is done as part of command 'cmake -E cmake_depends` launched before evaluation of makefile dependency graph. The consolidation uses the same approach as `CMake` dependencies management. Fixes: #21321
* | Merge topic 'enable-extensions-on-qnx'Brad King2020-11-301-3/+6
|\ \ | |/ |/| | | | | | | | | 34f6d76755 QNX: Do not disable compiler extensions for CMake itself Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5537
| * QNX: Do not disable compiler extensions for CMake itselfStephen Kelly2020-11-251-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `set(CMAKE_CXX_EXTENSIONS FALSE)` option has the effect of passing compile option `-std=c++NN` instead of `-std=gnu++NN`. On some platforms, the latter form (or the secondary effects that it has, such as setting _XOPEN_SOURCE) is required. This typically affects platforms such as mingw, cygwin and QNX. The GNU-like compiers default to `-std=gnu++NN`, which means that users can typically build source code on those platforms by default. While the `set(CMAKE_CXX_EXTENSIONS FALSE)` option was set here in commit f034b0f6 (CMake compilation: do not use compiler extensions, 2020-03-14), the other changes in that commit added `#defines` which become required in the absense of use of `-std=gnu++NN`. However, only platforms regularly tested in the cmake dashboard were ported, as is reasonable. That made CMake fail to compile on QNX and perhaps other platforms which for which no one is submitting regular testing to the cmake dashboard. Make the `set(CMAKE_CXX_EXTENSIONS FALSE)` option conditional on non-QNX to restore the QNX build. Issue: #21503
| * cmake_path: remove new command from 3.19Marc Chevrier2020-11-031-2/+0
| | | | | | | | | | | | | | Defer adding this command until post-3.19 development so that it has more time to mature before being included in a release. Issue: #21385
| * Merge topic 'cmake-E-cat-binary' into release-3.19Brad King2020-10-151-0/+2
| |\ | | | | | | | | | | | | | | | | | | | | | | | | f7a5f28318 cmake: Fix '-E cat' command for binary files on Windows 90b39a5209 cmConsoleBuf: Factor out cout/cerr console buffer management f1fdd15863 clang-format: Fix include block order in ctest.cxx and cpack.cxx Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5364
* | | cmScanDepFormat: add reader and writer for the format from P1689R2Ben Boeckel2020-11-171-0/+1
| | | | | | | | | | | | | | | | | | | | | This format is currently subject to change, but is not too far from the end goal. Some bits are currently unimplemented (see TODO comments).
* | | Merge topic 'remove-server-mode'Brad King2020-10-151-14/+0
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9952ee063a server: remove deprecated 'cmake -E server' mode Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Kyle Edwards <kyle.edwards@kitware.com> Merge-request: !5370
| * | | server: remove deprecated 'cmake -E server' modeBrad King2020-10-141-14/+0
| | | | | | | | | | | | | | | | | | | | | | | | The server mode has been deprecated since commit 996e1885c4 (server: deprecate in favor of the file-api, 2019-04-19, v3.15.0-rc1~198^2). Clients should now be using the file-api. Remove the server mode.
* | | | Merge topic 'cmake-E-cat-binary'Brad King2020-10-151-0/+2
|\ \ \ \ | |/ / / |/| | / | | |/ | |/| | | | | | | | | | | | | f7a5f28318 cmake: Fix '-E cat' command for binary files on Windows 90b39a5209 cmConsoleBuf: Factor out cout/cerr console buffer management f1fdd15863 clang-format: Fix include block order in ctest.cxx and cpack.cxx Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5364
| * | cmConsoleBuf: Factor out cout/cerr console buffer managementBrad King2020-10-141-0/+2
| | |
* | | cmake -E: Add cmake_transform_depfile internal commandKyle Edwards2020-10-131-0/+2
| |/ |/|
* | Presets: Add cmCMakePresetsFile classKyle Edwards2020-10-051-0/+2
| |
* | ctest: split launcher XML writer into separate classZack Galbreath2020-09-281-0/+1
| | | | | | | | | | This refactor will allow us to more easily add additional warnings and errors to builds that use launchers.
* | JSON: Add helpersKyle Edwards2020-09-091-0/+1
| |
* | cmake_path command: path managementMarc Chevrier2020-09-061-0/+2
| | | | | | | | Fixes: #19568, #20922
* | cmCMakePath: Class for path handlingMarc Chevrier2020-09-061-0/+2
| |