ビルドされたライブラリのネイティブ名 (libfoo.so または foo.dll) を add_custom_command に渡す必要があります。
ターゲットの完全なライブラリ名を取得するにはどうすればよいですか?
プロパティLOCATION
にはそれがありますが、フルパスがあります。プロパティ OUTPUT_NAME は何も返しません。
ビルドされたライブラリのネイティブ名 (libfoo.so または foo.dll) を add_custom_command に渡す必要があります。
ターゲットの完全なライブラリ名を取得するにはどうすればよいですか?
プロパティLOCATION
にはそれがありますが、フルパスがあります。プロパティ OUTPUT_NAME は何も返しません。
ジェネレータ式 を使用できます$<TARGET_FILE_NAME:tgt>
。ここで、tgt
はターゲットの論理 CMake 名です。
例:
add_library(myLib a.cpp)
add_custom_command(
OUTPUT someOutput
COMMAND myProcessor --input $<TARGET_FILE_NAME:myLib> --output someOutput
# ...
)
ジェネレーター式の詳細については、(CMake 2.xの場合) のドキュメントadd_custom_command()
または専用のジェネレーター式のドキュメント(CMake 3+ の場合) を参照してください。