New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for `include` folder in a project #1107

Closed
ivankravets opened this Issue Oct 5, 2017 · 6 comments

Comments

Projects
None yet
3 participants
@ivankravets
Member

ivankravets commented Oct 5, 2017

  • Describe in documentation
  • Automatically add include_dir value to CPPAPTH before building

http://docs.platformio.org/en/latest/projectconf/section_platformio.html#include-dir

@ivankravets ivankravets added this to the 3.5.0 milestone Oct 5, 2017

@ivankravets ivankravets changed the title from Add support for `inc` folder in a project to Add support for `include` folder in a project Dec 14, 2017

ivankravets added a commit that referenced this issue Dec 14, 2017

@ivankravets

This comment has been minimized.

Member

ivankravets commented Dec 14, 2017

Resolved via ca8bc38

ivankravets added a commit that referenced this issue Dec 28, 2017

Bump version to 3.5.0 (issue #1260, issue #781, issue #778, issue #463,…
… issue #1236, issue #1235, issue #953, issue #1118, issue #1107, issue #1196, issue #1179, issue #1161, issue #1126, issue #104, issue #1033, issue #1034, issue #1175, issue #1173, issue #1155, issue #1188, issue #1111, issue #1153, issue #1150, issue #1145, issue #1139, issue #1137, issue #1170, issue #1157, issue #1102, issue #1105, issue #1140, issue #1154, issue #1066, issue #1038, issue #1054, issue #1055, issue #1061, issue #1017)

ivankravets added a commit to ivankravets/homebrew-core that referenced this issue Dec 28, 2017

platformio 3.5.0
PlatformIO Core 3.5.0 introduces many new features and performance improvements. The notable changes are as follows:

* [PlatformIO Home](http://docs.platformio.org/page/home/index.html) - interact with PlatformIO ecosystem using modern and cross-platform GUI:
  - Library Manager:
    * Search for new libraries in PlatformIO Registry
    * "1-click" library installation, per-project libraries, extra storages
    * List installed libraries in multiple storages
    * List built-in libraries (by frameworks)
    * Updates for installed libraries
    * Multiple examples, trending libraries, and more.
  - PlatformIO Projects
  - PIO Account
  - Development platforms, frameworks and board explorer
  - Device Manager: serial, logical, and multicast DNS services
* Integration with [Jenkins CI](http://docs.platformio.org/page/ci/jenkins.html)
* New [include](http://docs.platformio.org/page/projectconf/section_platformio.html#include-dir) folder for project's header files ([issue Homebrew#1107](platformio/platformio-core#1107))
* Depend on development platform using VSC URL (Git, Mercurial and Subversion) instead of a name in [Project Configuration File "platformio.ini"](http://docs.platformio.org/page/projectconf/section_env_general.html#platform). Drop support for ``*_stage`` dev/platform names (use VCS URL instead).
* Reinstall/redownload package with a new ``-f, --force`` option for [platformio lib install](http://docs.platformio.org/page/userguide/lib/cmd_install.html) and [platformio platform install](http://docs.platformio.org/page/userguide/platforms/cmd_install.html) commands ([issue Homebrew#778](platformio/platformio-core#778))
* Handle missed dependencies and provide a solution based on PlatformIO Library Registry ([issue Homebrew#781](platformio/platformio-core#781))
* New setting [projects_dir](http://docs.platformio.org/page/userguide/cmd_settings.html#projects-dir) that allows to override a default PIO Home Projects location ([issue Homebrew#1161](platformio/platformio-core#1161))
* [Library Dependency Finder (LDF)](http://docs.platformio.org/page/librarymanager/ldf.html):
  - Search for dependencies used in [PIO Unit Testing](http://docs.platformio.org/page/plus/unit-testing.html) ([issue Homebrew#953](platformio/platformio-core#953))
  - Parse library source file in pair with a header when they have the same name ([issue Homebrew#1175](platformio/platformio-core#1175))
  - Handle library dependencies defined as VCS or SemVer in [Project Configuration File "platformio.ini"](http://docs.platformio.org/page/projectconf/section_env_general.html#platform) ([issue Homebrew#1155](platformio/platformio-core#1155))
  - Added option to configure library [Compatible Mode](http://docs.platformio.org/page/librarymanager/ldf.html#compatibility-mode) using [library.json](http://docs.platformio.org/page/librarymanager/config.html)
* New options for [platformio device list](http://docs.platformio.org/page/userguide/cmd_device.html#platformio-device-list)  command:
  - ``--serial`` list available serial ports (default)
  - ``--logical`` list logical devices
  - ``--mdns`` discover multicast DNS services ([issue Homebrew#463](platformio/platformio-core#463))
* Other bug fixes and performance improvements.

See [PlatformIO 3.5 Release Notes](http://docs.platformio.org/page/history.html) for details.

BrewTestBot added a commit to BrewTestBot/homebrew-core that referenced this issue Dec 28, 2017

platformio 3.5.0
PlatformIO Core 3.5.0 introduces many new features and performance improvements. The notable changes are as follows:

* [PlatformIO Home](http://docs.platformio.org/page/home/index.html) - interact with PlatformIO ecosystem using modern and cross-platform GUI:
  - Library Manager:
    * Search for new libraries in PlatformIO Registry
    * "1-click" library installation, per-project libraries, extra storages
    * List installed libraries in multiple storages
    * List built-in libraries (by frameworks)
    * Updates for installed libraries
    * Multiple examples, trending libraries, and more.
  - PlatformIO Projects
  - PIO Account
  - Development platforms, frameworks and board explorer
  - Device Manager: serial, logical, and multicast DNS services
* Integration with [Jenkins CI](http://docs.platformio.org/page/ci/jenkins.html)
* New [include](http://docs.platformio.org/page/projectconf/section_platformio.html#include-dir) folder for project's header files ([issue Homebrew#1107](platformio/platformio-core#1107))
* Depend on development platform using VSC URL (Git, Mercurial and Subversion) instead of a name in [Project Configuration File "platformio.ini"](http://docs.platformio.org/page/projectconf/section_env_general.html#platform). Drop support for ``*_stage`` dev/platform names (use VCS URL instead).
* Reinstall/redownload package with a new ``-f, --force`` option for [platformio lib install](http://docs.platformio.org/page/userguide/lib/cmd_install.html) and [platformio platform install](http://docs.platformio.org/page/userguide/platforms/cmd_install.html) commands ([issue Homebrew#778](platformio/platformio-core#778))
* Handle missed dependencies and provide a solution based on PlatformIO Library Registry ([issue Homebrew#781](platformio/platformio-core#781))
* New setting [projects_dir](http://docs.platformio.org/page/userguide/cmd_settings.html#projects-dir) that allows to override a default PIO Home Projects location ([issue Homebrew#1161](platformio/platformio-core#1161))
* [Library Dependency Finder (LDF)](http://docs.platformio.org/page/librarymanager/ldf.html):
  - Search for dependencies used in [PIO Unit Testing](http://docs.platformio.org/page/plus/unit-testing.html) ([issue Homebrew#953](platformio/platformio-core#953))
  - Parse library source file in pair with a header when they have the same name ([issue Homebrew#1175](platformio/platformio-core#1175))
  - Handle library dependencies defined as VCS or SemVer in [Project Configuration File "platformio.ini"](http://docs.platformio.org/page/projectconf/section_env_general.html#platform) ([issue Homebrew#1155](platformio/platformio-core#1155))
  - Added option to configure library [Compatible Mode](http://docs.platformio.org/page/librarymanager/ldf.html#compatibility-mode) using [library.json](http://docs.platformio.org/page/librarymanager/config.html)
* New options for [platformio device list](http://docs.platformio.org/page/userguide/cmd_device.html#platformio-device-list)  command:
  - ``--serial`` list available serial ports (default)
  - ``--logical`` list logical devices
  - ``--mdns`` discover multicast DNS services ([issue Homebrew#463](platformio/platformio-core#463))
* Other bug fixes and performance improvements.

See [PlatformIO 3.5 Release Notes](http://docs.platformio.org/page/history.html) for details.
@ussserrr

This comment has been minimized.

ussserrr commented Jan 18, 2018

What is purpose of this change? I actually opened my 2-month-ago project and just can't compile it ('not found' error). Only with option include_dir = inc compilation was successful.

@ivankravets

This comment has been minimized.

Member

ivankravets commented Jan 18, 2018

This is the folder which will be automatically added to CPPPATH.
Default value is include.

You rename your inc folder to include and remove that extra option

@KubaMiszcz

This comment has been minimized.

KubaMiszcz commented Apr 13, 2018

I have project exported from CubeMX, and it generates Inc where it keeps .h files

after add include_dir = Inc below framework = stm32cube in platformio.ini it still throws error: src\main.c:41:10: fatal error: main.h: No such file or directory

for me making a symlink inside root projectfolder: mklink /d Include Inc (inside root) helps

it is better than rename Inc to Includes after every regenerate project in CubeMX

@ussserrr

This comment has been minimized.

ussserrr commented Apr 13, 2018

@KubaMiszcz you should add include_dir option below dedicated [platformio] section of platformio.ini:

...

[platformio]
include_dir = Inc

See docs for more information.
For me, I preferred to write a small python utility that automate creation and updating PlatformIO projects with CubeMX: stm32pio. It also handles Inc and Include cases.

@KubaMiszcz

This comment has been minimized.

KubaMiszcz commented Apr 13, 2018

youre right, it works perfectly, I missed this [platformio] tag, but it should be more clearly marked in Docs :]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment