![](/img/trans.png)
[英]How to include Boost in a C++ project as a Git submodule in a CMake project?
[英]How to include existing CMake git repo as submodule in my own CMake project?
我正在嘗試使用OpenKinect項目編寫一些程序。 我想將OpenKinect的主分支添加為項目源的子目錄。 但是,如果你看看OpenKinect自己的CMake,那里有太多的東西,我不需要一切。 那里有某些選項,它們被設置為ON或OFF,如下所示:
OPTION(BUILD_AUDIO "Build audio support" OFF)
OPTION(BUILD_REDIST_PACKAGE "Build libfreenect in a legally-redistributable manner (only affects audio)" OFF)
OPTION(BUILD_EXAMPLES "Build example programs" ON)
OPTION(BUILD_FAKENECT "Build fakenect mock library" ON)
OPTION(BUILD_C_SYNC "Build c synchronous library" ON)
OPTION(BUILD_CPP "Build C++ Library (currently header only)" ON)
OPTION(BUILD_CV "Build OpenCV wrapper" ON)
OPTION(BUILD_AS3_SERVER "Build the Actionscript 3 Server Example" OFF)
OPTION(BUILD_PYTHON "Build Python extension" ON)
IF(PROJECT_OS_LINUX)
OPTION(BUILD_CPACK "Build an RPM or DEB using CPack" ON)
ENDIF(PROJECT_OS_LINUX)
如果不對OpenKinect文件進行任何重大更改(以便我可以在任何時候需要git pull
),如何只將一些部分(例如, C++ wrapper
和OpenCV bindings
)導入到我自己的CMake項目中? 如果我完全重寫CMake文件,我想到復制某些不依賴於其他目錄的目錄。 我不能再使用git,但這將是一個快速修復。 但是我得到了一些奇怪的錯誤,例如“stdexcept未在此范圍內聲明”,這沒有任何意義,因為它是一個標准的gc ++庫。
如果您只想啟用/禁用該庫的某些部分,只需在調用ADD_SUBDIRECTORY
之前設置適當的選項ADD_SUBDIRECTORY
。
只需使用與庫的CMakeLists.txt
相同的OPTION命令,但可以根據需要將它們設置為ON
/ OFF
。 當然,oyu可以隨意更改/選擇描述字符串。
或者(如果選項具有與true / false不同的值),則可以使用SET(.... CACHE ... )
例如
SET(BUILD_CPP TRUE CACHE BOOL "Build C++ Library (currently header only)")
類似的問題: 在CMake子項目中覆蓋選項
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.