CommunityGD32Cores / ArduinoCore-GD32

Arduino core for GD32 devices, community developed, based on original GigaDevice's core
Other
86 stars 33 forks source link

Need help in understanding the use of "-isystem/include_path" #64

Closed noeldiviney closed 2 years ago

noeldiviney commented 2 years ago

Hi All. Have started to develop with GigaDevice chips. I have followed the instructions to use the Arduino Ide and successfully compiled a the "Blink" example for the "GD32F30x MBed Series" The following "blink-build.txt" shows the debug output of a build command.

blink-build.txt

I would appreciate it if somebody could explain the use of "-isystem" include paths and where I can find information on it. I have never come across it before. Any help much appreciated I look forward to participating in the Community. Best regards Noel Diviney

maxgerhardt commented 2 years ago

@obra replaced -I, aka regular include flag for GCC, with -isystem to supress warnings (https://stackoverflow.com/a/1900578/5296568) in https://github.com/CommunityGD32Cores/ArduinoCore-GD32/commit/e5ea5ab9048e979ff0a4e5a477f613af02176d2c, there's not more to that. Also see general GCC docs.

noeldiviney commented 2 years ago

Thank you Max for the prompt response, much appreciated. I now have a good understanding of how -isystem works and how it is invoked in the platform.txt. My interest is in making a embedded development environment easier to set up using Powershell scripting and using CMake build system and CodeLite for debugging see https://github.com/eranif/codelite/issues/2983 It is still very much a Work In Progress. I am actually a Hardware Development Engineer currently working on an Industrial Control Project and using the Arduino Framework and a GigaDevice GDF303 CM4 chip. Many thanks once again and best regards to all. Noel Diviney

maxgerhardt commented 2 years ago

My interest is in making a embedded development environment easier to set up using Powershell scripting and using CMake build system and CodeLite for debugging see

This problem is pretty much solved by PlatformIO already, which this framework supports through https://github.com/CommunityGD32Cores/platform-gd32 and the builder script. PlatformIO downloads all the needed toolchains for the host OS (cross-platform) and can export to dozens of IDE, including CLion, VSCode, Eclipse, etc. etc., and is usable on the command line too. Have you given PlatformIO a try yet? A get started is also at https://github.com/CommunityGD32Cores/gd32-pio-projects.

PlatformIO is a thousand times more general than just a CMake file, since it can export to a lot more IDEs and the build system is more powerful / Python scriptable.

noeldiviney commented 2 years ago

Thanks for the links . I will start some some work shortly as I have some boards and chips arriving to make it possible Cheers Noel.

maxgerhardt commented 2 years ago

Closing as questions answered.