# Development

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

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

**Page:** 12

---

## [Feature request / RFC: Improve the documentation for paragraph Object Libraries](https://discourse.cmake.org/t/feature-request-rfc-improve-the-documentation-for-paragraph-object-libraries/9062)

<div class="topic-metadata">

**Author:** [@mihi32](https://discourse.cmake.org/u/mihi32)\
**Replies:** 2\
**Last updated:** [September 23, 2023, 7:27pm UTC](https://discourse.cmake.org/t/feature-request-rfc-improve-the-documentation-for-paragraph-object-libraries/9062 "2023-09-23T19:27:01Z")

</div>

Object Libraries add\_library( OBJECT \[…\]) Creates an Object Library. An object library compiles source files but does not archive or link their object files into a library. Instead other targets created by add\_library …

---

## [Some questions regarding using the file API](https://discourse.cmake.org/t/some-questions-regarding-using-the-file-api/9012)

<div class="topic-metadata">

**Author:** [@neundorf](https://discourse.cmake.org/u/neundorf)\
**Replies:** 3\
**Last updated:** [September 20, 2023, 10:17pm UTC](https://discourse.cmake.org/t/some-questions-regarding-using-the-file-api/9012 "2023-09-20T22:17:58Z")

</div>

Hi, I’m starting to have a look at the file API (in order to use it for Kate), and some questions came up. Shared vs. client queries: when should I use which ? A client query seems to make sense to me, but what would…

---

## [Adding filename cache for Archive Generator in ALL\_COMPONENTS\_IN\_ONE](https://discourse.cmake.org/t/adding-filename-cache-for-archive-generator-in-all-components-in-one/9007)

<div class="topic-metadata">

**Author:** [@thelta](https://discourse.cmake.org/u/thelta)\
**Replies:** 1\
**Last updated:** [September 19, 2023, 1:47pm UTC](https://discourse.cmake.org/t/adding-filename-cache-for-archive-generator-in-all-components-in-one/9007 "2023-09-19T13:47:25Z")

</div>

In our monorepo, for every target we create a component for executable/shared library itself and another component for its runtime dependencies. We are doing runtime dependency installation via install(RUNTIME\_DEPENDENCY…

---

## [Bootstrap-ability of CMake](https://discourse.cmake.org/t/bootstrap-ability-of-cmake/8999)

<div class="topic-metadata">

**Author:** [@friendlyanon](https://discourse.cmake.org/u/friendlyanon)\
**Replies:** 3\
**Last updated:** [September 18, 2023, 10:04pm UTC](https://discourse.cmake.org/t/bootstrap-ability-of-cmake/8999 "2023-09-18T22:04:42Z")

</div>

I had the idea that since CMake is pretty fundamental software at this point, would it be worth to take a look at the bootstrap-ability of the project? Right now, the way to build from scratch is to setup a POSIX enviro…

---

## [CMake-internal CURL\_DISABLE\_HSTS ON](https://discourse.cmake.org/t/cmake-internal-curl-disable-hsts-on/8917)

<div class="topic-metadata">

**Author:** [@scivision](https://discourse.cmake.org/u/scivision)\
**Replies:** 5\
**Last updated:** [September 13, 2023, 4:43pm UTC](https://discourse.cmake.org/t/cmake-internal-curl-disable-hsts-on/8917 "2023-09-13T16:43:52Z")

</div>

I was looking at CMake’s Utilities/cmcurl/CMakeLists.txt and noticed set(CURL\_DISABLE\_HSTS ON) while Curl’s general default is OFF. Basically, I’m wanting to be sure that CMake default is to use Curl with HSTS for sec…

---

## [file(DOWNLOAD) offline mode](https://discourse.cmake.org/t/file-download-offline-mode/8916)

<div class="topic-metadata">

**Author:** [@leha-bot](https://discourse.cmake.org/u/leha-bot)\
**Replies:** 4\
**Last updated:** [September 13, 2023, 12:33pm UTC](https://discourse.cmake.org/t/file-download-offline-mode/8916 "2023-09-13T12:33:20Z")

</div>

It would be great if CMake could simulate an absent Internet connection for file(DOWNLOAD) via CMAKE\_FILE\_DOWNLOAD\_OFFLINE\_MODE (or CMAKE\_OFFLINE\_MODE, the latter also may control the FetchContent\_\*\*() or another network…

---

## [CMake adds support for the OHOS platform](https://discourse.cmake.org/t/cmake-adds-support-for-the-ohos-platform/8902)

<div class="topic-metadata">

**Author:** [@zchrissirhcz](https://discourse.cmake.org/u/zchrissirhcz)\
**Replies:** 0\
**Last updated:** [September 7, 2023, 2:05am UTC](https://discourse.cmake.org/t/cmake-adds-support-for-the-ohos-platform/8902 "2023-09-07T02:05:17Z")

</div>

Hello, I am a user (instead of developer) of Huawei’s OHOS sdk native (or, maybe we can call it OHOS NDK, which seems very similar to Android NDK). I downloaded the latest CMake (version 3.27.4), and CMake configure give…

---

## [No Qt tests done for windows external test ci phase](https://discourse.cmake.org/t/no-qt-tests-done-for-windows-external-test-ci-phase/8885)

<div class="topic-metadata">

**Author:** [@alcroito](https://discourse.cmake.org/u/alcroito)\
**Replies:** 3\
**Last updated:** [September 6, 2023, 12:15pm UTC](https://discourse.cmake.org/t/no-qt-tests-done-for-windows-external-test-ci-phase/8885 "2023-09-06T12:15:27Z")

</div>

Hi, I was checking why neither gitlab CI nor nightly cdash is running Qt AUTOGEN tests for the t:windows-vs2022-x64 / nightly-cmake-windows\_vs2022\_x64 https://gitlab.kitware.com/cmake/cmake/-/jobs/8645764 https://ope…

---

## [RFC: Deprecating direct calls to FetchContent\_Populate()](https://discourse.cmake.org/t/rfc-deprecating-direct-calls-to-fetchcontent-populate/8161)

<div class="topic-metadata">

**Author:** [@craig.scott](https://discourse.cmake.org/u/craig.scott)\
**Replies:** 6\
**Last updated:** [September 5, 2023, 5:54pm UTC](https://discourse.cmake.org/t/rfc-deprecating-direct-calls-to-fetchcontent-populate/8161 "2023-09-05T17:54:36Z")

</div>

In the early days of FetchContent (CMake 3.11 – 3.13), projects were required to implement the following pattern to populate a dependency: FetchContent\_GetProperties(depname) if(NOT depname\_POPULATED) FetchContent\_Pop…

---

## [Consolidated page for organizing release notes](https://discourse.cmake.org/t/consolidated-page-for-organizing-release-notes/8832)

<div class="topic-metadata">

**Author:** [@jcfr](https://discourse.cmake.org/u/jcfr)\
**Replies:** 4\
**Last updated:** [August 29, 2023, 8:42pm UTC](https://discourse.cmake.org/t/consolidated-page-for-organizing-release-notes/8832 "2023-08-29T20:42:25Z")

</div>

The release notes for each version are currently independently available at https://cmake.org/cmake/help/latest/release/index.html Question: How we we feel about adding a condolidated page with all the release notes agg…

---

## [icx on Windows supports -external:I](https://discourse.cmake.org/t/icx-on-windows-supports-external-i/8739)

<div class="topic-metadata">

**Author:** [@FROMAGMA](https://discourse.cmake.org/u/FROMAGMA)\
**Replies:** 1\
**Last updated:** [August 15, 2023, 4:40pm UTC](https://discourse.cmake.org/t/icx-on-windows-supports-external-i/8739 "2023-08-15T16:40:13Z")

</div>

Hi, We use Intel oneAPI 2023.2.0 on Windows with VS2019 installed and found out that icx supports the -external:I option for suppressing warnings from includes which came from these paths. We use Ninja generator on Win…

---

## [FindGTest always links "Threads::Threads" to target "GTest::GTest"](https://discourse.cmake.org/t/findgtest-always-links-threads-threads-to-target-gtest-gtest/8703)

<div class="topic-metadata">

**Author:** [@PiJ82](https://discourse.cmake.org/u/PiJ82)\
**Replies:** 3\
**Last updated:** [August 9, 2023, 4:01pm UTC](https://discourse.cmake.org/t/findgtest-always-links-threads-threads-to-target-gtest-gtest/8703 "2023-08-09T16:01:25Z")

</div>

Hey everyone, in case find\_package(GTest) successfully imports the GTest::GTest target via the FindGTest.cmake module (and no matching gtest config script could be found), Threads::Threads is always added as interface l…

---

## [Why CMake pass '-MD -MT' flags to gcc c++ and clang++ while compiling on Linux?](https://discourse.cmake.org/t/why-cmake-pass-md-mt-flags-to-gcc-c-and-clang-while-compiling-on-linux/4998)

<div class="topic-metadata">

**Author:** [@JustLuoyu](https://discourse.cmake.org/u/JustLuoyu)\
**Replies:** 3\
**Last updated:** [August 7, 2023, 11:19am UTC](https://discourse.cmake.org/t/why-cmake-pass-md-mt-flags-to-gcc-c-and-clang-while-compiling-on-linux/4998 "2023-08-07T11:19:51Z")

</div>

To my knowledge, these seem to be MSVC’s runtime flags. I could not find them in GCC or clang’s manuals.

---

## [CMake Python scripting frontend experiment](https://discourse.cmake.org/t/cmake-python-scripting-frontend-experiment/8643)

<div class="topic-metadata">

**Author:** [@ignus2](https://discourse.cmake.org/u/ignus2)\
**Replies:** 2\
**Last updated:** [July 31, 2023, 1:31pm UTC](https://discourse.cmake.org/t/cmake-python-scripting-frontend-experiment/8643 "2023-07-31T13:31:04Z")

</div>

This has come a couple times in the past but now something actually usable is here. I extended CMake with an embedded Python interpreter that allows optionally replacing parts (or the whole) of the configure process wi…

---

## [Dynamic explicit dependency during build time](https://discourse.cmake.org/t/dynamic-explicit-dependency-during-build-time/8633)

<div class="topic-metadata">

**Author:** [@namniav](https://discourse.cmake.org/u/namniav)\
**Replies:** 2\
**Last updated:** [July 29, 2023, 8:50pm UTC](https://discourse.cmake.org/t/dynamic-explicit-dependency-during-build-time/8633 "2023-07-29T20:50:54Z")

</div>

In short: Is there a way to generate and use dynamic explicit dependencies during build time for targets and/or custom commands? In long: Let’s use C++20 modules for example: compiling a source file will generate two o…

---

## [OpenMP option for Cray is -fopenmp](https://discourse.cmake.org/t/openmp-option-for-cray-is-fopenmp/8540)

<div class="topic-metadata">

**Author:** [@alainm](https://discourse.cmake.org/u/alainm)\
**Replies:** 2\
**Last updated:** [July 18, 2023, 3:38pm UTC](https://discourse.cmake.org/t/openmp-option-for-cray-is-fopenmp/8540 "2023-07-18T15:38:25Z")

</div>

Cray is a clang based compiler (at least for C C++). It uses -fopenmp to enable OpenMP. Yet, FindOpenMP.cmake 3.27 mention: # Cray compiler activate OpenMP with -h omp, which is enabled by default. …

---

## [Feature request: CTEST - Individual log files per test](https://discourse.cmake.org/t/feature-request-ctest-individual-log-files-per-test/8425)

<div class="topic-metadata">

**Author:** [@0xEvie](https://discourse.cmake.org/u/0xEvie)\
**Replies:** 4\
**Last updated:** [July 14, 2023, 12:54pm UTC](https://discourse.cmake.org/t/feature-request-ctest-individual-log-files-per-test/8425 "2023-07-14T12:54:35Z")

</div>

Hey there, Summary: CTest outputs one unified log file when running “-O output.log”. I would love to see an option where you could generate a log file per CTest test into a log directory. It would be particularly hel…

---

## [Fatal errors not halting processing](https://discourse.cmake.org/t/fatal-errors-not-halting-processing/3752)

<div class="topic-metadata">

**Author:** [@craig.scott](https://discourse.cmake.org/u/craig.scott)\
**Replies:** 9\
**Last updated:** [July 11, 2023, 9:59pm UTC](https://discourse.cmake.org/t/fatal-errors-not-halting-processing/3752 "2023-07-11T21:59:56Z")

</div>

Sorry in advance that this is pretty vague, but wanted to bring it up before 3.21.0 gets officially released. I’ve noticed lately that it seems like various built-in commands are not halting when they encounter fatal err…

---

## [How did CMake Documentation deal with its Version Switcher before v3.9.0?](https://discourse.cmake.org/t/how-did-cmake-documentation-deal-with-its-version-switcher-before-v3-9-0/8490)

<div class="topic-metadata">

**Author:** [@hwhsu1231](https://discourse.cmake.org/u/hwhsu1231)\
**Replies:** 1\
**Last updated:** [July 11, 2023, 4:08pm UTC](https://discourse.cmake.org/t/how-did-cmake-documentation-deal-with-its-version-switcher-before-v3-9-0/8490 "2023-07-11T16:08:13Z")

</div>

Hello CMake Team. According to this topic, the mechanism of adding the Version Switcher into CMake Documentation is to pass -A versionswitch=1 to Sphinx flag. Therefore, we can see the following codes in the Utilities/S…

---

## [configure\_file feature request](https://discourse.cmake.org/t/configure-file-feature-request/8462)

<div class="topic-metadata">

**Author:** [@robiwano](https://discourse.cmake.org/u/robiwano)\
**Replies:** 2\
**Last updated:** [July 9, 2023, 4:32pm UTC](https://discourse.cmake.org/t/configure-file-feature-request/8462 "2023-07-09T16:32:01Z")

</div>

I have a feature proposal for configure\_file. Today, variables must be single element only, otherwise a ; is pasted into the configured file. With the following multi element list: set(TESTING “ONE” “TWO” “THREE” “FOUR…

---

## [CMake Autogeneration of files missing (Visual Studio build eror)](https://discourse.cmake.org/t/cmake-autogeneration-of-files-missing-visual-studio-build-eror/8428)

<div class="topic-metadata">

**Author:** [@PottiRajesh](https://discourse.cmake.org/u/PottiRajesh)\
**Replies:** 2\
**Last updated:** [July 4, 2023, 11:57am UTC](https://discourse.cmake.org/t/cmake-autogeneration-of-files-missing-visual-studio-build-eror/8428 "2023-07-04T11:57:25Z")

</div>

I am trying to build a Visual studio solution (\*.sln) generated by CMake using CMakeLists.txt as input. I ran the command cmake -Ax64 -G"Visual Studio 15" -H%SRC\_FOLDER% -B%SRC\_FOLDER%/.build in order to generate the so…

---

## [How can you figure out which commit went into which version of cmake?](https://discourse.cmake.org/t/how-can-you-figure-out-which-commit-went-into-which-version-of-cmake/8409)

<div class="topic-metadata">

**Author:** [@shabiel](https://discourse.cmake.org/u/shabiel)\
**Replies:** 2\
**Last updated:** [June 27, 2023, 1:48am UTC](https://discourse.cmake.org/t/how-can-you-figure-out-which-commit-went-into-which-version-of-cmake/8409 "2023-06-27T01:48:30Z")

</div>

I am specifically looking at this commit: c0da651c09e11f9868529b7f8c4dc8f97c4546c8. Contextually, it looks it went into version 3.16 or 3.17, but I can’t tell which.

---

## [\--rc=rc --mt=CMAKE\_MT-NOTFOUND](https://discourse.cmake.org/t/rc-rc-mt-cmake-mt-notfound/5089)

<div class="topic-metadata">

**Author:** [@buildSystemPerson](https://discourse.cmake.org/u/buildSystemPerson)\
**Replies:** 22\
**Last updated:** [June 25, 2023, 7:53pm UTC](https://discourse.cmake.org/t/rc-rc-mt-cmake-mt-notfound/5089 "2023-06-25T19:53:00Z")

</div>

================================ UPDATE: I found the cause of the bug! TLDR: Registry editing has been disabled by your administrator. Link to the Visual Studio issue with full details ==============================…

---

## [Feature Request: Set default options and namespace entry in add\_subdirectory](https://discourse.cmake.org/t/feature-request-set-default-options-and-namespace-entry-in-add-subdirectory/8404)

<div class="topic-metadata">

**Author:** [@shakfu](https://discourse.cmake.org/u/shakfu)\
**Replies:** 2\
**Last updated:** [June 25, 2023, 7:15am UTC](https://discourse.cmake.org/t/feature-request-set-default-options-and-namespace-entry-in-add-subdirectory/8404 "2023-06-25T07:15:30Z")

</div>

As per this stackoverflow answer, it looks like subproject options may be global to the project itself. If that’s the case, then it is possible that a project with a number of subprojects may have option collisions. If …

---

## [rc2: InnoSetup: relative filenames not interpreted as relative to CMAKE\_CURRENT\_SOURCE\_DIR](https://discourse.cmake.org/t/rc2-innosetup-relative-filenames-not-interpreted-as-relative-to-cmake-current-source-dir/8381)

<div class="topic-metadata">

**Author:** [@neundorf](https://discourse.cmake.org/u/neundorf)\
**Replies:** 1\
**Last updated:** [June 21, 2023, 10:14pm UTC](https://discourse.cmake.org/t/rc2-innosetup-relative-filenames-not-interpreted-as-relative-to-cmake-current-source-dir/8381 "2023-06-21T22:14:13Z")

</div>

Hi, I’m giving the new innosetup generator a try. Good news, it works :slight\_smile: I noticed that CPACK\_PACKAGE\_ICON and CPACK\_RESOURCE\_LICENSE\_FILE don’t interpret relative paths as relative to CMAKE\_CURRENT\_SOURCE…

---

## [Bug: Target install should allow possible absolute CMAKE\_INSTALL\_INCLUDEDIR](https://discourse.cmake.org/t/bug-target-install-should-allow-possible-absolute-cmake-install-includedir/8353)

<div class="topic-metadata">

**Author:** [@ItsBasi](https://discourse.cmake.org/u/ItsBasi)\
**Replies:** 3\
**Last updated:** [June 20, 2023, 2:52pm UTC](https://discourse.cmake.org/t/bug-target-install-should-allow-possible-absolute-cmake-install-includedir/8353 "2023-06-20T14:52:54Z")

</div>

According to GNUInstallDirs an absolute CMAKE\_INSTALL\_INCLUDEDIR should be expected by install(TARGETS FILE\_SET HEADERS). But cmake generates configs which constructs include directories like “D:/Repositories/cmake/bui…

---

## [Why did "cmake-developer" change its contents since version 3.14?](https://discourse.cmake.org/t/why-did-cmake-developer-change-its-contents-since-version-3-14/8321)

<div class="topic-metadata">

**Author:** [@hwhsu1231](https://discourse.cmake.org/u/hwhsu1231)\
**Replies:** 1\
**Last updated:** [June 13, 2023, 2:52pm UTC](https://discourse.cmake.org/t/why-did-cmake-developer-change-its-contents-since-version-3-14/8321 "2023-06-13T14:52:47Z")

</div>

I noticed that the contents of “cmake-developer” did a big change since version 3.14. Can I ask why CMake Team did this change? The following contents is of version 3.14: The following contents is of version 3.13: …

---

## [Is there a way to check when any cmake task has finished purely from the filesystem/build directory?](https://discourse.cmake.org/t/is-there-a-way-to-check-when-any-cmake-task-has-finished-purely-from-the-filesystem-build-directory/8271)

<div class="topic-metadata">

**Author:** [@J\_Rohit](https://discourse.cmake.org/u/J_Rohit)\
**Replies:** 4\
**Last updated:** [June 9, 2023, 4:54am UTC](https://discourse.cmake.org/t/is-there-a-way-to-check-when-any-cmake-task-has-finished-purely-from-the-filesystem-build-directory/8271 "2023-06-09T04:54:06Z")

</div>

If I am running a cmake task, let’s say CMakeConfigure, (and I know that I am running configure in the main thread), Is there a way for another thread to check if this configure step is completed just by looking at the F…

---

## [Difference between git-master and git-stage of cmake-docs?](https://discourse.cmake.org/t/difference-between-git-master-and-git-stage-of-cmake-docs/8229)

<div class="topic-metadata">

**Author:** [@hwhsu1231](https://discourse.cmake.org/u/hwhsu1231)\
**Replies:** 1\
**Last updated:** [May 29, 2023, 2:00pm UTC](https://discourse.cmake.org/t/difference-between-git-master-and-git-stage-of-cmake-docs/8229 "2023-05-29T14:00:49Z")

</div>

I noticed that besides the release versions, there are also options for git-master and git-stage in the drop-down menu. I wondered what is the difference between these two versions?

---

## [NVHPC: can't build CMake from source \>= 3.25.0](https://discourse.cmake.org/t/nvhpc-cant-build-cmake-from-source-3-25-0/7653)

<div class="topic-metadata">

**Author:** [@scivision](https://discourse.cmake.org/u/scivision)\
**Replies:** 4\
**Last updated:** [May 28, 2023, 9:56pm UTC](https://discourse.cmake.org/t/nvhpc-cant-build-cmake-from-source-3-25-0/7653 "2023-05-28T21:56:38Z")

</div>

Changes to CMake internal C++ code for try\_compile in 3.25 and a couple other places seem to have triggered bugs in NVHPC compiler. I would guess these are actually NVHPC bugs, but over subsequent CMake development, more…

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

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