0
我有一個包含4個不同子項目的項目。要指定版本,我使用使用cmake進行庫版本控制
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。根據文檔應自動設置,但每當我嘗試打印它,它是空的,沒有使用代碼中的最後一行。 Q2302。如果我想從子目錄下建而已,我得到一個錯誤喊:
CMake Error at CMakeLists.txt:28 (set_target_properties):
set_target_properties called with incorrect number of arguments.
這是因爲我使用parent_VERSION那裏。
所以,我明白,這是不能夠得到parent_VERSION不從頂級目錄運行cmake的,但我怎麼更改代碼,使得它可以構建即使沒有從頂層運行。 我用INHERITED瞭解了SET
,但我不認爲這是我需要的。
我會更傾向於做'設置(parent_VERSION $ {} parent_VERSION_MAJOR $ {} parent_VERSION_MINOR $ {} parent_VERSION_PATCH)'避免變量之間失去同步。 – Fraser