Skip to content

Commit 75c95d8

Browse files
committed
usermods/*/setup_deps.py: Check lib_deps for deps
Check the safest possible location for final information on what components are actually being linked in. This demonstrates a safe approach that works even for out-of-tree modules.
1 parent 0a7d3a9 commit 75c95d8

File tree

3 files changed

+12
-10
lines changed

3 files changed

+12
-10
lines changed

usermods/PWM_fan/setup_deps.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
1+
from platformio.package.meta import PackageSpec
12
Import('env')
23

34

4-
usermods = env.GetProjectOption("custom_usermods","").split()
5+
libs = [PackageSpec(lib).name for lib in env.GetProjectOption("lib_deps",[])]
56
# Check for dependencies
6-
if "Temperature" in usermods:
7+
if "Temperature" in libs:
78
env.Append(CPPDEFINES=[("USERMOD_DALLASTEMPERATURE")])
8-
elif "sht" in usermods:
9+
elif "sht" in libs:
910
env.Append(CPPDEFINES=[("USERMOD_SHT")])
10-
elif "PWM_fan" in usermods: # The script can be run if this module was previously selected
11+
elif "PWM_fan" in libs: # The script can be run if this module was previously selected
1112
raise RuntimeError("PWM_fan usermod requires Temperature or sht to be enabled")
Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
1+
from platformio.package.meta import PackageSpec
12
Import('env')
23

34

4-
usermods = env.GetProjectOption("custom_usermods","").split()
5+
libs = [PackageSpec(lib).name for lib in env.GetProjectOption("lib_deps",[])]
56
# Check for partner usermods
6-
if "SN_Photoresistor" in usermods:
7+
if "SN_Photoresistor" in libs:
78
env.Append(CPPDEFINES=[("USERMOD_SN_PHOTORESISTOR")])
8-
if any(mod in ("BH1750_v2", "BH1750") for mod in usermods):
9+
if any(mod in ("BH1750_v2", "BH1750") for mod in libs):
910
env.Append(CPPDEFINES=[("USERMOD_BH1750")])
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1+
from platformio.package.meta import PackageSpec
12
Import('env')
23

3-
4-
usermods = env.GetProjectOption("custom_usermods","").split()
4+
libs = [PackageSpec(lib).name for lib in env.GetProjectOption("lib_deps",[])]
55
# Check for partner usermod
66
# Allow both "usermod_v2" and unqualified syntax
7-
if any(mod in ("four_line_display_ALT", "usermod_v2_four_line_display_ALT") for mod in usermods):
7+
if any(mod in ("four_line_display_ALT", "usermod_v2_four_line_display_ALT") for mod in libs):
88
env.Append(CPPDEFINES=[("USERMOD_FOUR_LINE_DISPLAY")])

0 commit comments

Comments
 (0)