Use "include" directories from toolchain when exporting project for IDE // Resolve #210

This commit is contained in:
Ivan Kravets
2015-05-25 23:33:38 +03:00
parent 7d949ecb16
commit 58f0f8fab4
3 changed files with 9 additions and 1 deletions

View File

@ -8,6 +8,8 @@ Release History
`PLATFORMIO_BUILD_FLAGS <http://docs.platformio.org/en/latest/envvars.html#platformio-build-flags>`_ `PLATFORMIO_BUILD_FLAGS <http://docs.platformio.org/en/latest/envvars.html#platformio-build-flags>`_
* Pass to API requests information about Continuous Integration system. This * Pass to API requests information about Continuous Integration system. This
information will be used by PlatformIO-API. information will be used by PlatformIO-API.
* Use ``include`` directories from toolchain when exporting project for IDE
(`issue #210 <https://github.com/platformio/platformio/issues/210>`_)
* Updated `Arduino Framework <http://docs.platformio.org/en/latest/frameworks/arduino.html>`__ to * Updated `Arduino Framework <http://docs.platformio.org/en/latest/frameworks/arduino.html>`__ to
1.6.4 version (`issue #212 <https://github.com/platformio/platformio/issues/212>`_) 1.6.4 version (`issue #212 <https://github.com/platformio/platformio/issues/212>`_)
* Fixed bug with converting ``*.ino`` to ``*.cpp`` * Fixed bug with converting ``*.ino`` to ``*.cpp``

View File

@ -4,6 +4,7 @@
import atexit import atexit
import json import json
import re import re
from glob import glob
from os import getenv, listdir, remove, sep, walk from os import getenv, listdir, remove, sep, walk
from os.path import basename, dirname, isdir, isfile, join, normpath from os.path import basename, dirname, isdir, isfile, join, normpath
@ -66,6 +67,10 @@ def BuildFirmware(env):
_data = {"defines": [], "includes": []} _data = {"defines": [], "includes": []}
for item in env.get("VARIANT_DIRS", []): for item in env.get("VARIANT_DIRS", []):
_data['includes'].append(env.subst(item[1])) _data['includes'].append(env.subst(item[1]))
for item in glob(env.subst(
join("$PIOPACKAGES_DIR", "$PIOPACKAGE_TOOLCHAIN",
"*", "include"))):
_data['includes'].append(item)
for item in env.get("CPPDEFINES", []): for item in env.get("CPPDEFINES", []):
_data['defines'].append(env.subst(item)) _data['defines'].append(env.subst(item))
print json.dumps(_data) print json.dumps(_data)

View File

@ -44,7 +44,8 @@ class ProjectGenerator(object):
if "env_name" not in envdata: if "env_name" not in envdata:
return None return None
result = util.exec_command( result = util.exec_command(
["platformio", "run", "-t", "idedata", "-e", envdata['env_name']] ["platformio", "run", "-t", "idedata", "-e", envdata['env_name'],
"--project-dir", self.project_dir]
) )
if result['returncode'] != 0 or '{"includes":' not in result['out']: if result['returncode'] != 0 or '{"includes":' not in result['out']:
return None return None