Cmake で外部 github プロジェクトを追加する際に問題があります。目的は、ROS (Catkin) プロジェクトで github パッケージ ACDO を使用することです。インストール手順は、http: //acado.github.io/install_linux.htmlにあります。
ツールキット コードをダウンロードしてください。私たちの提案は、常に安定版ブランチをクローンすることです:
git clone https://github.com/acado/acado.git -b stable ACADOtoolkit
ACADOtoolkit フォルダーに移動し、アウトオブソース ビルド用のビルド フォルダーを作成します。
cd ACADOtoolkit mkdir build cd build
CMake を実行して makefile を生成し、ビルド プロセスを開始します。
cmake .. make
このパッケージを使用するには、ACADOtoolkit を次のフォルダーにダウンロードしてビルドします。
catkin_ws/src/myProj/thirdparty/
このため、ACADOtoolkit を外部プロジェクトとして追加します。プロジェクトをサードパーティのフォルダーに git clone して、次のようにする必要があります。
catkin_ws/src/myProj/thirdparty/ACADOtoolkit
その後、ビルド フォルダー catkin_ws/src/myProj/thirdparty/ACADOtoolkit/build を作成し、プロジェクトをビルドする必要があります。
cd catkin_ws/src/myProj/thirdparty/ACADOtoolkit/build
cmake ..
make
以下を使用して、プロジェクトを正常に catkin_ws/src/myProj/thirdparty/ にダウンロードできます。
ExternalProject_Add(acadooo
DOWNLOAD_COMMAND git clone https://github.com/acado/acado.git -b stable ACADOtoolkit
DOWNLOAD_DIR ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/
)
残念ながら、後でシステムを構築することはできません
ExternalProject_Add(acado
DOWNLOAD_COMMAND git clone https://github.com/acado/acado.git -b stable ACADOtoolkit
DOWNLOAD_DIR ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/
BINARY_DIR ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/ACADOtoolkit/build/
BUILD_COMMAND make
)
build フォルダーは ACACADOtoolkit フォルダー内に作成する必要があるため、受け取る
destination path 'ACADOtoolkit' already exists and is not an empty directory.
ソースのビルドも同じエラーで終了します。
ExternalProject_Add(acado
DOWNLOAD_COMMAND git clone https://github.com/acado/acado.git -b stable ACADOtoolkit
DOWNLOAD_DIR ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/build/
BUILD_COMMAND make
BUILD_IN_SOURCE 1
)
さらに、プロジェクトをビルドするたびに、ディレクトリを事前に削除する必要があります。これらの問題を解決してソースに組み込む方法はありますか?