mirror of
https://github.com/platformio/platformio-core.git
synced 2025-07-31 10:37:13 +02:00
Fixed an issue when PlatformIO archives a library that does not contain C/C++ source files // Resolve #4019
This commit is contained in:
@ -461,12 +461,22 @@ class LibBuilderBase(object):
|
|||||||
for key in ("CPPPATH", "LIBPATH", "LIBS", "LINKFLAGS"):
|
for key in ("CPPPATH", "LIBPATH", "LIBS", "LINKFLAGS"):
|
||||||
self.env.PrependUnique(**{key: lb.env.get(key)})
|
self.env.PrependUnique(**{key: lb.env.get(key)})
|
||||||
|
|
||||||
if self.lib_archive:
|
do_not_archive = not self.lib_archive
|
||||||
libs.append(
|
if not do_not_archive:
|
||||||
self.env.BuildLibrary(self.build_dir, self.src_dir, self.src_filter)
|
nodes = self.env.CollectBuildFiles(
|
||||||
|
self.build_dir, self.src_dir, self.src_filter
|
||||||
)
|
)
|
||||||
else:
|
if nodes:
|
||||||
|
libs.append(
|
||||||
|
self.env.BuildLibrary(
|
||||||
|
self.build_dir, self.src_dir, self.src_filter, nodes
|
||||||
|
)
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
do_not_archive = True
|
||||||
|
if do_not_archive:
|
||||||
self.env.BuildSources(self.build_dir, self.src_dir, self.src_filter)
|
self.env.BuildSources(self.build_dir, self.src_dir, self.src_filter)
|
||||||
|
|
||||||
return libs
|
return libs
|
||||||
|
|
||||||
|
|
||||||
|
@ -346,12 +346,10 @@ def BuildFrameworks(env, frameworks):
|
|||||||
env.Exit(1)
|
env.Exit(1)
|
||||||
|
|
||||||
|
|
||||||
def BuildLibrary(env, variant_dir, src_dir, src_filter=None):
|
def BuildLibrary(env, variant_dir, src_dir, src_filter=None, nodes=None):
|
||||||
env.ProcessUnFlags(env.get("BUILD_UNFLAGS"))
|
env.ProcessUnFlags(env.get("BUILD_UNFLAGS"))
|
||||||
nodes = env.CollectBuildFiles(variant_dir, src_dir, src_filter)
|
nodes = nodes or env.CollectBuildFiles(variant_dir, src_dir, src_filter)
|
||||||
if nodes:
|
return env.StaticLibrary(env.subst(variant_dir), nodes)
|
||||||
return env.StaticLibrary(env.subst(variant_dir), nodes)
|
|
||||||
return env.BuildSources(variant_dir, src_dir, src_filter)
|
|
||||||
|
|
||||||
|
|
||||||
def BuildSources(env, variant_dir, src_dir, src_filter=None):
|
def BuildSources(env, variant_dir, src_dir, src_filter=None):
|
||||||
|
Reference in New Issue
Block a user