Commit Graph

42 Commits

Author SHA1 Message Date
Duncan Ogilvie 8dcc11e349 Add helper function Project::cmake_minimum_version for version-dependent features 2023-02-19 22:19:12 +01:00
Duncan Ogilvie 2c6fc569af Preserve backwards compatibility 2023-01-14 16:17:06 +01:00
Duncan Ogilvie 12ee23a44c Improve error messages 2023-01-14 15:52:19 +01:00
Duncan Ogilvie 82342a6b6f Rename [settings] to [variables] 2023-01-14 15:51:57 +01:00
Duncan Ogilvie 2437eb90fe Minor improvements
- Drastically improve quality of generated CMake
- Fix a regression with recursive globbing in the root
- Automatically include CSharpUtilities when using CSharp
2022-11-24 00:23:30 +01:00
Duncan Ogilvie 69d844a152 Refactor msvc-static to msvc-runtime 2022-10-07 17:46:36 +02:00
gmh5225 af9a117f50 Fix merge 2022-10-07 06:50:26 +08:00
gmh5225 2f3fd7b95e Merge branch 'main' into feature-msvc-static 2022-10-07 05:35:11 +08:00
Duncan Ogilvie 5af2385cc3 Fix the way target.headers is merged into target.sources
- It would crash if you did not specify target.sources
- Headers with condition would be merged incorrectly
2022-10-06 18:22:51 +02:00
gmh5225 981c48dbc5 [feature] msvc-static 2022-10-02 10:43:32 +08:00
Duncan Ogilvie a90988b81a Update the formatting to now allow functions on a single line
This makes it less annoying when the IDE is auto-formatting while you type
2022-07-19 13:41:43 +02:00
Duncan Ogilvie e69cf4d2b9 Add install.optional flag 2022-06-01 19:06:53 +02:00
Duncan Ogilvie 9a82f8c796 Temporarily remove the crt-linkage and library-linkage options
These require a lot more work to integrate properly with vcpkg, reimplement triplet detection and set a custom triplet
2022-06-01 16:57:09 +02:00
Duncan Ogilvie 232e49e087 Add support for vcpkg CRT and library linkage customization 2022-04-01 02:27:41 +02:00
Duncan Ogilvie 9b0f18ee94 Fix a bug in fetch-content generation 2022-03-06 06:05:17 +01:00
Duncan Ogilvie 85370968f8 Improved fetch-content support
Closes #38
2022-02-12 04:05:51 +01:00
Duncan Ogilvie 06a4c04df6 Add support for 'shallow' in fetch-content 2022-02-12 03:10:25 +01:00
Duncan Ogilvie c713606fd4 Error when using an unknown key in the root of the TOML
[error] Unknown key 'fetch-cntent'
 --> cmake.toml:2
   |
 2 | [fetch-cntent.blah]
   |  ~~~~~~~~~~~~
2022-02-12 02:19:37 +01:00
Duncan Ogilvie fe9b6587a9 Error when trying to parse an empty cmake.toml file 2022-02-12 02:07:30 +01:00
cursey 6f8b07a801 Allow specifying install component name 2022-01-28 17:16:19 -08:00
Duncan Ogilvie d905be1d13 Final touches 2022-01-12 23:57:14 +01:00
cursey 2b7ee72e86 Separate template parsing and generation
* Reuse type for specifying template to use
* Add support for template add-function
* Add support for template pass-sources-to-add-function
2022-01-10 23:29:26 -08:00
cursey 61d5e64d87 Fix parser expecting to always find templates 2022-01-10 18:59:34 -08:00
cursey eed1e38407 Add support for target templates 2022-01-10 18:59:33 -08:00
Duncan Ogilvie 6c1e388391 Add root, x64 and x32 conditions 2021-12-30 14:27:07 +01:00
Duncan Ogilvie 459ebb14b5 Support conditions everywhere
Closes #36
2021-12-30 02:35:59 +01:00
cursey 2cd8ad0f18 Add missing const 2021-12-27 01:13:16 -08:00
cursey 0acc9b4e5a Report the badly formed package name to the user 2021-12-27 00:57:48 -08:00
cursey 3201fd052e Add support for vcpkg package features 2021-12-26 15:40:45 -08:00
Duncan Ogilvie bb7874a6df Improve compilation times
Compilation with make went from 13 -> 10 seconds.
CMAKE_UNITY_BUILD went even lower to 6 seconds.

Closes #11
2021-12-23 01:54:57 +01:00
Duncan Ogilvie 2bcf15c4ed Add support for object libraries
Closes #34
2021-12-23 00:01:18 +01:00
Duncan Ogilvie 6809e8da41 Refactor and add checking for conditions 2021-12-22 16:51:55 +01:00
Duncan Ogilvie 9f9934e9a5 Implemented checking of keys in conditions 2021-12-22 13:31:52 +01:00
Duncan Ogilvie 77f4bf7da0 Some minor fixes related to newlines and formatting 2021-12-22 13:30:59 +01:00
Duncan Ogilvie 09c9c28934 Initial implementation of TomlChecker
This is to error when the user specifies an invalid key.

Closes #31
2021-12-19 02:34:48 +01:00
Duncan Ogilvie f02ccc2309 Refactor fetch-content to vector<Content> 2021-12-12 20:11:20 +01:00
Duncan Ogilvie 285614e4c2 Automatically generate cmkr.cmake when missing 2021-09-13 17:01:46 +02:00
Duncan Ogilvie a718dfd675 Inherit conditions from the parent project 2021-07-03 16:27:01 +02:00
Duncan Ogilvie 25da3171f0 Add default conditions for gcc/clang/msvc 2021-07-03 16:03:22 +02:00
Duncan Ogilvie 95907602b4 Do not allow in-tree builds per default 2021-07-03 15:56:51 +02:00
Duncan Ogilvie 3cd84a9708 Add basic support for [subdir.mydir] 2021-06-26 16:22:26 +02:00
Duncan Ogilvie 9932e501ce Rename files to make the project easier to navigate 2021-06-25 12:38:48 +02:00