5

CMakeのインストールが完了した後にスクリプトを実行しようとしています。このスレッドはSOで見つかりましたが、スクリプトがインストールされているターゲットに依存しているため、まだ機能しません。

基本的に、私のスクリプトはターゲットがインストールされる前に実行されます。これは、CMakeがサブディレクトリのターゲットをインストールするコードを最後に配置しているように見えるためですcmake_install.cmake

これは問題を説明する例です。サブディレクトリCMakeファイル:

# src/CMakeLists.txt
add_executable(foo main.cpp)
install(TARGETS foo DESTINATION bin)

トップレベルのCMakeファイル:

# Top-level CMakeLists.txt
cmake_minimum_required(VERSION 2.8)
add_subdirectory(src)
install(CODE "execute_process(COMMAND ls ${CMAKE_INSTALL_PREFIX}/bin/foo)")

ランニングmake installイールド:

-- Install configuration: "debug"
ls: cannot access /tmp/dummy/bin/foo: No such file or directory
-- Installing: /tmp/dummy/bin/foo

この動作を回避する方法はありますか?ありがとう!

4

1 に答える 1

4

cmakeがサブディレクトリインストールターゲットをcmake_installの最後に配置することがわかった場合は、他のすべてのターゲットの後に実行する必要があることを含むcmakeを使用して別のサブディレクトリを追加できます。

于 2013-02-22T15:35:04.447 に答える