47
CMakeスクリプトの変数をシェルコマンドの出力に設定する方法はありますか? SET(FOO COMMAND "echo bar")
のようなものがあります。シェルコマンドの結果でCMake変数を初期化するには
CMakeスクリプトの変数をシェルコマンドの出力に設定する方法はありますか? SET(FOO COMMAND "echo bar")
のようなものがあります。シェルコマンドの結果でCMake変数を初期化するには
execute_process
コマンドが必要です。 Windows上でのあなたのケースでは
、:単に
execute_process(COMMAND CMD /c echo bar OUTPUT_VARIABLE FOO)
またはLinux上で、この特定のケースで
execute_process(COMMAND echo bar OUTPUT_VARIABLE FOO)
、CMakeのは、クロスプラットフォームソリューションを提供しています。 CMakeは、すべてのシステムで使用できるコマンドを実行するために使用することができます。その1つはecho
です。これを行うには、コマンドラインarg -E
をCMakeに渡す必要があります。かもしれない、それは、
execute_process(COMMAND ${CMAKE_COMMAND} -E echo bar OUTPUT_VARIABLE FOO)
コマンドに応じて、あなたが実行します。このようなコマンドの完全なリストについては、CMakeのスクリプト内
cmake -E help
を実行するスクリプトで行う必要があるので、CMakeの実行ファイルは、
${CMAKE_COMMAND}
によって参照されます末尾の空白を変数に設定します。この動作が望ましくない場合は、オプション 'OUTPUT_STRIP_TRAILING_WHITESPACE'を 'execute_process'関数の最後の引数として使用できます。 – hbobenicio