summaryrefslogtreecommitdiffstats
path: root/Source/CMakeLists.txt
Commit message (Collapse)AuthorAgeFilesLines
* cmStandardLevelResolver: Factor out public representation of levelBrad King2023-10-041-0/+1
|
* Merge topic 'imported-cxxmodules'Brad King2023-08-211-0/+5
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 48ee946fdc cmExperimental: recycle the C++ modules API UUID 1a1806a71b gitlab-ci: declare `bmionly` support for modules where possible 457a12f3f9 Tests/RunCMake/CXXModules: add tests which use modules from imported targets 9b9ec70b54 Ninja: generate scanning and build rules for C++20 module synthetic targets 80ef50a191 CXXModules: add a variable for BMI-only compilation 80d6544398 cxxmodules: generate synthetic targets as an initial pass 3dc6676ecc cmSyntheticTargetCache: add a struct for synthetic target caching cb356b540c cmCxxModuleUsageEffects: add a class to capture module usage effects ... Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !8535
| * cmSyntheticTargetCache: add a struct for synthetic target cachingBen Boeckel2023-08-171-0/+1
| |
| * cmCxxModuleUsageEffects: add a class to capture module usage effectsBen Boeckel2023-08-171-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | When importing a C++ module, there may be requirements imposed by the importer so that the compiler can reliably read the BMI. For example, the standard used in the importer may need to also apply to the imported BMI. Right now, there are no tracked requirements. As we learn more, this class can start tracking more information. See: https://wg21.link/p2581r2
| * cmImportedCxxModuleInfo: introduce code to parse exported BMI propertiesBen Boeckel2023-08-171-0/+2
| |
* | Merge topic 'debugger-pipe-connections'Brad King2023-08-191-3/+15
|\ \ | | | | | | | | | | | | | | | | | | | | | 8b1257e7bf Debugger: Replace libuv with platform-specific connection code Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8711
| * | Debugger: Replace libuv with platform-specific connection codePaul Maybee2023-08-171-3/+15
| | | | | | | | | | | | | | | | | | | | | Remove libuv usage from CMake debugger. Libuv has an async io model and cppdap uses a sync model, so an extra thread and a buffer copy were necessary to match semantics. In order to eliminate those costs this commit implements the IO using platform specific APIs.
* | | cmJSONHelpers: Make error generators proper functionsKyle Edwards2023-08-161-0/+1
| | |
* | | CMakePresets: Make error generators proper functionsKyle Edwards2023-08-161-1/+2
| |/ |/| | | | | And rename cmCMakePresetErrors to cmCMakePresetsErrors.
* | Source: Add cm_fileno wrapperKyle Edwards2023-08-071-0/+2
| | | | | | | | And use it where appropriate.
* | Merge topic 'cxx-atomic'Brad King2023-07-281-7/+3
|\ \ | | | | | | | | | | | | | | | | | | | | | 78bbd58545 Source: Link libatomic when needed on Linux 32-bit ARM Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8663
| * | Source: Link libatomic when needed on Linux 32-bit ARMBrad King2023-07-271-7/+3
| | | | | | | | | | | | Fixes: #25114
* | | macOS: Add support for linking against .xcframework foldersKyle Edwards2023-07-261-0/+4
| |/ |/| | | | | Issue: #21752
* | C{Make,Test}Lib: Precompile common expensive headersClemens Wasser2023-06-221-0/+56
| |
* | cmUVPipeIStream: Add cmUVPipeIStreamKyle Edwards2023-06-141-0/+1
|/
* cmake_file_api: New project commandCraig Scott2023-06-051-0/+2
| | | | | | | | Projects can use the new command to request file API replies for the current run. No query files are generated, the query is tracked internally. Replies are created in the file system at generation time in the usual way. Fixes: #24951
* cmake: Add debuggerGlen Chung2023-05-301-0/+32
| | | | | | | | | | | | | | | | - Depends on cppdap and jsoncpp. - Add --debugger argument to enable the Debugger. - Add --debugger-pipe argument for DAP traffics over named pipes. - Support breakpoints by filenames and line numbers. - Support exception breakpoints. - Call stack shows filenames and line numbers. - Show Cache Variables. - Show the state of currently defined targets, tests and directories with their properties. - Add cmakeVersion to DAP initialize response. - Include unit tests. Co-authored-by: Ben McMorran <bemcmorr@microsoft.com>
* CPack: Add Inno Setup generatorJannik Alber2023-04-281-0/+1
|
* Merge topic 'automoc-macro-names'Craig Scott2023-04-101-0/+2
|\ | | | | | | | | | | | | | | | | | | | | c5c3aff1f5 Autogen: Add INTERFACE_AUTOMOC_MACRO_NAMES target property 69cf9700e6 Autogen: Defer setup until Generate step 7cecb6353e cmGeneratorTarget: Factor out EvaluatedTargetProperty infrastructure 2daba01ddf cmGeneratorTarget: Avoid incidental include-what-you-use warning 850b4d990c IWYU: Add mapping for 'std::remove_reference<Defer &>::type' Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8391
| * cmGeneratorTarget: Factor out EvaluatedTargetProperty infrastructureOrkun Tokdemir2023-04-051-0/+2
| | | | | | | | | | Make it available outside the `cmGeneratorTarget` implementation. In particular, we will later use it in `cmQtAutoGenInitializer`.
* | cmList: CMake list implementationMarc Chevrier2023-04-051-0/+2
|/ | | | Fixes: #24548
* Merge topic 'presets-json-errors'Brad King2023-03-301-0/+3
|\ | | | | | | | | | | | | | | | | 19305afd8a presets: Improve JSON parser and error messages Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Acked-by: scivision <michael@scivision.dev> Merge-request: !8290
| * presets: Improve JSON parser and error messagesMartin Duffy2023-03-291-0/+3
| |
* | Source: Adjust stack sizes and recursion limits to work togetherBrad King2023-03-131-12/+0
| | | | | | | | | | | | Adjust `CMake_DEFAULT_RECURSION_LIMIT` and/or the process stack size on each platform to pass the `RunCMake.MaxRecursionDepth` test's "default" cases.
* | Tests: Allow RunCMake.MaxRecursionDepth to test public-facing default limitBrad King2023-03-131-3/+1
| | | | | | | | | | | | | | | | Previously we compiled in a smaller default limit during nightly testing and CI builds, so we were not testing the same default limit that end-users will see. Instead, set the limit during testing using an environment variable so that we can unset it when testing the default limit in `RunCMake.MaxRecursionDepth`.
* | cmake: Reduce default recursion depth when compiling for Windows ARM64Brad King2023-03-081-0/+2
|/ | | | | | | | On Windows ARM64 the stack frames are large enough (at least in Debug builds) that CMake language recursion to depth 1000 overflows the stack. Reduce the limit for this compiler. Suggested-by: Bill Hoffman <bill.hoffman@kitware.com>
* FileAPI: Add "configureLog" object kindBrad King2022-12-171-0/+2
| | | | | | | Provide clients with a way to get a known set of configure log event versions. Issue: #23200
* ConfigureLog: Add infrastructure for structured configure event loggingMatthew Woehlke2022-12-161-0/+2
| | | | | | | | | | Add infrastructure for a "configure log". Use YAML for a balance of machine- and human-readability to records details of configure-time events in a structured format. Teach the RunCMake test framework to support matching the configure log. Issue: #23200
* cmDyndepCollation: factor out writing C++ module info from NinjaBen Boeckel2022-11-301-0/+2
| | | | | | | | | To facilitate other generators being able to build C++20 modules, start pulling out collator logic into a generator-agnostic location. This commit starts by factoring out the information written to the "target depend info" object consumed during the build to handle writing out export and installation scripts expected during those steps.
* cmDocumentation: `char*[][2]` → `cmDocumentationEntry[N]`Alex Turbov2022-11-171-1/+0
| | | | | | | | | | Use fixed size arrays of `cmDocumentationEntry` items instead of open arrays of two `char` pointers when describe program options help screens. Also, drop `const char*[][2]` overloads of methods of `cmDocumentation` and `cmDocumentationSection` classes in the sake of generic (template) appenders introduced earlier.
* Source: Fix regression causing CMakeLib sources to be compiled repeatedlyBrad King2022-10-051-12/+12
| | | | | | | In commit 4ff8604604 (Build: Do not use variables for sources lists, 2022-08-21) the sources of `CMakeLib` were accidentally made PUBLIC. This causes them to be compiled again in all consuming targets. Make the sources PRIVATE instead.
* CMakePresets.json: Add workflow presets to schemaKyle Edwards2022-09-261-0/+1
|
* Build: Use `CMAKE_CURRENT_XXX_DIR` instead of top dirsAlex Turbov2022-09-221-6/+6
|
* Build: Sort linked libraries list of `CMakeLib`Alex Turbov2022-09-221-4/+4
|
* Build: Use imported target `Threads::Threads` instead of variableAlex Turbov2022-09-221-1/+1
|
* Build: Use imported target `kwiml::kwiml` instead of variablesAlex Turbov2022-09-221-1/+1
|
* Build: Use imported target `LibRHash::LibRHash` instead of variablesAlex Turbov2022-09-221-1/+1
|
* Build: Use imported target `LibUV::LibUV` instead of variablesAlex Turbov2022-09-221-1/+1
|
* Build: Use imported target `JsonCpp::JsonCpp` instead of variablesAlex Turbov2022-09-221-1/+1
|
* Build: Use imported target `CURL::libcurl` instead of variablesAlex Turbov2022-09-221-3/+2
|
* Build: Use imported target `LibArchive::LibArchive` instead of variablesAlex Turbov2022-09-221-2/+1
|
* Build: Use imported target `EXPAT::EXPAT` instead of variablesAlex Turbov2022-09-221-2/+1
|
* Build: Use imported target `ZLIB::ZLIB` instead of variablesAlex Turbov2022-09-221-2/+1
|
* Build: Extract `CMAKE_BUILD_UTILITIES` macro into a separate includeAlex Turbov2022-09-221-1/+2
| | | | | | The macro was one time used with the comment "Simply to improve readability...". The result file doesn't have a macro anymore and just included into the root `CMakeLists.txt`.
* Build: Use `cmstd` target instead of variable `CMAKE_STD_LIBRARY`Alex Turbov2022-09-221-1/+1
|
* Build: Replace `foreach` with 2 `set` callsAlex Turbov2022-09-221-7/+2
|
* Build: Move `HAVE_CoreServices` to `cmCPackConfigure.h`Alex Turbov2022-09-221-1/+0
|
* Build: Add `ENABLE_BUILD_FREEBSD_PKG` to `cmCPackConfigure.h`Alex Turbov2022-09-221-6/+4
|
* Build: Use imported `LibUUID::LibUUID` target instead of variablesAlex Turbov2022-09-221-17/+19
| | | | Also, simplify preprocessor condition to enable WIX CPack generator.
* Build: Link w/ `OBJECT` library is OK since 3.12Alex Turbov2022-09-221-1/+1
|