mirror of
https://github.com/platformio/platformio-core.git
synced 2025-07-31 18:44:27 +02:00
Better handling of installed libs for Project Generator
This commit is contained in:
@@ -21,3 +21,4 @@
|
|||||||
platform = atmelavr
|
platform = atmelavr
|
||||||
framework = arduino
|
framework = arduino
|
||||||
board = engduinov3
|
board = engduinov3
|
||||||
|
lib_install = 574
|
||||||
|
@@ -14,7 +14,7 @@
|
|||||||
|
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
VERSION = (2, 8, "0.dev6")
|
VERSION = (2, 8, "0.dev7")
|
||||||
__version__ = ".".join([str(s) for s in VERSION])
|
__version__ = ".".join([str(s) for s in VERSION])
|
||||||
|
|
||||||
__title__ = "platformio"
|
__title__ = "platformio"
|
||||||
|
@@ -137,6 +137,8 @@ def ConvertInoToCpp(env):
|
|||||||
|
|
||||||
def DumpIDEData(env):
|
def DumpIDEData(env):
|
||||||
|
|
||||||
|
BOARD_CORE = env.get("BOARD_OPTIONS", {}).get("build", {}).get("core")
|
||||||
|
|
||||||
def get_includes():
|
def get_includes():
|
||||||
includes = []
|
includes = []
|
||||||
# includes from used framework and libs
|
# includes from used framework and libs
|
||||||
@@ -154,19 +156,7 @@ def DumpIDEData(env):
|
|||||||
# installed libs
|
# installed libs
|
||||||
for d in env.get("LIBSOURCE_DIRS", []):
|
for d in env.get("LIBSOURCE_DIRS", []):
|
||||||
lsd_dir = env.subst(d)
|
lsd_dir = env.subst(d)
|
||||||
for name in env.get("LIB_USE", []) + sorted(listdir(lsd_dir)):
|
_append_lib_includes(lsd_dir, includes)
|
||||||
if not isdir(join(lsd_dir, name)):
|
|
||||||
continue
|
|
||||||
# ignore user's specified libs
|
|
||||||
if name in env.get("LIB_IGNORE", []):
|
|
||||||
continue
|
|
||||||
include = (
|
|
||||||
join(lsd_dir, name, "src")
|
|
||||||
if isdir(join(lsd_dir, name, "src"))
|
|
||||||
else join(lsd_dir, name)
|
|
||||||
)
|
|
||||||
if include not in includes:
|
|
||||||
includes.append(include)
|
|
||||||
|
|
||||||
# includes from toolchain
|
# includes from toolchain
|
||||||
toolchain_dir = env.subst(
|
toolchain_dir = env.subst(
|
||||||
@@ -180,6 +170,25 @@ def DumpIDEData(env):
|
|||||||
|
|
||||||
return includes
|
return includes
|
||||||
|
|
||||||
|
def _append_lib_includes(libs_dir, includes):
|
||||||
|
for name in env.get("LIB_USE", []) + sorted(listdir(libs_dir)):
|
||||||
|
if not isdir(join(libs_dir, name)):
|
||||||
|
continue
|
||||||
|
# ignore user's specified libs
|
||||||
|
if name in env.get("LIB_IGNORE", []):
|
||||||
|
continue
|
||||||
|
if name == "__cores__" and isdir(join(libs_dir, name, BOARD_CORE)):
|
||||||
|
return _append_lib_includes(
|
||||||
|
join(libs_dir, name, BOARD_CORE), includes)
|
||||||
|
|
||||||
|
include = (
|
||||||
|
join(libs_dir, name, "src")
|
||||||
|
if isdir(join(libs_dir, name, "src"))
|
||||||
|
else join(libs_dir, name)
|
||||||
|
)
|
||||||
|
if include not in includes:
|
||||||
|
includes.append(include)
|
||||||
|
|
||||||
def get_defines():
|
def get_defines():
|
||||||
defines = []
|
defines = []
|
||||||
# global symbols
|
# global symbols
|
||||||
|
@@ -98,6 +98,8 @@ class MeasurementProtocol(TelemetryBase):
|
|||||||
dpdata.append("Click/%s" % click.__version__)
|
dpdata.append("Click/%s" % click.__version__)
|
||||||
if app.get_session_var("caller_id"):
|
if app.get_session_var("caller_id"):
|
||||||
dpdata.append("Caller/%s" % app.get_session_var("caller_id"))
|
dpdata.append("Caller/%s" % app.get_session_var("caller_id"))
|
||||||
|
if getenv("PLATFORMIO_IDE"):
|
||||||
|
dpdata.append("IDE/%s" % getenv("PLATFORMIO_IDE"))
|
||||||
self['an'] = " ".join(dpdata)
|
self['an'] = " ".join(dpdata)
|
||||||
|
|
||||||
def _prefill_custom_data(self):
|
def _prefill_custom_data(self):
|
||||||
|
Reference in New Issue
Block a user