我正在嘗試使用OpenKinect項目編寫一些程序。我想將OpenKinect的主分支添加爲我的項目源代碼的子目錄。但是,如果你看看OpenKinect自己的CMake,那裏有太多的東西,我不需要一切。有一些選擇在那裏,它被設置爲ON或OFF,像這樣:如何在我自己的CMake項目中包含現有的CMake git repo作爲子模塊?
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++庫。
爲什麼不 「叉」 OpenKinect,並保持在一個單獨的分支更改。這樣你就可以在git-OpenKinect的更新中保持「拉」狀態,同時保持你的「修改」在一個單獨的分支上。那麼你可以做約翰內斯S的建議。 –