FindXXX.cmake
外部 C ライブラリのスクリプトを作成しています。スクリプトでライブラリのバージョンに関する情報を提供したいと考えています。ただし、ライブラリは、バージョン番号を文字列として返す関数の形式でこの情報を提供するだけです。
FindXXX.cmake
次の C プログラムをオンザフライでコンパイルすれば、バージョン番号を抽出できると思いました。
#include <stdio.h>
#include "library.h"
int main() {
char version[256];
get_version(version);
puts(version);
return 0;
}
これが機能するためには、CMake は構成時に上記のプログラムをコンパイルして実行し、出力された情報をバージョン識別子として使用する必要があります。私は後者 ( execute_process
)の実行方法を知っており、前者の実行方法もほとんど知っていCheckCSourceRuns
ます。
TL;DR : プログラムをコンパイルして実行し、生成時に CMake から stdout をキャプチャする方法はありますか?