e2 studioでCMakeでビルドする、というアプリケーションノートがあるのですがスマートコンフィグレータは使えるのでしょうか?

こんにちは。NoMaYです。

Visual Studio 2022を触っていて、これからVisual Studio上でCC-RX/CC-RL/CC-RHを使うならCMakeを使うのが良いのかな?と思い始めたところ、ルネサスさんから以下のアプリケーションノートが発行されていたことを思い出したので目を通してみたのですが、どうもこれではスマートコンフィグレータどころかコンパイルオプションの設定すらe2 studio上では出来ないのでは?という気がしてきました。実際、どうなのでしょう?御存知の方はいらっしゃいますでしょうか?

アプリケーションノート 統合開発環境 e² studio CMakeプロジェクトを作成してビルドする
R20AN0613JJ0200 Rev.2.00 Pages 10 Jun.30.21
www.renesas.com/jp/ja/document/apn/e-studio-creating-and-executing-build-cmake-project
 
[追記] 2021/12/31 11:00

ひとつ調査漏れに気付きました。こういうアプリケーションノートも出ていたのですね。

アプリケーションノート 統合開発環境 e² studio CMakeを使用してCC-RX用ソース・ファイルをビルドする
R20AN0569JJ0201 Rev.2.01 Pages 12 Sep.15.21

PDF
www.renesas.com/jp/ja/document/apn/integrated-development-environment-e-studio-using-cmake-renesas-cc-rx-compiler-rev201

ZIP
www.renesas.com/jp/ja/document/scd/integrated-development-environment-e-studio-using-cmake-renesas-cc-rx-compiler-rev201-sample-code
 

Parents
  • こんにちは。NoMaYです。

    ルネサスさんのRenesas Extensions for Visual Studio Codeでは、いわゆるIntelliSense機能を実現する目的で、clangdというオープンソースソフトウェアを使います。このソフトウェアは、CMakeLists.txt内にユーザが記述した以下のような記述によるインクルードパス情報やマクロ定義情報を、CMakeが生成したcompile_commands.jsonというファイル経由で自動的に取得して、よきに計らってくれる機能があります。ところが、それらの情報は、コンパイルオプションの -I や -D で認識されるようになっているようで、CC-RXの -include= や -define= では認識されません。ということで、またちょっと改造します。

    [追記] 更に、レスポンスファイル(ルネサスさんのコンパイラのドキュメント上の正式な用語はサブコマンドファイル)を指定するコンパイルオプションが @ で認識されるようになっているようで、CC-RXやCC-RLの -subcommand= では認識されません。(他方、CC-RHは元々 @ ですので大丈夫そうです。ちなみに、CC-RLやCC-RHでは元々 -I や -D だったりします。) [ここまで追記]

    target_include_directories(${PROJECT_NAME}
        PRIVATE
        ${DBG_RSPF_MAIN_INC_C}

        ${GSG_BASE_DIR}/src/smc_gen/general
        ${GSG_BASE_DIR}/src/smc_gen/r_bsp
        ${GSG_BASE_DIR}/src/smc_gen/r_config
        ${GSG_BASE_DIR}/src/smc_gen/r_pincfg
        ${GSG_BASE_DIR}/src
    )

     

    target_compile_definitions(${PROJECT_NAME}
        PRIVATE
        TB_RX65N=1
        DEF_WITHOUT_VAL
        DEF_NOT_NUMBER=ABCXYZ
        CPPAPP=${CPPAPP_DEF}
    )

     

Reply
  • こんにちは。NoMaYです。

    ルネサスさんのRenesas Extensions for Visual Studio Codeでは、いわゆるIntelliSense機能を実現する目的で、clangdというオープンソースソフトウェアを使います。このソフトウェアは、CMakeLists.txt内にユーザが記述した以下のような記述によるインクルードパス情報やマクロ定義情報を、CMakeが生成したcompile_commands.jsonというファイル経由で自動的に取得して、よきに計らってくれる機能があります。ところが、それらの情報は、コンパイルオプションの -I や -D で認識されるようになっているようで、CC-RXの -include= や -define= では認識されません。ということで、またちょっと改造します。

    [追記] 更に、レスポンスファイル(ルネサスさんのコンパイラのドキュメント上の正式な用語はサブコマンドファイル)を指定するコンパイルオプションが @ で認識されるようになっているようで、CC-RXやCC-RLの -subcommand= では認識されません。(他方、CC-RHは元々 @ ですので大丈夫そうです。ちなみに、CC-RLやCC-RHでは元々 -I や -D だったりします。) [ここまで追記]

    target_include_directories(${PROJECT_NAME}
        PRIVATE
        ${DBG_RSPF_MAIN_INC_C}

        ${GSG_BASE_DIR}/src/smc_gen/general
        ${GSG_BASE_DIR}/src/smc_gen/r_bsp
        ${GSG_BASE_DIR}/src/smc_gen/r_config
        ${GSG_BASE_DIR}/src/smc_gen/r_pincfg
        ${GSG_BASE_DIR}/src
    )

     

    target_compile_definitions(${PROJECT_NAME}
        PRIVATE
        TB_RX65N=1
        DEF_WITHOUT_VAL
        DEF_NOT_NUMBER=ABCXYZ
        CPPAPP=${CPPAPP_DEF}
    )

     

Children
No Data