Added support for multi-environment PlatformIO project for CLion IDE // Resolve #2824 Resolve #2944

This commit is contained in:
Ivan Kravets committed 2019-08-29 16:26:51 +03:00
1 parent 83bf34fb77
commit 4a6d5e8395
3 files changed
+23 -6

No files matched your search

@@ -47,14 +47,30 @@ SET(CMAKE_C_STANDARD {{ cc_stds[-1] }})
set(CMAKE_CXX_STANDARD {{ cxx_stds[-1] }})
% end
% for env in envs:
if (CMAKE_BUILD_TYPE MATCHES {{ env_name }})
%for define in defines:
add_definitions(-D'{{!re.sub(r"([\"\(\)#])", r"\\\1", define)}}')
%end
%for include in includes:
include_directories("{{ _normalize_path(to_unix_path(include)) }}")
%end
endif()
% leftover_envs = set(envs) ^ set([env_name])
%
% if leftover_envs:
% ide_data = load_project_ide_data(project_dir, leftover_envs)
% end
%
% for env in leftover_envs:
if (CMAKE_BUILD_TYPE MATCHES {{ env }})
% items = load_project_ide_data(project_dir,env)
% for define in items["defines"]:
% data = ide_data[env]
% for define in data["defines"]:
add_definitions(-D'{{!re.sub(r"([\"\(\)#])", r"\\\1", define)}}')
% end
% for include in items["includes"]:
% for include in data["includes"]:
include_directories("{{ _normalize_path(to_unix_path(include)) }}")
% end
endif()
+1 -1
View File
@@ -197,7 +197,7 @@ def compute_project_checksum(config):
def load_project_ide_data(project_dir, envs):
from platformio.commands.run import cli as cmd_run
assert envs
if not isinstance(envs, (list, tuple)):
if not isinstance(envs, (list, tuple, set)):
envs = [envs]
args = ["--project-dir", project_dir, "--target", "idedata"]
for env in envs: