2011-06-28 11 views
1

要約:
私は内部的に 'make'を使用するオープンソースプロジェクトを使用しています。私は使用するのが非常に複雑であることを知っているので、私は自分のコードに 'cmake'を使用したいが、既存のオープンソースプロジェクトコードはmakeによって管理されたままである。cmake出力を依存関係として設定するにはどうしたらいいですか?

問題:私の 'cmake'ビルドスクリプトを 'make'から呼び出す方法が見つからず、 'cmake'出力(.soライブラリ)が 'ビルドする。 マニュアルの大部分を読んで、運がない「make」に関する多くのオンラインチュートリアルを調べました。

さらに詳細:
私自身のコードはC++で書かれたので、私の「cmakeの」スクリプトは、2つの支店を持っているされています。それは、実行可能ファイルを作成し、または変数が設定されている場合、それは、ライブラリを作成しますどちらか。 'cmake'スクリプトのコマンドライン引数を 'make'の中から渡す必要があります。

私はあなたが助けてくれることを願っています!

+0

は、あなたがしたいですかライブラリ:これまで

all: maybe-some-preqs do-some-things 

変更、それを:メイクファイルのデフォルトのターゲットは、(おそらく)このようなルールで、最初のターゲットになります特定の 'make'ターゲット? – Beta

+0

@Beta:デフォルトの目標は問題ありません。私はそれを少し曖昧に記述したかもしれないと思う。 「依存関係」では、私のC++ライブラリをopen srcプロジェクトにリンクする必要があります。その特別なことは、-lnameを付け加えるだけですが、cmakeを実行して、どのようにしてmakeを実行するのですか?オープンsrcプロジェクトの元のmakeはライブラリをビルドしてリンクできるようにします。 – Blub

答えて

2

私はあなたの質問を正しく理解していれば、これを行う方法です。の前提条件であることを

all: maybe-some-preqs libraryName.so 
    do-some-things 

libraryName.so: 
    command-that-runs-cmake-just-as-if-you-were-doing-it-from-the-command-line 
関連する問題