CMakeとVisualStudioを使用してテストを実行するためにパス環境変数を設定する方法



How Set Path Environment Variable Using Cmake



解決:

CMakeからVisualStudioでカスタムプロジェクト設定を設定するために、CMakeから構成できるテンプレートとしてXMLファイルを使用できます。.userファイル。
私の仕事では、これを使用してカスタムデバッグパラメータを設定します。

生成されたディレクトリを確認してくださいのユーザー設定用の.vcxprojファイル.userファイル。これが例の抜粋です使用するUserTemplate.vcxproj.userファイル。



    

の別の例PATH変数を設定するUserTemplate.vcxproj.userは、次のようになります。

PATH = ..  Your_path;%PATH% '。 WindowsLocalDebugger

の設定あなたの隣のUserTemplate.vcxproj.userファイルCMakeLists.txtファイルでは、CMakeから必要な変数をに挿入できます。ビルドしたプロジェクトの.vcxproj.userファイル。 CMakeでは、適切なCMake変数を設定できます(必要に応じて、テンプレートファイルにさらに変数を追加します)。次に、このようなことを実行してファイルを構成できます。



#ユーザー名とシステム名を検索SET(SYSTEM_NAME $ ENV {USERDOMAIN} CACHE STRING SystemName)SET(USER_NAME $ ENV {USERNAME} CACHE STRING UserName)#テンプレートファイルSET(USER_FILE $ {_ projectName} .vcxproj。$ {SYSTEM_NAME}を構成します。 $ {USER_NAME} .user)SET(OUTPUT_PATH $ {CMAKE_CURRENT_BINARY_DIR} / $ {USER_FILE})CONFIGURE_FILE(UserTemplate.vcxproj.user $ {USER_FILE} @ONLY)

システムとユーザー名を気にしない場合は、次の構成で十分です。

#テンプレートファイルを構成しますSET(USER_FILE $ {_ projectName} .vcxproj.user)SET(OUTPUT_PATH $ {CMAKE_CURRENT_BINARY_DIR} / $ {USER_FILE})CONFIGURE_FILE(UserTemplate.vcxproj.user $ {USER_FILE} @ONLY) 

今、この質問を見つけました。私が使用するcmakeファイルをデバッグするために

MESSAGE(STATUS '静的テキスト$ {変数}')

テストを実行するためのパスを設定する必要はありませんでした。 CTestを使用していますか?あなたがフォローしているリンクはctestで使用されているようです。



私がこれを機能させようとしていたなら、私は使うでしょう最初に明示的にset_tests_properties。

set_tests_properties(SomeTest PROPERTIES ENVIRONMENT'PATH = c: somedir; c: otherdir ')

次に、それをより一般的にします。


関連するCMake機能リクエストレポートは次のとおりです。

http://www.kwwidgets.org/Bug/view.php?id=8884

更新:CMakeを使用したSet VisualStudioプロジェクトの「カスタム環境変数」設定に従って解決されました-以下のコメントを寄せてくれたFlorianに感謝します。