以下のような構造のプロジェクトがあります。
\build
\deps
\src
CMakeLists.txt
clean.cmake
にはいくつかのライブラリ依存関係がありますdeps
。これらのライブラリにはすべて CMakeinstall
コマンドがあります。
の後install
、出力ファイルは次のbuild
ディレクトリに配置されます。
\build\fin\bin
\build\fin\lib
\build\fin\include
私の場合、実行cmake package
してバイナリ インストール パッケージを生成し_CPack_Packages
ます。
問題は、バイナリに含まれるlib
必要がないことです。include
しかし、私はまだ解決策を見つけていません。
次の方法を試しました。
CPACK_SOURCE_IGNORE_FILES
とCPACK_SOURCE_STRIP_FILES
。
これらは、私が考えるソースをパッケージ化するためのものであり、私の場合には機能しません。
- ポスト インストール スクリプト
instal(SCRIPT "${CMAKE_CURRENT_SOURCE_DIR}/clean.cmake")
を使用して、不要なファイル/ディレクトリを削除します。
clean.cmake
、if(EXISTS "${CMAKE_INSTALL_PREFIX}/bin/ProjectA.lib")
返されたでは、スクリプトの実行FALSE
中はディレクトリに何もありませんが、${CMAKE_INSTALL_PREFIX}
終了後にファイルを見つけることができます。
- を変更してみてください
install_manifest.txt
。このファイルに正しくアクセスする方法が見つかりません。これが機能するかどうかはわかりません。
ご協力ありがとうございました!
編集:
以下のinstall
ようなコマンド:
install(TARGETS ${INS_TARGETS}
RUNTIME DESTINATION bin COMPONENT applications
LIBRARY DESTINATION lib COMPONENT libraries
ARCHIVE DESTINATION lib COMPONENT libraries
)