我有一个包含 4 个不同子项目的项目。要指定版本,我使用
SET(parent_VERSION_MAJOR 1)
SET(parent_VERSION_MINOR 0)
set(parent_VERSION_PATCH 0)
set(parent_VERSION 1.0.0)
如果使用了 add_subdirectory,我可以在子项目中使用它。
Q1。我无法根据 MAJOR、MINOR 和 PATCH 设置 parent_VERSION。根据文档应该自动设置但是每当我尝试打印它时,它是空的,而不使用代码中的最后一行。
Q2。如果我只想从子目录构建,我会收到错误提示:
CMake Error at CMakeLists.txt:28 (set_target_properties):
set_target_properties called with incorrect number of arguments.
这是因为我在那里使用 parent_VERSION。
所以我知道如果不从顶层目录运行 cmake 就无法获得 parent_VERSION 但是我如何更改代码以便即使不从顶层运行它也可以构建。我读到SET
了 INHERITED,但我认为这不是我需要的。