3

最近、cmake と make について学び始めましたが、解決できない問題に遭遇しました。
IDE CLion で cmake を使用する小さなテスト アプリケーションと、make を使用するライブラリの 2 つのプロジェクトがあります。どちらのビルド システムも変更できません。cmakeプロジェクトから、makeを使ったものをビルドしたいと思います。ライブラリの make ファイルは、単独で正常に動作します。

これはプロジェクトのレイアウトです:

project/CMakeLists.txt
project/libvz/Makefile
project/libvz/main.cpp

私は次のことを試しました:

CMakeLists.txt:

cmake_minimum_required(VERSION 3.0.0)
project(builder)

add_custom_target("libvz"
                  "/usr/bin/make -f ${CMAKE_CURRENT_SOURCE_DIR}/libvz/Makefile")

この場合、「/bin/sh: /usr/bin/make -f /home/szil/project/libvz/Makefile: No such file or directory」というエラーが表示されます。

また、ExternalProject_Add および ExternalProject_Add_Step コマンドを使用してビルドしようとしましたが、どちらも機能しませんでした。

どんな助けでも大歓迎です、Thx!

4

1 に答える 1

5

makeコマンド全体を一連の引用符で囲むことは避けてください。これにより、CMake は「/usr/bin/make -f ...」という実行可能ファイルを探します。

add_custom_target(libvz
                  /usr/bin/make -f "${CMAKE_CURRENT_SOURCE_DIR}/libvz/Makefile")

一見すると、この仕事にはより良いツールのようにExternalProject_Add思えますが、これと同じ理由で機能していなかったのでしょうか?

于 2014-09-14T08:19:13.150 に答える