こんにちは。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.21www.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.21PDFwww.renesas.com/jp/ja/document/apn/integrated-development-environment-e-studio-using-cmake-renesas-cc-rx-compiler-rev201ZIPwww.renesas.com/jp/ja/document/scd/integrated-development-environment-e-studio-using-cmake-renesas-cc-rx-compiler-rev201-sample-code
こんにちは。NoMaYです。今まで統合開発環境に任せっきりで気付かなかったのですけれども、コンパイルする、プリプロセス後のソースを出力する、アセンブラソースを出力する、という基本的な操作でも、CC-RXとCC-RL/CC-RHとでは、コンパイルオプションが違っていたのですね、、、CC-RLで試し初めて、ようやく気付きました、、、調査/試作中のコンパイラ定義ファイルでの例 (右端の方です)
if(0) # IAR C/C++ Compiler set(CMAKE_${lang}_COMPILE_OBJECT "<CMAKE_${lang}_COMPILER> ${CMAKE_IAR_${lang}_FLAG} --silent <SOURCE> <DEFINES> <INCLUDES> <FLAGS> -o <OBJECT>") set(CMAKE_${lang}_CREATE_PREPROCESSED_SOURCE "<CMAKE_${lang}_COMPILER> ${CMAKE_IAR_${lang}_FLAG} --silent <SOURCE> <DEFINES> <INCLUDES> <FLAGS> --preprocess=cnl <PREPROCESSED_SOURCE>") set(CMAKE_${lang}_CREATE_ASSEMBLY_SOURCE "<CMAKE_${lang}_COMPILER> ${CMAKE_IAR_${lang}_FLAG} --silent <SOURCE> <DEFINES> <INCLUDES> <FLAGS> -lAH <ASSEMBLY_SOURCE> -o <OBJECT>.dummy") endif() if("${CMAKE_${lang}_COMPILER_ARCHITECTURE_ID}" STREQUAL "RX") set(CMAKE_INCLUDE_FLAG_${lang} "-include=") set(CMAKE_DEFINE_FLAG_${lang} "-define=") # Note: <FLAGS> includes CMAKE_${lang}_FLAGS, CMAKE_${lang}_FLAGS_<config> and `lang standard option(s)` set(CMAKE_${lang}_COMPILE_OBJECT "<CMAKE_${lang}_COMPILER> -nologo ${RENESAS_${lang}_FLAGS} <DEFINES> <INCLUDES> <FLAGS> -output=obj=<OBJECT> <SOURCE>") set(CMAKE_${lang}_CREATE_PREPROCESSED_SOURCE "<CMAKE_${lang}_COMPILER> -nologo ${RENESAS_${lang}_FLAGS} <DEFINES> <INCLUDES> <FLAGS> -output=prep=<PREPROCESSED_SOURCE> <SOURCE>") set(CMAKE_${lang}_CREATE_ASSEMBLY_SOURCE "<CMAKE_${lang}_COMPILER> -nologo ${RENESAS_${lang}_FLAGS} <DEFINES> <INCLUDES> <FLAGS> -output=src=<ASSEMBLY_SOURCE> <SOURCE>") else() # Note: <FLAGS> includes CMAKE_${lang}_FLAGS, CMAKE_${lang}_FLAGS_<config> and `lang standard option(s)` set(CMAKE_${lang}_COMPILE_OBJECT "<CMAKE_${lang}_COMPILER> ${RENESAS_${lang}_FLAGS} <DEFINES> <INCLUDES> <FLAGS> -c -o <OBJECT> <SOURCE>") set(CMAKE_${lang}_CREATE_PREPROCESSED_SOURCE "<CMAKE_${lang}_COMPILER> ${RENESAS_${lang}_FLAGS} <DEFINES> <INCLUDES> <FLAGS> -P -o <PREPROCESSED_SOURCE> <SOURCE>") set(CMAKE_${lang}_CREATE_ASSEMBLY_SOURCE "<CMAKE_${lang}_COMPILER> ${RENESAS_${lang}_FLAGS} <DEFINES> <INCLUDES> <FLAGS> -S -o <ASSEMBLY_SOURCE> <SOURCE>") endif()