”かふぇルネ“はルネサス製品に関してユーザ同士が自由に会話をするツールであり、回答者はルネサス社内外の方たちとなります。ルネサス製品やソリューションに関して正式な回答をご希望の場合は、ルネサス技術サポート問合せをご使用ください。
こんにちは。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
> 4.1 CDT Core Builder を無効化するCDT Managed build (GUIで設定したオプションをmakefileに出力する仕組み)を無効にするやり方なので、FreeRTOSなどの既にCMakeで作ってあるものが前提になるかと。Visual Studioを使っているならビルドまでVisual Studioでやることになるので出番がありませんが。
ほや さん、こんにちは。NoMaYです。> 既にCMakeで作ってあるものが前提やっぱりそうですよね、、、そうなると、自分の中での本命は、CS+のIronPythonスクリプトで、CS+のプロジェクト情報を参照してCMakeの設定ファイルを自動生成する、というものを作って(出来ればmtpj保存時に実行されるようにして)、そうやって生成したCMakeの設定ファイルをVisual Studio 2022で使う、という流れかな、と思いました。CS+は、ラピッドスタートを使うと、とてもとても速く起動しますので、CC-RX/CC-RL/CC-RHのビルド設定ダイアログ代わりにVisual Studio 2022からCS+を起動してしまう、というのもアリかな、と思いました。それから、ひと手間増える感はありますけれども、CS+から単体スマートコンフィグレータを起動してコード生成してやることで、その点に関しても情報をCMakeの設定ファイルへ反映させることが出来そうかな、とも思いました。ただ、悩ましいのは、(今のところは?)CS+ではFreeRTOSプロジェクトを作れないことと、CS+にはFreeRTOSデバッグサポートが無い、というところです。ただ、後者は、ひょっとすると、(Microsoftさん以外の)誰かがVisual Studio用の汎用的なFreeRTOSデバッグ拡張機能を作ったりするかも知れませんけど、、、もっとも、Microsoftさんも先日Microsoft Azure向けFreeRTOS SDKをリリースしていましたので、Visual Studio用のAzure RTOSデバッグサポートを追加して、その後、FreeRTOSデバッグサポートも追加してくる、ということもあるかも知れないとも思います、、、[追記]最後のパラグラフを読み直していて、分かり難いかな、と思ったのは、私は、どうしても必要な時は(例えばリアルタイムRAM表示させたい時とか、トレースデータを見たい時とか)CS+を起動してしまえば良い、と思っているというところかも知れません、、、まあ、ですので、FreeRTOSデバッグサポートが必要になれば、e2 studioを起動するのですけれども、、
こんにちは。NoMaYです。ウェブで調べ物をしていて気付いたのですが、IARさんは自社のツールチェインとCMakeを連携させるやり方を提示した以下のアプリケーションノートを出していましたね。(GitHubのIARさんのリポジトリにあるのがドキュメント本体であるチュートリアルですかね、、、これらのウェブページにはRXやRL78やRH850の文字もありますね、、、)IAR Embedded Workbench でのCMake 使用 www.iar.com/jp/knowledge/support/technical-notes/general/iar-embedded-workbench-cmake-TutorialBuilding and testing with the IAR Systems tools in CMakegithub.com/IARSystems/cmake-tutorial
こんにちは。NoMaYです。Azure RTOSのRX65NのサンプルコードがCMake+GNURX+VSCodeのようなので、これを少し試してみようと思います。github.com/azure-rtos/getting-started/tree/master/Renesas/RSK_RX65N_2MBgithub.com/azure-rtos/getting-started/tree/master/Renesas/RX65N_Cloud_Kit[追記]うゎ~、RXマイコンのサンプルコードが沢山ある、、、TB-RX130向けのものまでありますねぇ、、、Azure RTOS - Additional samplesgithub.com/azure-rtos/samples[関連リンク]簡単Azure IoT接続!~32bit MCU RX65NがAzure RTOSに対応~www.renesas.com/jp/ja/blogs/easy-azure-iot-connection-rx65n-32bit-mcu-supports-azure-rtos
こんにちは。NoMaYです。まだ使い方は良く分かりませんが、VSCodeでCMake Toolsという拡張機能をインストールするとCMakeでビルド出来るようになるみたい、、、以下、VSCodeの画面コピーです。
こんにちは。NoMaYです。まだ適切なやり方は分かりませんが、Visual Studio 2022で以下のようなCMakeSettings.jsonファイルを記述/追加するとAzure RTOSのRX65NのサンプルコードをCMake+GNURX+Visual Studio 2022でビルド出来るようになるみたい、、、CMakeSettings.json
{ "configurations": [ { "name": "GNURX-Debug", "generator": "Ninja", "configurationType": "Debug", "inheritEnvironments": [], "buildRoot": "${projectDir}\\build", "installRoot": "${projectDir}\\install", "cmakeCommandArgs": "", "buildCommandArgs": "", "ctestCommandArgs": "" } ]}
以下、Visual Studio 2022の画面コピーです。
こんにちは。NoMaYです。困った時のQiita頼みということで以下でググって幾つか読んでみましたが、これはちょっと違ったかなぁ、という感じでした。手書きするにせよCS+のIronPythonスクリプトで自動生成させるにせよ、必要そうなものより大掛かり過ぎる感じです。Google検索: CMake 使い方 Qiitawww.google.com/search?q=CMake 使い方 Qiita別スレッドでやっていることとの絡みでいうと、こんな感じのことが、さほど手書き/CS+のIronPythonスクリプトで自動生成とかしなくても、出来れば良かった、のですけれども、、、(1) プロジェクトへのソースファイルの追加/削除を認識して良きに計らってくれる(2) DebugビルドとReleaseビルドの切り替えをVSCodeやVisual Studio 2022上で簡単に出来るようにしてくれるどちらも現状は(GUIにせよheadlessbuildにせよ)e2 studioを起動しなければ出来なくて、私の環境ではe2 studioの起動に数分掛かるのが難点だったのです。(2回目、3回目、といった起動になればグッと速くなるのですが、、、)[追記]DebugビルドとReleaseビルドの切り替えといってもコンパイル時の最適化オプションの切り替えが出来れば充分で、GCCの例ですとO3/OsとかとO0との切り替え程度です。(普段、その程度で事足りていましたので、、、)
こんにちは。NoMaYです。昨日はそのように思ったのですけれども、こういう機能もあることを知りました。ひとまず、振り出しに戻る、、、第13回 fileコマンドが拡張されているぞ!投稿日 : 2019年10月6日 最終更新日時 : 2019年10月6日 カテゴリー : 実践C++応用講座CMake編theolizer.com/cpp-school3/cpp-school3-13/「1.ファイル・リストを返すGLOB/GLOB_RECURSEGLOB/GLOB_RECURSEはファイルやフォルダのパスをリストとして返します。必要なファイルだけをコピーする時などに便利です。また、add_executableやadd_libraryなどに渡すソース・ファイルのリストを生成するのにも使われることがあります。後者は特にソースを追加した際に、再生成を忘れて「あちゃっ」となることも少くないのですが、CONFIGURE_DEPENDSで対処できそうです。」
こんにちは。NoMaYです。今まで、これからVisual StudioやVisual Studio CodeでCC-RX/CC-RL/CC-RHを使うならCMakeを使うのが良いのかな?という動機で調べていましたが、以下のこれとこれとの延長線でソース以外にもビルドスクリプトにも話を広げる、という観点もありますね。(というか、あるべき論、として考えると、そちらが主役であるべき、だったかも、、、)CC-RXもGNURXもC99仕様では_Pragmaプリプロセッサ演算子というものが使えるのですね(FITのコンパイラ対応の効率化に役立ちそうかも)japan.renesasrulz.com/cafe_rene/f/forum5/5079/cc-rx-gnurx-c99-_pragma-fitRX SmartConfigurator FIT e2studioプロジェクトをMinGWでbuildしてみる(もちろん実行出来ませんけれど)japan.renesasrulz.com/cafe_rene/f/forum21/7220/rx-smartconfigurator-fit-e2studio-mingw-build[追記]ヘッドレスビルドとcmakeの話github.com/renesas/amazon-freertos/wiki/Amazon-FreeRTOS-Qualification-Program#ヘッドレスビルドとcmakeの話
こんにちは。NoMaYです。冒頭のアプリケーションノートによれば今のe2 studioはCMakeをサポートしているとのことですので、Azure RTOSのRX65Nのサンプルコード(CMake+GNURX+Visual Studio 2022/VSCodeでビルド可能であることは確認済み)を読み込ませたらどうなるだろうと試してみると、以下のようにエラーになりますね。CMakeのパスエラーっぽいのですが、e2 studioがCMakeのパスを認識していないかというと、GUI版のCMake設定ツールは起動しますので、まったく知らないわけでは無さそうなのですけれども。(何か引数っぽいものも直さないといけなさそうですけども。)
Configuring in: C:\Renesas\Azure\getting-started\Renesas\RX65N_Cloud_Kit\build\cmake.debug.win32.x86_64cmake -G MinGW Makefiles -DCMAKE_EXPORT_COMPILE_COMMANDS=ON C:\Renesas\Azure\getting-started\Renesas\RX65N_Cloud_KitError: build command 'cmake' not foundFailure running cmake:
以下、e2 studioの画面コピーです。
こんにちは。NoMaYです。> Azure RTOSのRX65Nのサンプルコード…略…を読み込ませたらどうなるだろうと試してみると、以下のようにエラーになりますね。目が覚めた時にやっと気付いたのですが、冒頭のアプリケーションノートの記載で今のe2 studioはCMakeをサポートしているといっても、土台となっているEclipseでx86/amd64 MinGW向けビルドがサポートされるようになりました、というのが正確なところですね、きっと、、、
こんにちは。NoMaYです。痛恨の調査漏れに気付きました。こういうアプリケーションノートも出ていたのですね。アプリケーションノート 統合開発環境 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[追記]このアプリケーションノートのCMakeLists.txtでも以前に引用したサイトの記事のGLOB_RECURSEを使っていますね。[追記その2]このアプリケーションノートのCMakeLists.txtとccrx.cmakeですが、ちょっと美しく無いですかね。CMakeLists.txt先頭すぐに以下のようなCC-RXコンパイルオプションガチ依存の記述が、、、
set(CMAKE_C_COMPILE_OBJECT "\"${CMAKE_C_COMPILER}\" ${CMAKE_C_FLAGS} -output=obj=<OBJECT> <SOURCE>")set(CMAKE_CXX_COMPILE_OBJECT "\"${CMAKE_CXX_COMPILER}\" ${CMAKE_CXX_FLAGS} -output=obj=<OBJECT> <SOURCE>")set(CMAKE_ASM_COMPILE_OBJECT "\"${CMAKE_ASM_COMPILER}\" ${CMAKE_ASM_FLAGS} -output=<OBJECT> <SOURCE>")set(CMAKE_C_LINK_EXECUTABLE "\"${CMAKE_LINKER}\" ${CMAKE_EXE_LINKER_FLAGS} <OBJECTS> -output=<TARGET>.abs")set(CMAKE_CXX_LINK_EXECUTABLE "\"${CMAKE_LINKER}\" ${CMAKE_EXE_LINKER_FLAGS} <OBJECTS> -output=<TARGET>.abs")
[関連リンク]少し話が古いかも、、、Renesas CCRX Cmake - Unresolved symbol __INITSCTrenesasrulz.com/rx/f/rx---forum/17545/renesas-ccrx-cmake---unresolved-symbol-__initsct
こんにちは。NoMaYです。MicrosoftさんのAzure RTOSのRX65Nのサンプルコード(CMake+GNURX+VSCode)のCMakeファイルを元にして、簡単なRXスマートコンフィグレータプロジェクト向けCMakeファイル(GNURX+VSCode)を作ってみました。ファイルは以下のzipファイルに固めました。CMake_RXSC_GNURX_example_20220103.zip
.vscode/cmake-kits.json ← MicrosoftさんのAzure RTOSのRX65Nのサンプルコードのパスのみ変更cmake/renesas-rx-gcc-rx65n.cmake ← 上記のサンプルコードのままcmake/renesas-rx-gcc-toolchain.cmake ← 上記のサンプルコードのままcmake/utilities.cmake ← 上記のサンプルコードのままCMakeLists.txt
基本的に運用方法(GNURX+VSCode)としては以下となりますね。(1) 別途e2 studioのRXスマートコンフィグレータでコード生成する(2) RXスマートコンフィグレータでコンポーネントの追加/削除を行ったら手作業でファイルを変更する(3) 同様に自身のソースファイル/ヘッダファイルの追加/削除を行った場合も手作業でファイルを変更する(4) コンパイルオプション/リンクオプションを変更するときは手作業でファイルを変更する以下、CMakeファイルの内容とVSCodeの画面コピーです。CMakeLists.txt (赤文字部分を手作業で変更します)
# Copyright (c) Microsoft Corporation.# Licensed under the MIT License.# Modified by NoMaY for RX SmartConfigurator simple projectcmake_minimum_required(VERSION 3.13 FATAL_ERROR)set(CMAKE_C_STANDARD 99)set(GSG_BASE_DIR ${CMAKE_SOURCE_DIR})# use the repo version of ninja on Windows as there is no Ninja installerif(WIN32) set(CMAKE_MAKE_PROGRAM "C:\\Program Files\\Ninja\\ninja.exe" CACHE STRING "Ninja location")endif()# Set the toolchain if not definedif(NOT CMAKE_TOOLCHAIN_FILE) if(CMAKE_C_COMPILER_ID STREQUAL "IAR") set(CMAKE_TOOLCHAIN_FILE "${GSG_BASE_DIR}/cmake/renesas-rx-iar-rx65n.cmake") elseif(CMAKE_C_COMPILER_ID STREQUAL "GNU") set(CMAKE_TOOLCHAIN_FILE "${GSG_BASE_DIR}/cmake/renesas-rx-gcc-rx65n.cmake") endif()endif()include(${GSG_BASE_DIR}/cmake/utilities.cmake)# Define the Projectproject(tb_rx65n C ASM)set(SOURCES src/smc_gen/general/r_cg_hardware_setup.c src/smc_gen/general/r_smc_cgc.c src/smc_gen/general/r_smc_cgc_user.c src/smc_gen/general/r_smc_interrupt.c src/smc_gen/r_bsp/board/generic_rx65n/hwsetup.c src/smc_gen/r_bsp/mcu/all/dbsct.c src/smc_gen/r_bsp/mcu/all/lowlvl.c src/smc_gen/r_bsp/mcu/all/mcu_locks.c src/smc_gen/r_bsp/mcu/all/r_bsp_common.c src/smc_gen/r_bsp/mcu/all/r_bsp_cpu.c src/smc_gen/r_bsp/mcu/all/r_bsp_interrupts.c src/smc_gen/r_bsp/mcu/all/r_bsp_locking.c src/smc_gen/r_bsp/mcu/all/r_bsp_mcu_startup.c src/smc_gen/r_bsp/mcu/all/r_bsp_software_interrupt.c src/smc_gen/r_bsp/mcu/all/r_rx_intrinsic_functions.c src/smc_gen/r_bsp/mcu/all/reset_program.S src/smc_gen/r_bsp/mcu/all/resetprg.c src/smc_gen/r_bsp/mcu/all/sbrk.c src/smc_gen/r_bsp/mcu/rx65n/mcu_clocks.c src/smc_gen/r_bsp/mcu/rx65n/mcu_init.c src/smc_gen/r_bsp/mcu/rx65n/mcu_interrupts.c src/smc_gen/r_bsp/mcu/rx65n/mcu_mapped_interrupts.c src/smc_gen/r_bsp/mcu/rx65n/vecttbl.c src/smc_gen/r_pincfg/Pin.c src/tb_rx65n.c)add_executable(${PROJECT_NAME} ${SOURCES})target_include_directories(${PROJECT_NAME} PRIVATE src/smc_gen/general src/smc_gen/r_bsp src/smc_gen/r_bsp/mcu/all src/smc_gen/r_config src/smc_gen/r_pincfg)if(CMAKE_C_COMPILER_ID STREQUAL "IAR") set_target_linker(${PROJECT_NAME} ${CMAKE_CURRENT_LIST_DIR}/startup/iar/linker_script.icf)else() set_target_linker(${PROJECT_NAME} ${CMAKE_CURRENT_LIST_DIR}/src/linker_script.ld) target_link_options(${PROJECT_NAME} PRIVATE -Wl,-e_PowerON_Reset)endif()post_build(${PROJECT_NAME})
.vscode/cmake-kits.json (基本的に変更の必要は無いです)
[ { "name": "Renesas RX65N GCC", "toolchainFile": "${workspaceFolder}/cmake/renesas-rx-gcc-rx65n.cmake" } ]
# Copyright (c) Microsoft Corporation. # Licensed under the MIT License. # Define the CPU architecture for Threadx set(THREADX_ARCH "rxv2") set(THREADX_TOOLCHAIN "gnu") set(MCPU_FLAGS "-m64bit-doubles -mcpu=rx64m -misa=v2 -mlittle-endian-data") include(${CMAKE_CURRENT_LIST_DIR}/renesas-rx-gcc-toolchain.cmake)
# Copyright (c) Microsoft Corporation. # Licensed under the MIT License. set(CMAKE_SYSTEM_NAME Generic) set(CMAKE_SYSTEM_PROCESSOR rx) set(TARGET_TRIPLET "rx-elf-") # do some windows specific logic if(WIN32) set(TOOLCHAIN_EXT ".exe") else() set(TOOLCHAIN_EXT "") endif(WIN32) # default to Release build if(NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE "Debug" CACHE STRING "Choose the type of build, options are: Debug Release." FORCE) endif() find_program(COMPILER_ON_PATH "${TARGET_TRIPLET}gcc${TOOLCHAIN_EXT}") if(DEFINED ENV{RX_GCC_PATH}) # use the environment variable first file(TO_CMAKE_PATH $ENV{RX_GCC_PATH} RX_TOOLCHAIN_PATH) message(STATUS "Using ENV variable RX_GCC_PATH = ${RX_TOOLCHAIN_PATH}") elseif(COMPILER_ON_PATH) # then check on the current path get_filename_component(RX_TOOLCHAIN_PATH ${COMPILER_ON_PATH} DIRECTORY) message(STATUS "Using RX GCC from path = ${RX_TOOLCHAIN_PATH}") endif() # perform compiler test with the static library set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY) set(CMAKE_C_COMPILER ${RX_TOOLCHAIN_PATH}/${TARGET_TRIPLET}gcc${TOOLCHAIN_EXT} CACHE STRING "") set(CMAKE_CXX_COMPILER ${RX_TOOLCHAIN_PATH}/${TARGET_TRIPLET}g++${TOOLCHAIN_EXT} CACHE STRING "") set(CMAKE_ASM_COMPILER ${RX_TOOLCHAIN_PATH}/${TARGET_TRIPLET}gcc${TOOLCHAIN_EXT}) set(CMAKE_LINKER ${RX_TOOLCHAIN_PATH}/${TARGET_TRIPLET}gcc${TOOLCHAIN_EXT}) set(CMAKE_SIZE_UTIL ${RX_TOOLCHAIN_PATH}/${TARGET_TRIPLET}size${TOOLCHAIN_EXT}) set(CMAKE_OBJCOPY ${RX_TOOLCHAIN_PATH}/${TARGET_TRIPLET}objcopy${TOOLCHAIN_EXT}) set(CMAKE_OBJDUMP ${RX_TOOLCHAIN_PATH}/${TARGET_TRIPLET}objdump${TOOLCHAIN_EXT}) set(CMAKE_NM_UTIL ${RX_TOOLCHAIN_PATH}/${TARGET_TRIPLET}nm${TOOLCHAIN_EXT}) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) set(CMAKE_COMMON_FLAGS "-ffunction-sections -fdata-sections -fdiagnostics-parseable-fixits -fno-strict-aliasing -fno-builtin -fshort-enums -Wuninitialized -Wdouble-promotion -Werror -Wno-unused-function -Wno-unused-parameter -Wno-incompatible-pointer-types") set(CMAKE_C_FLAGS "${MCPU_FLAGS} ${VFP_FLAGS} ${CMAKE_COMMON_FLAGS} ${LIBC_INCLUDE}") set(CMAKE_CXX_FLAGS "${MCPU_FLAGS} ${VFP_FLAGS} ${CMAKE_COMMON_FLAGS}") set(CMAKE_ASM_FLAGS "${MCPU_FLAGS} ${VFP_FLAGS}") set(CMAKE_EXE_LINKER_FLAGS "${LD_FLAGS} -fno-common -nostartfiles -Wl,--gc-sections --specs=nano.specs") set(CMAKE_C_FLAGS_DEBUG "-O0 -g3") set(CMAKE_CXX_ASM_FLAGS_DEBUG "-O0 -g3") set(CMAKE_ASM_FLAGS_DEBUG "-g3") set(CMAKE_C_FLAGS_RELEASE "-Os") set(CMAKE_CXX_FLAGS_RELEASE "-Os") set(CMAKE_ASM_FLAGS_RELEASE "")
# Copyright (c) Microsoft Corporation. # Licensed under the MIT License. function(post_build TARGET) if(CMAKE_C_COMPILER_ID STREQUAL "IAR") add_custom_target(${TARGET}.bin ALL DEPENDS ${TARGET} COMMAND ${CMAKE_IAR_ELFTOOL} --bin ${TARGET}.elf ${TARGET}.bin) elseif(CMAKE_C_COMPILER_ID STREQUAL "GNU") add_custom_target(${TARGET}.bin ALL DEPENDS ${TARGET} COMMAND ${CMAKE_OBJCOPY} -Obinary ${TARGET}.elf ${TARGET}.bin COMMAND ${CMAKE_OBJCOPY} -Oihex ${TARGET}.elf ${TARGET}.hex) else() message(FATAL_ERROR "Unknown CMAKE_C_COMPILER_ID ${CMAKE_C_COMPILER_ID}") endif() endfunction() function(set_target_linker TARGET LINKER_SCRIPT) if(CMAKE_C_COMPILER_ID STREQUAL "IAR") target_link_options(${TARGET} PRIVATE --config ${LINKER_SCRIPT}) target_link_options(${TARGET} PRIVATE --map=${TARGET}.map) elseif(CMAKE_C_COMPILER_ID STREQUAL "GNU") target_link_options(${TARGET} PRIVATE -T${LINKER_SCRIPT}) target_link_options(${TARGET} PRIVATE -Wl,-Map=${TARGET}.map) set_target_properties(${TARGET} PROPERTIES SUFFIX ".elf") else() message(FATAL_ERROR "Unknown CMAKE_C_COMPILER_ID ${CMAKE_C_COMPILER_ID}") endif() endfunction() macro(print_all_variables) message(STATUS "print_all_variables------------------------------------------{") get_cmake_property(_variableNames VARIABLES) foreach (_variableName ${_variableNames}) message(STATUS "${_variableName}=${${_variableName}}") endforeach() message(STATUS "print_all_variables------------------------------------------}") endmacro()
こんにちは。NoMaYです。昨日のCMakeファイル(GNURX+VSCode)をCC-RX+VSCode向けに作ろうとしているのですけれど、最終的に望ましいのは以下のフォルダにルネサスコンパイラ(CC-RX/CC-RL/CC-RH)向け定義ファイルが追加されることですね、、、どなたかやろうとされているかなぁ?、、、gitlab.kitware.com/cmake/cmake/-/tree/master/Modules/Compiler[関連リンク]gitlab.kitware.com/cmake/cmake/-/merge_requestsgitlab.kitware.com/cmake/cmake/-/issues
こんにちは。NoMaYです。> ルネサスコンパイラ(CC-RX/CC-RL/CC-RH)向け定義ファイルIARさんのコンパイラ向けの定義ファイルが既に存在しますので、それを手本にして作成するのが良いですかね、、、gitlab.kitware.com/cmake/cmake/-/blob/master/Modules/Compiler/IAR.cmakegitlab.kitware.com/cmake/cmake/-/blob/master/Modules/Compiler/IAR-C.cmakegitlab.kitware.com/cmake/cmake/-/blob/master/Modules/Compiler/IAR-CXX.cmakegitlab.kitware.com/cmake/cmake/-/blob/master/Modules/Compiler/IAR-ASM.cmakegitlab.kitware.com/cmake/cmake/-/blob/master/Modules/Compiler/IAR-DetermineCompiler.cmake