# Development

**URL:** https://discourse.cmake.org/c/development/9.md?page=9

[Latest](https://discourse.cmake.org/latest.md) · [Categories](https://discourse.cmake.org/categories.md) · [Tags](https://discourse.cmake.org/tags.md)

**Page:** 10

---

## [Condition field for workflow presets](https://discourse.cmake.org/t/condition-field-for-workflow-presets/6934)

<div class="topic-metadata">

**Author:** [@benthevining](https://discourse.cmake.org/u/benthevining)\
**Replies:** 11\
**Last updated:** [April 2, 2024, 7:17pm UTC](https://discourse.cmake.org/t/condition-field-for-workflow-presets/6934 "2024-04-02T19:17:25Z")

</div>

Workflows presets don’t currently have a condition field, which is unfortunate. Some workflows may consist of platform-specific presets, such as building for XCode or Visual Studio. I suggest either: giving workflow p…

---

## [\`CMakeUserPresets.json\` being read before \`CMakePresets.json\`](https://discourse.cmake.org/t/cmakeuserpresets-json-being-read-before-cmakepresets-json/9958)

<div class="topic-metadata">

**Author:** [@Lecris](https://discourse.cmake.org/u/Lecris)\
**Replies:** 3\
**Last updated:** [April 2, 2024, 11:37am UTC](https://discourse.cmake.org/t/cmakeuserpresets-json-being-read-before-cmakepresets-json/9958 "2024-04-02T11:37:32Z")

</div>

This is a continuation of the comment in: https://gitlab.kitware.com/cmake/cmake/-/merge\_requests/9110#note\_1474956 Basically it is weird how the CMakeUserPresets.json is being read before CMakePresets.json, normally yo…

---

## [Is the 'latest' version of cmake-docs deployed from the 'release' branch?](https://discourse.cmake.org/t/is-the-latest-version-of-cmake-docs-deployed-from-the-release-branch/10371)

<div class="topic-metadata">

**Author:** [@hwhsu1231](https://discourse.cmake.org/u/hwhsu1231)\
**Replies:** 4\
**Last updated:** [March 29, 2024, 12:02pm UTC](https://discourse.cmake.org/t/is-the-latest-version-of-cmake-docs-deployed-from-the-release-branch/10371 "2024-03-29T12:02:18Z")

</div>

Hello, CMake Team. According to the cmake-docs, we can see that the ‘latest’ version corresponds to the latest release (e.g. 3.28.5) or relase candidate (e.g. 3.29.0-rc1). I wonder: Whether the ‘latest’ version of cm…

---

## [Verbose format for generator expressions?](https://discourse.cmake.org/t/verbose-format-for-generator-expressions/10284)

<div class="topic-metadata">

**Author:** [@dabrahams](https://discourse.cmake.org/u/dabrahams)\
**Replies:** 4\
**Last updated:** [March 29, 2024, 11:32am UTC](https://discourse.cmake.org/t/verbose-format-for-generator-expressions/10284 "2024-03-29T11:32:48Z")

</div>

It’s gotten to the point where generator expressions are their own little programming language. They’re super-powerful, which is great, but it doesn’t take a very complex generator expression before the syntax becomes o…

---

## [Why is --silent added to IAR Linker & Compiler automatically?](https://discourse.cmake.org/t/why-is-silent-added-to-iar-linker-compiler-automatically/10522)

<div class="topic-metadata">

**Author:** [@ysteiner](https://discourse.cmake.org/u/ysteiner)\
**Replies:** 1\
**Last updated:** [March 28, 2024, 3:49pm UTC](https://discourse.cmake.org/t/why-is-silent-added-to-iar-linker-compiler-automatically/10522 "2024-03-28T15:49:47Z")

</div>

On line 39 of Modules/Compiler/IAR.cmake, --silent is added to the linker flags. Is this an error? Silent means there is no statistic printed. Also some other silent flags are set in this file. I think the user shoud se…

---

## [Improved framework for writing find-modules](https://discourse.cmake.org/t/improved-framework-for-writing-find-modules/7317)

<div class="topic-metadata">

**Author:** [@Francesco\_Pretto](https://discourse.cmake.org/u/Francesco_Pretto)\
**Replies:** 10\
**Last updated:** [March 25, 2024, 7:25pm UTC](https://discourse.cmake.org/t/improved-framework-for-writing-find-modules/7317 "2024-03-25T19:25:04Z")

</div>

Hello, I’m sorry if you are discussing about this topic somewhere else. Please point me if there are some plans about what I’m asking. The question is if you are considering writing an improved framework that makes it t…

---

## [target\_link\_libraries: Allow only targets and fail on raw library name](https://discourse.cmake.org/t/target-link-libraries-allow-only-targets-and-fail-on-raw-library-name/10471)

<div class="topic-metadata">

**Author:** [@martijntje](https://discourse.cmake.org/u/martijntje)\
**Replies:** 1\
**Last updated:** [March 25, 2024, 12:44pm UTC](https://discourse.cmake.org/t/target-link-libraries-allow-only-targets-and-fail-on-raw-library-name/10471 "2024-03-25T12:44:33Z")

</div>

I understand the reason why target\_link\_libraries accepts raw library names that aren’t known targets to CMake. However, it can often lead to surprises and wasted time. What sometimes happens is this: a developer adds …

---

## [Setting REINSTALLMODE in WIX template](https://discourse.cmake.org/t/setting-reinstallmode-in-wix-template/10270)

<div class="topic-metadata">

**Author:** [@craig.scott](https://discourse.cmake.org/u/craig.scott)\
**Replies:** 1\
**Last updated:** [March 12, 2024, 5:05pm UTC](https://discourse.cmake.org/t/setting-reinstallmode-in-wix-template/10270 "2024-03-12T17:05:49Z")

</div>

CMake’s own WIX.template.in (in the Utilities/Release/WiX directory) contains the following line, which is not present in the general WIX.template.in that is used by default with the WIX CPack generator: \<Property Id="R…

---

## [License Required for Distributing the Translation of CMake Documentation?](https://discourse.cmake.org/t/license-required-for-distributing-the-translation-of-cmake-documentation/8461)

<div class="topic-metadata">

**Author:** [@hwhsu1231](https://discourse.cmake.org/u/hwhsu1231)\
**Replies:** 5\
**Last updated:** [March 7, 2024, 1:42pm UTC](https://discourse.cmake.org/t/license-required-for-distributing-the-translation-of-cmake-documentation/8461 "2024-03-07T13:42:39Z")

</div>

Hello CMake Team. Suppose that I want to distribute a translation project of the CMake documentation on GitHub, should I use the BSD 3-clause license? Or can I use other more/less permissive licenses? In my planned pro…

---

## [Adding new platform: AmigaOS4 (PPC)](https://discourse.cmake.org/t/adding-new-platform-amigaos4-ppc/10169)

<div class="topic-metadata">

**Author:** [@FlynnTheAvatar](https://discourse.cmake.org/u/FlynnTheAvatar)\
**Replies:** 2\
**Last updated:** [March 4, 2024, 2:17pm UTC](https://discourse.cmake.org/t/adding-new-platform-amigaos4-ppc/10169 "2024-03-04T14:17:21Z")

</div>

Hi all, I am a developer helping with the effort to port Webkit to the Amiga platform. To support this, we would also extend the support of CMake to the AmigaOS4 platform. We have already a draft for a CMake Toolchain …

---

## [Shallow downloads of git repos via FetchContent](https://discourse.cmake.org/t/shallow-downloads-of-git-repos-via-fetchcontent/10220)

<div class="topic-metadata">

**Author:** [@LarryOates](https://discourse.cmake.org/u/LarryOates)\
**Replies:** 1\
**Last updated:** [February 29, 2024, 4:47am UTC](https://discourse.cmake.org/t/shallow-downloads-of-git-repos-via-fetchcontent/10220 "2024-02-29T04:47:02Z")

</div>

I am using CPM to download dependency of my project. The dependencies is a large repo and a tag has been made which removes a lot of unneeded parts of the repo. This was done so that when the project is being configured,…

---

## [Does CMake write some kind of "stamp" file ?](https://discourse.cmake.org/t/does-cmake-write-some-kind-of-stamp-file/10184)

<div class="topic-metadata">

**Author:** [@neundorf](https://discourse.cmake.org/u/neundorf)\
**Replies:** 7\
**Last updated:** [February 28, 2024, 10:11pm UTC](https://discourse.cmake.org/t/does-cmake-write-some-kind-of-stamp-file/10184 "2024-02-28T22:11:13Z")

</div>

Hi, in the kate build plugin I’d like to react if cmake was rerun on the current build tree (in order to read the updated file API files). Is there some file I could “watch” ? I’d prefer not to have different cases fo…

---

## [Why doesn't \`--workflow\` support multiple configure stages?](https://discourse.cmake.org/t/why-doesnt-workflow-support-multiple-configure-stages/10192)

<div class="topic-metadata">

**Author:** [@alex](https://discourse.cmake.org/u/alex)\
**Replies:** 1\
**Last updated:** [February 27, 2024, 2:27pm UTC](https://discourse.cmake.org/t/why-doesnt-workflow-support-multiple-configure-stages/10192 "2024-02-27T14:27:47Z")

</div>

I was trying to answer a question on StackOverflow about how to effectively accomplish PGO using Clang. The manual workflow is typically to compile once with -fprofile-generate and then again with -fprofile-use after run…

---

## [Setting a default \`CMAKE\_BUILD\_TYPE\` per project](https://discourse.cmake.org/t/setting-a-default-cmake-build-type-per-project/10195)

<div class="topic-metadata">

**Author:** [@Lecris](https://discourse.cmake.org/u/Lecris)\
**Replies:** 0\
**Last updated:** [February 26, 2024, 5:53pm UTC](https://discourse.cmake.org/t/setting-a-default-cmake-build-type-per-project/10195 "2024-02-26T17:53:45Z")

</div>

Splitting this discussion from this issue comment. Basically I am considering how to allow a project to set its default custom build type without affecting other project’s build type. Setup: Project A: fetches Project…

---

## [Does CMake use Ninja's \`dyndep\` feature for C++20 modules?](https://discourse.cmake.org/t/does-cmake-use-ninjas-dyndep-feature-for-c-20-modules/10185)

<div class="topic-metadata">

**Author:** [@RobN](https://discourse.cmake.org/u/RobN)\
**Replies:** 1\
**Last updated:** [February 26, 2024, 1:04am UTC](https://discourse.cmake.org/t/does-cmake-use-ninjas-dyndep-feature-for-c-20-modules/10185 "2024-02-26T01:04:29Z")

</div>

While doing some work with Ninja, I noticed this section of their docs on Dynamic Dependencies. That seems ideal for C++20 modules, but I didn’t think CMake used it. Does it? I’m just curious how things worked.

---

## [create compile commands for each file when unity build](https://discourse.cmake.org/t/create-compile-commands-for-each-file-when-unity-build/10182)

<div class="topic-metadata">

**Author:** [@leiyuhou010](https://discourse.cmake.org/u/leiyuhou010)\
**Replies:** 1\
**Last updated:** [February 25, 2024, 9:42pm UTC](https://discourse.cmake.org/t/create-compile-commands-for-each-file-when-unity-build/10182 "2024-02-25T21:42:53Z")

</div>

When a target is build with unity build, only generated unity\_n\_cxx.cxx file’s compile command are exported in the compile\_commands.json , but the raw source files are ignored . actually many c/c++ language server need …

---

## [Android.bp support?](https://discourse.cmake.org/t/android-bp-support/2231)

<div class="topic-metadata">

**Author:** [@YMba9g8j9CJp0wLoQf5y](https://discourse.cmake.org/u/YMba9g8j9CJp0wLoQf5y)\
**Replies:** 9\
**Last updated:** [February 23, 2024, 9:04pm UTC](https://discourse.cmake.org/t/android-bp-support/2231 "2024-02-23T21:04:03Z")

</div>

At work somewhat brought up maintaining a separate build system for Android.bp along with our current cmake build system. This is the first time I heard of Android.bp, we have been using cmake for Android for a while. C…

---

## [The testee of xctest\_add\_bundle](https://discourse.cmake.org/t/the-testee-of-xctest-add-bundle/10120)

<div class="topic-metadata">

**Author:** [@dabrahams](https://discourse.cmake.org/u/dabrahams)\
**Replies:** 4\
**Last updated:** [February 22, 2024, 7:16pm UTC](https://discourse.cmake.org/t/the-testee-of-xctest-add-bundle/10120 "2024-02-22T19:16:04Z")

</div>

I’ve been working on a little package that could be thought of as a modernization of FindXCTest, which is a bit dated at this point. FindXCTest only supports Apple platforms, but XCTest is now available on Windows and L…

---

## [Issue and Fixing Patch - CMake tests on macOS with M chip](https://discourse.cmake.org/t/issue-and-fixing-patch-cmake-tests-on-macos-with-m-chip/10144)

<div class="topic-metadata">

**Author:** [@Gaahfy](https://discourse.cmake.org/u/Gaahfy)\
**Replies:** 2\
**Last updated:** [February 21, 2024, 2:40pm UTC](https://discourse.cmake.org/t/issue-and-fixing-patch-cmake-tests-on-macos-with-m-chip/10144 "2024-02-21T14:40:08Z")

</div>

The make test command fails on macOS with M chip, because of the test BuildDepends failing. In order to reproduce the issue, you need to make sure Rosetta is not installed on your machine. Otherwise the test will succee…

---

## [GIT\_SHALLOW 1 should turn off automatically when GIT\_TAG is a hash in ExternalProject\_Add()](https://discourse.cmake.org/t/git-shallow-1-should-turn-off-automatically-when-git-tag-is-a-hash-in-externalproject-add/10121)

<div class="topic-metadata">

**Author:** [@Gonzalo\_Garramuno](https://discourse.cmake.org/u/Gonzalo_Garramuno)\
**Replies:** 2\
**Last updated:** [February 18, 2024, 3:05am UTC](https://discourse.cmake.org/t/git-shallow-1-should-turn-off-automatically-when-git-tag-is-a-hash-in-externalproject-add/10121 "2024-02-18T03:05:31Z")

</div>

Using cmake 3.26.5, so this might have already changed. ExternalProject\_Add( PROJECT GIT\_REPOSITORY … GIT\_TAG 2e34234 GIT\_SHALLOW 1 ) The above command will fail when the git tag is a hash, but it will succeed whe…

---

## [CTest combines stdout and stderr, change to allow them to be treated differently](https://discourse.cmake.org/t/ctest-combines-stdout-and-stderr-change-to-allow-them-to-be-treated-differently/9857)

<div class="topic-metadata">

**Author:** [@WilliamGLYork](https://discourse.cmake.org/u/WilliamGLYork)\
**Replies:** 6\
**Last updated:** [February 7, 2024, 5:01pm UTC](https://discourse.cmake.org/t/ctest-combines-stdout-and-stderr-change-to-allow-them-to-be-treated-differently/9857 "2024-02-07T17:01:44Z")

</div>

cmake/Source/CTest/cmProcess.cxx\* //starts line 93 uv\_pipe\_open(pipe\_reader, fds\[0\]); uv\_pipe\_open(pipe\_writer, fds\[1\]); uv\_stdio\_container\_t stdio\[3\]; stdio\[0\].flags = UV\_INHERIT\_FD; stdio\[0\].data.fd = 0; …

---

## [Buildbot and kwrobot in CI](https://discourse.cmake.org/t/buildbot-and-kwrobot-in-ci/9995)

<div class="topic-metadata">

**Author:** [@pkiran](https://discourse.cmake.org/u/pkiran)\
**Replies:** 3\
**Last updated:** [February 5, 2024, 9:23pm UTC](https://discourse.cmake.org/t/buildbot-and-kwrobot-in-ci/9995 "2024-02-05T21:23:29Z")

</div>

Hello, Not sure if this is the right place, but I would like to learn more about the CI setup used for CMake. Would love to learn more about kwrobot and buildbot, how they are used in the process and with CDash. Can I a…

---

## [What is the best document to understand CMake for beginner](https://discourse.cmake.org/t/what-is-the-best-document-to-understand-cmake-for-beginner/9973)

<div class="topic-metadata">

**Author:** [@suresh](https://discourse.cmake.org/u/suresh)\
**Replies:** 1\
**Last updated:** [January 31, 2024, 12:29pm UTC](https://discourse.cmake.org/t/what-is-the-best-document-to-understand-cmake-for-beginner/9973 "2024-01-31T12:29:59Z")

</div>

I am beginner for Cmake builld(Linux,VS Code-PI-4 ).\[currently used Cmake-3.25.1\] Please prefer the documents to understand Cmake build from scratch. ( Previous referred document and links are below: 1) CMake Tutorial…

---

## [CMake doesn't respect 8.3 short paths for source and build directory](https://discourse.cmake.org/t/cmake-doesnt-respect-8-3-short-paths-for-source-and-build-directory/9941)

<div class="topic-metadata">

**Author:** [@cristianadam](https://discourse.cmake.org/u/cristianadam)\
**Replies:** 2\
**Last updated:** [January 26, 2024, 3:51pm UTC](https://discourse.cmake.org/t/cmake-doesnt-respect-8-3-short-paths-for-source-and-build-directory/9941 "2024-01-26T15:51:48Z")

</div>

Note I’ve posted this here because New Issue · CMake / CMake · GitLab (kitware.com) refused to accept the text below as: The form contains the following error: Your issue has been recognized as spam. Please, change t…

---

## [Suggestion: projects as first-class entities](https://discourse.cmake.org/t/suggestion-projects-as-first-class-entities/5366)

<div class="topic-metadata">

**Author:** [@benthevining](https://discourse.cmake.org/u/benthevining)\
**Replies:** 5\
**Last updated:** [January 26, 2024, 1:57pm UTC](https://discourse.cmake.org/t/suggestion-projects-as-first-class-entities/5366 "2024-01-26T13:57:40Z")

</div>

I think it would be an improvement to CMake if projects were considered “objects” in the same way as targets and directories – basically meaning you could set/retrieve properties on projects. I also think this would hel…

---

## [Installind CMake in RISC-V Linux](https://discourse.cmake.org/t/installind-cmake-in-risc-v-linux/9927)

<div class="topic-metadata">

**Author:** [@venkatanarayana\_maka](https://discourse.cmake.org/u/venkatanarayana_maka)\
**Replies:** 1\
**Last updated:** [January 25, 2024, 2:57pm UTC](https://discourse.cmake.org/t/installind-cmake-in-risc-v-linux/9927 "2024-01-25T14:57:00Z")

</div>

Hello all, I am trying to install in Linux based in Risc-v processor.Is there any CMake build for Risc-V architecture. Thanks.

---

## [\[RFC\] Adding support for Clang within the OpenACC module](https://discourse.cmake.org/t/rfc-adding-support-for-clang-within-the-openacc-module/9930)

<div class="topic-metadata">

**Author:** [@ajarmusch](https://discourse.cmake.org/u/ajarmusch)\
**Replies:** 1\
**Last updated:** [January 25, 2024, 2:56pm UTC](https://discourse.cmake.org/t/rfc-adding-support-for-clang-within-the-openacc-module/9930 "2024-01-25T14:56:01Z")

</div>

Hello, In support of the recent ongoing efforts to implement OpenACC in Clang/LLVM, Given LLVM’s utilization of CMake, we want to add support for the LLVM/Clang compiler in the OpenACC module. This would be highly used…

---

## [How does cmake-docs use Sphinx to parse comments in CMake files?](https://discourse.cmake.org/t/how-does-cmake-docs-use-sphinx-to-parse-comments-in-cmake-files/8593)

<div class="topic-metadata">

**Author:** [@hwhsu1231](https://discourse.cmake.org/u/hwhsu1231)\
**Replies:** 5\
**Last updated:** [January 24, 2024, 8:03am UTC](https://discourse.cmake.org/t/how-does-cmake-docs-use-sphinx-to-parse-comments-in-cmake-files/8593 "2024-01-24T08:03:31Z")

</div>

Excuse me, CMake Team. I’ve noticed before that many CMake files in Kitware/CMake have comments in the following format in their headers (ex. FindPython.cmake): #\[====================\[.rst: #\]====================\] An…

---

## [Doc versioning mechanism](https://discourse.cmake.org/t/doc-versioning-mechanism/4814)

<div class="topic-metadata">

**Author:** [@jwuttke](https://discourse.cmake.org/u/jwuttke)\
**Replies:** 11\
**Last updated:** [January 22, 2024, 3:12pm UTC](https://discourse.cmake.org/t/doc-versioning-mechanism/4814 "2024-01-22T15:12:35Z")

</div>

The versioning mechanism of the CMake docs is outstanding. I’d like to copy it in a project of mine. I cannot find the sources though, at least not by grepping for “This documents an old version of” or “Click here to se…

---

## [Handling of linker flags inconsistent](https://discourse.cmake.org/t/handling-of-linker-flags-inconsistent/9827)

<div class="topic-metadata">

**Author:** [@Neumann-A](https://discourse.cmake.org/u/Neumann-A)\
**Replies:** 4\
**Last updated:** [January 22, 2024, 2:49pm UTC](https://discourse.cmake.org/t/handling-of-linker-flags-inconsistent/9827 "2024-01-22T14:49:20Z")

</div>

While working on https://gitlab.kitware.com/cmake/cmake/-/merge\_requests/9107 I noticed that linker flag handling is inconsistent. What exactly is inconsistent? According to the docs variables like CMAKE\_SHARED\_LINKER\_…

[Previous page](https://discourse.cmake.org/c/development/9.md?page=8)

[Next page](https://discourse.cmake.org/c/development/9.md?page=10)
