我的項目依賴於大型第三方庫(OpenMVG)。 目前尚未安裝。官方建築說明建議與add_subdirectory
一起使用。在CMake中爲第三方庫設置解決方案文件夾屬性
因此我CMakeLists.txt
包含以下行
add_subdirectory(${OpenMVG_DIR}/src "${CMAKE_BINARY_DIR}/openMVG")
include_directories(${OpenMVG_INCLUDES})
add_executable(f_matching f_matching.cpp)
target_link_libraries(f_matching ${OpenMVG_LIBS})
我的平臺是Visual Studio,並生成解決方案包含了頂級的72個項目。我想用FOLDER
CMake屬性在層次結構中對其進行組織。例如,我想將所有OpenMVG的項目移到單獨的VS解決方案文件夾。
但是,正如CMake文檔所述,該屬性只能分配給目標,而不能分配給目錄。 我CMakeLists.txt
包含
set_property(DIRECTORY ${OpenMVG_DIR}/src PROPERTY FOLDER OpenMVG)
,但此行不執行任何操作,無解的文件夾出現。 我試圖通過在目標上設置FOLDER
屬性來修改幾個OpenMVG的CMakeLists,這工作。
對於這種情況,是否有任何解決方法,而不需要從OpenMVG更改CMakeLists? 目前,我想花時間完成其他任務,並推遲將來進行簡單編輯。
從你自己的CMakeLists調用所有72個OpenMVG目標的'set_property'有什麼問題?當然,這有點乏味,但你只需要做一次。 – ComicSansMS 2014-09-11 08:39:07
是的,沒有錯。已經這樣做了。 – wl2776 2014-09-11 09:17:41