mirror of
https://github.com/platformio/platformio-core.git
synced 2025-07-29 17:47:14 +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"):
|
||||
self.env.PrependUnique(**{key: lb.env.get(key)})
|
||||
|
||||
if self.lib_archive:
|
||||
libs.append(
|
||||
self.env.BuildLibrary(self.build_dir, self.src_dir, self.src_filter)
|
||||
do_not_archive = not self.lib_archive
|
||||
if not do_not_archive:
|
||||
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)
|
||||
|
||||
return libs
|
||||
|
||||
|
||||
|
@ -346,12 +346,10 @@ def BuildFrameworks(env, frameworks):
|
||||
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"))
|
||||
nodes = env.CollectBuildFiles(variant_dir, src_dir, src_filter)
|
||||
if nodes:
|
||||
return env.StaticLibrary(env.subst(variant_dir), nodes)
|
||||
return env.BuildSources(variant_dir, src_dir, src_filter)
|
||||
nodes = nodes or env.CollectBuildFiles(variant_dir, src_dir, src_filter)
|
||||
return env.StaticLibrary(env.subst(variant_dir), nodes)
|
||||
|
||||
|
||||
def BuildSources(env, variant_dir, src_dir, src_filter=None):
|
||||
|
Reference in New Issue
Block a user