From ca8bc3819fabc9fbeb6078e8042589cbc233c6c7 Mon Sep 17 00:00:00 2001 From: Ivan Kravets Date: Thu, 14 Dec 2017 22:02:41 +0200 Subject: [PATCH] =?UTF-8?q?Add=20"include"=20folder=20for=20project?= =?UTF-8?q?=E2=80=99s=20header=20files=20//=20Resolve=20issue=20#1107?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- HISTORY.rst | 3 +++ docs | 2 +- platformio/builder/main.py | 1 + platformio/builder/tools/piolib.py | 9 +++++++-- platformio/util.py | 5 +++++ 5 files changed, 17 insertions(+), 3 deletions(-) diff --git a/HISTORY.rst b/HISTORY.rst index 61d643c1..8b6dd9ad 100644 --- a/HISTORY.rst +++ b/HISTORY.rst @@ -9,6 +9,9 @@ PlatformIO 3.0 * PIO Home * Integration with `Jenkins CI `_ +* Added `include `__ + folder for project's header files + (`issue #1107 `_) * Allowed to depend on development platform using VSC URL (Git, Mercurial and Subversion) in `Project Configuration File "platformio.ini" `__ Dropped support for ``*_stage`` dev/platforms. Use VCS URL instead. diff --git a/docs b/docs index 157c1c93..8e95f0d9 160000 --- a/docs +++ b/docs @@ -1 +1 @@ -Subproject commit 157c1c930088cd3e90451e05529946dbf720ead7 +Subproject commit 8e95f0d9893cc5022968b60a43f6f3ddc32ffc2d diff --git a/platformio/builder/main.py b/platformio/builder/main.py index e355f68d..6e073cce 100644 --- a/platformio/builder/main.py +++ b/platformio/builder/main.py @@ -87,6 +87,7 @@ DEFAULT_ENV_OPTIONS = dict( UNIX_TIME=int(time()), PIOHOME_DIR=util.get_home_dir(), PROJECT_DIR=util.get_project_dir(), + PROJECTINCLUDE_DIR=util.get_projectinclude_dir(), PROJECTSRC_DIR=util.get_projectsrc_dir(), PROJECTTEST_DIR=util.get_projecttest_dir(), PROJECTDATA_DIR=util.get_projectdata_dir(), diff --git a/platformio/builder/tools/piolib.py b/platformio/builder/tools/piolib.py index 1a21eebc..8751499b 100644 --- a/platformio/builder/tools/piolib.py +++ b/platformio/builder/tools/piolib.py @@ -154,8 +154,8 @@ class LibBuilderBase(object): def get_inc_dirs(self): items = [self.src_dir] - if all([isdir(join(self.path, d)) for d in ("inc", "src")]): - items.append(join(self.path, "inc")) + if all([isdir(join(self.path, d)) for d in ("include", "src")]): + items.append(join(self.path, "include")) return items @property @@ -613,6 +613,11 @@ class ProjectAsLibBuilder(LibBuilderBase): def src_dir(self): return self.env.subst("$PROJECTSRC_DIR") + def get_inc_dirs(self): + inc_dirs = LibBuilderBase.get_inc_dirs(self) + inc_dirs.append(self.env.subst("$PROJECTINCLUDE_DIR")) + return inc_dirs + @property def lib_ldf_mode(self): mode = LibBuilderBase.lib_ldf_mode.fget(self) diff --git a/platformio/util.py b/platformio/util.py index cb78642e..ee295fb0 100644 --- a/platformio/util.py +++ b/platformio/util.py @@ -296,6 +296,11 @@ def get_projectsrc_dir(): return get_project_optional_dir("src_dir", join(get_project_dir(), "src")) +def get_projectinclude_dir(): + return get_project_optional_dir("include_dir", + join(get_project_dir(), "include")) + + def get_projecttest_dir(): return get_project_optional_dir("test_dir", join(get_project_dir(), "test"))