1
0
mirror of https://github.com/Kitware/CMake.git synced 2025-10-15 03:48:02 +08:00

21 Commits

Author SHA1 Message Date
Eduard Voronkin
05360d19e9 FASTBuild: fix use-after-move
Since order of parameters' evaluation
is unspecified in C++, it might happen that
we move `val` before we call `substt()`.
2025-09-29 14:48:46 -07:00
Brad King
4fb7570c31 Merge topic 'fbuild_small_cleanup'
a63c1b4a84 FASTBuild: fix excessive std::to_string

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11225
2025-09-23 08:51:32 -04:00
Brad King
4de4daf0c9 Merge topic 'fbuild_relative_paths'
2f51a7d83f FASTBuild: use relative paths in more places when enabled

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11222
2025-09-23 08:49:07 -04:00
Eduard Voronkin
a63c1b4a84 FASTBuild: fix excessive std::to_string
`cmStrCat` uses `cmAlphaNum` internally
which does conversion from integer to string
2025-09-21 17:29:53 -07:00
Eduard Voronkin
2f51a7d83f FASTBuild: use relative paths in more places when enabled
When CMAKE_FASTBUILD_USE_RELATIVE_PATHS is set -
use relative paths for Unity nodes as well as for include directories.
It makes it possible to share cache across different location of
the same repo (or potentially across different machines)
2025-09-21 17:25:26 -07:00
Eduard Voronkin
9a111f4c83 FASTBuild: don't write unused options
As pointed by Franta in this:
https://github.com/fastbuild/fastbuild/issues/1103#issuecomment-3315442420
message - "Compiler", "CompilerOptions" and "CompilerOutputPath" are NOT
used by DLL / Executable nodes, so we don't need to write them.
2025-09-21 17:22:37 -07:00
Eduard Voronkin
23fd5703ad FASTBuild: add support for Unity builds 2025-09-18 09:40:55 -07:00
Brad King
2d8e464d2f Merge topic 'fbuild_optimize_db'
914a9eea94 FASTBuild: optimize generated file size

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11182
2025-09-18 09:05:04 -04:00
Brad King
917f8b217e Merge topic 'fbuild_more_opts'
99839d1158 FASTBuild: expose more options

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11180
2025-09-18 09:03:07 -04:00
Eduard Voronkin
99839d1158 FASTBuild: expose more options
Expose more options for compiler configuration as well as adding unit test
2025-09-17 10:49:27 -07:00
Eduard Voronkin
9441f6cfb2 FASTBuild: improve IDE project structure
Right now, all IDE projects are located at the top level which makes it pretty messy  when there are a lot of them.

With this change the generated IDE project will more closely mimic existing folder structure in the project.
2025-09-17 10:03:26 -07:00
Eduard Voronkin
914a9eea94 FASTBuild: optimize generated file size
Two optimizations here:
1. Remove non-mandatory aliases (I only used them for debugging).
2. Make objects lists' name shorter

Both of those improvements contribute to the decrease of the FASTBuild DB file, since they are getting serialized.
2025-09-16 09:33:54 -07:00
Eduard Voronkin
4387c965a6 FASTBuild: optimize generated file
List of changes:
1. Remove unneeded aliases
2. Don't write VS Solution on Apple
3. Use external script to perform clean
4. Fix small bug when empty environment was
resulting in invalid file.
It greatly reduces the size of .fdb file and
makes FASTBuild run much faster in different cases.
2025-09-14 20:26:11 -07:00
Brad King
fa3387a64f Merge topic 'fbuild_cache_path'
f77628e0af FASTBuild: don't set default cache path

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11157
2025-09-12 11:40:40 -04:00
Brad King
82405b106c Merge topic 'fbuild_fix_typo'
3027c24057 FASTBuild: fix a small typo in documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11174
2025-09-12 11:33:01 -04:00
Eduard Voronkin
f77628e0af FASTBuild: don't set default cache path
Leave only 2 option to set cache path:
1. CMake variable
2. Environment variable
Update docs to reflect the changes.
2025-09-11 11:25:36 -07:00
Eduard Voronkin
3027c24057 FASTBuild: fix a small typo in documentation 2025-09-11 09:58:33 -07:00
Brad King
daf5cc56a0 Merge topic 'fbuild_clang_cl'
888e9e1081 FASTBuild: fix CMake build with clang-cl

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !11137
2025-09-08 11:25:51 -04:00
Eduard Voronkin
888e9e1081 FASTBuild: fix CMake build with clang-cl
Fixes: #27175
2025-09-04 22:12:37 -07:00
Eduard Voronkin
a8e64742aa FASTBuild: allow disabling of caching / distribution
Compilation is complicated. Caching / distribution is even more
complicated. Sometimes there are bugs (in compilers as well as in
FASTBuild), so export the option to disable those features for CMake
targets.
2025-09-03 12:42:55 -04:00
Eduard Voronkin
01147454e7 FASTBuild: Add generator
Fixes: #15294
2025-08-26 14:29:01 -07:00