1

CMakeLists.txtユーザーが電話をかけたときにファイルの一部を無視したい

make package

したがって、CMAKE_COMMANDやCMAKE_PACKAGINGなどの変数を探しています。

if (CMAKE_COMMAND EQUAL 'package') ...

また

if (CMAKE_PACKAGING) ...

これは存在しますか?それは達成できますか?

4

1 に答える 1

0

CMakeは、それらを使用するユーザーが期待する規則に従う「事前定義された」makeターゲットを含むmakeファイルを生成します。all、install、package、testなどのターゲット。

「install」および「package」makeターゲットは、通常、デフォルトで「all」makeターゲットに依存します。(したがって、「make install」と入力すると、最初に「make all」が実行され、インストールが行われる前にすべてが最新であることを確認します。同様に「package」も同様です。)

'make package'が実際に行うことは、内部でcpackを呼び出すことです。

/full/path/to/cpack --config ./CPackConfig.cmake

次のコマンドを実行すると、次のコマンドラインが呼び出されていることがわかります。

make package VERBOSE=1

CMakeLists.txtファイルのどの部分をパッケージケースでスキップしますか?CMakeの設定時にパッケージ化が行われないため、探しているような変数はありません。これは、ビルド後、ユーザーが「makepackage」または「cpack」を明示的に呼び出したときに発生します。

于 2011-06-16T10:56:22.517 に答える