1

INCLUDE(CPack)ファイル内では、生成されたビルド ファイルにCMakeLists.txtという名前のターゲットが追加されます。package生成されたターゲットとその動作について多くのことを構成できますが、ターゲット自体の名前を変更する方法が見つからないようです。つまり、Makefileという名前のターゲットを含む生成された の代わりに、代わりにpackage(たとえば) という名前のターゲットを含めたいと思いbundleます。これを行う方法はありますか?

4

1 に答える 1

5

CMake は、指定packageされたパッケージ構成ファイルCPackConfig.cmakeが最も外側のバイナリ ビルド ディレクトリに存在する場合にのみ、既定のターゲットを追加します。CPack モジュールに強制的に別の名前でパッケージ ファイルを生成させることで、packageターゲットが作成されないようにすることができます。

set (CPACK_OUTPUT_CONFIG_FILE "${CMAKE_BINARY_DIR}/BundleConfig.cmake")
include(CPack)

bundle次に、ターゲットを手動で追加できます。

add_custom_target(bundle
    COMMAND "${CMAKE_CPACK_COMMAND}" 
    "-C" "$<CONFIGURATION>" "--config" "${CMAKE_BINARY_DIR}/BundleConfig.cmake")

package_sourceこれは、デフォルトのターゲットにも当てはまります。この変数CPACK_SOURCE_OUTPUT_CONFIG_FILEを使用して、デフォルトのパッケージ構成ファイル名をオーバーライドしますCPackSourceConfig.cmake

于 2012-09-06T17:43:59.477 に答える