mirror of
https://github.com/platformio/platformio-core.git
synced 2025-08-02 11:24:27 +02:00
Add "Rebuild C/C++ Project Index" target to CLion and Eclipse IDEs
This commit is contained in:
@@ -11,6 +11,7 @@ PlatformIO 2.0
|
|||||||
* Updated Microchip PIC32 Arduino framework to v1.2.1
|
* Updated Microchip PIC32 Arduino framework to v1.2.1
|
||||||
* Documented `uploading of EEPROM data <http://docs.platformio.org/en/latest/platforms/atmelavr.html#upload-eeprom-data>`__
|
* Documented `uploading of EEPROM data <http://docs.platformio.org/en/latest/platforms/atmelavr.html#upload-eeprom-data>`__
|
||||||
(from EEMEM directive)
|
(from EEMEM directive)
|
||||||
|
* Added ``Rebuild C/C++ Project Index`` target to CLion and Eclipse IDEs
|
||||||
* Improved project generator for `CLion IDE <http://docs.platformio.org/en/latest/ide/clion.html>`__
|
* Improved project generator for `CLion IDE <http://docs.platformio.org/en/latest/ide/clion.html>`__
|
||||||
* Auto-remove project cache when PlatformIO is upgraded
|
* Auto-remove project cache when PlatformIO is upgraded
|
||||||
* Keep user changes for ``.gitignore`` file when re-generate/update project data
|
* Keep user changes for ``.gitignore`` file when re-generate/update project data
|
||||||
|
@@ -53,16 +53,20 @@ There are 6 predefined targets for building (*NOT FOR RUNNING*, see marks on
|
|||||||
the screenshot below):
|
the screenshot below):
|
||||||
|
|
||||||
* ``PLATFORMIO_BUILD`` - Build project without auto-uploading
|
* ``PLATFORMIO_BUILD`` - Build project without auto-uploading
|
||||||
* ``PLATFORMIO_UPLOAD`` - Build and upload (if no errors).
|
* ``PLATFORMIO_UPLOAD`` - Build and upload (if no errors)
|
||||||
* ``PLATFORMIO_CLEAN`` - Clean compiled objects.
|
* ``PLATFORMIO_CLEAN`` - Clean compiled objects
|
||||||
* ``PLATFORMIO_PROGRAM`` - Build and upload using external programmer (if no errors), see :ref:`atmelavr_upload_via_programmer`.
|
* ``PLATFORMIO_PROGRAM`` - Build and upload using external programmer
|
||||||
* ``PLATFORMIO_UPLOADFS`` - Upload files to file system SPIFFS, see :ref:`platform_espressif_uploadfs`.
|
(if no errors), see :ref:`atmelavr_upload_via_programmer`
|
||||||
* ``PLATFORMIO_UPDATE`` - Update installed platforms and libraries via :ref:`cmd_update`.
|
* ``PLATFORMIO_UPLOADFS`` - Upload files to file system SPIFFS,
|
||||||
|
see :ref:`platform_espressif_uploadfs`
|
||||||
|
* ``PLATFORMIO_UPDATE`` - Update installed platforms and libraries via :ref:`cmd_update`
|
||||||
|
* ``PLATFORMIO_REBUILD_PROJECT_INDEX`` - Rebuild C/C++ Index for the Project.
|
||||||
|
Allows to fix code completion and code linting issues.
|
||||||
|
|
||||||
.. warning::
|
.. warning::
|
||||||
The libraries which are added, installed or used in the project
|
The libraries which are added, installed or used in the project
|
||||||
after generating process wont be reflected in IDE. To fix it you
|
after generating process wont be reflected in IDE. To fix it please run
|
||||||
need to reinitialize project using :ref:`cmd_init` (repeat it).
|
``PLATFORMIO_REBUILD_PROJECT_INDEX`` target.
|
||||||
|
|
||||||
Articles / Manuals
|
Articles / Manuals
|
||||||
------------------
|
------------------
|
||||||
|
@@ -51,7 +51,7 @@ Then:
|
|||||||
``Menu: File > Import... > General > Existing Projects into Workspace > Next``
|
``Menu: File > Import... > General > Existing Projects into Workspace > Next``
|
||||||
and specify root directory where is located :ref:`projectconf`
|
and specify root directory where is located :ref:`projectconf`
|
||||||
2. Open source file from ``src`` directory (``*.c, *.cpp, *.ino, etc.``)
|
2. Open source file from ``src`` directory (``*.c, *.cpp, *.ino, etc.``)
|
||||||
3. Build project using ``Menu: Project > Build Project`` or preconfigured
|
3. Build project using ``Menu: Project > Build Project`` or pre-configured
|
||||||
Make Targets (see screenshot below):
|
Make Targets (see screenshot below):
|
||||||
|
|
||||||
+ ``PlatformIO: Build`` - Build project without auto-uploading
|
+ ``PlatformIO: Build`` - Build project without auto-uploading
|
||||||
@@ -59,17 +59,24 @@ Then:
|
|||||||
+ ``PlatformIO: Upload`` - Build and upload (if no errors)
|
+ ``PlatformIO: Upload`` - Build and upload (if no errors)
|
||||||
+ ``PlatformIO: Upload using Programmer`` see :ref:`atmelavr_upload_via_programmer`
|
+ ``PlatformIO: Upload using Programmer`` see :ref:`atmelavr_upload_via_programmer`
|
||||||
+ ``PlatformIO: Upload SPIFFS image`` see :ref:`platform_espressif_uploadfs`
|
+ ``PlatformIO: Upload SPIFFS image`` see :ref:`platform_espressif_uploadfs`
|
||||||
+ ``PlatformIO: Update platforms and libraries`` - Update installed platforms and libraries via :ref:`cmd_update`.
|
+ ``PlatformIO: Update platforms and libraries`` - Update installed
|
||||||
|
platforms and libraries via :ref:`cmd_update`
|
||||||
|
+ ``PlatformIO: Rebuild C/C++ Project Index`` - Rebuild C/C++ Index for the Project.
|
||||||
|
Allows to fix code completion and code linting issues.
|
||||||
|
|
||||||
If you have some problems with unresolved includes, defines, etc., then
|
If you have some problems with unresolved includes, defines, etc., then
|
||||||
|
|
||||||
* Restart Eclipse IDE
|
1. Rebuild PlatformIO Project Index:
|
||||||
* Rebuild index using ``Menu: Project > C/C++ Index > Rebuild``.
|
``PlatformIO: Rebuild C/C++ Project Index`` target
|
||||||
|
2. Rebuild Eclipse Project Index: ``Menu: Project > C/C++ Index > Rebuild``
|
||||||
|
3. Refresh Project, right click on the project ``Project > Refresh`` (F5) or
|
||||||
|
restart Eclipse IDE.
|
||||||
|
|
||||||
.. warning::
|
.. warning::
|
||||||
The libraries which are added, installed or used in the project
|
The libraries which are added, installed or used in the project
|
||||||
after generating process wont be reflected in IDE. To fix it you
|
after generating process wont be reflected in IDE. To fix it please run
|
||||||
need to reinitialize project using :ref:`cmd_init` (repeat it).
|
``PlatformIO: Rebuild C/C++ Project Index`` target and right click on the
|
||||||
|
project and ``Project > Refresh`` (F5).
|
||||||
|
|
||||||
Live Integration
|
Live Integration
|
||||||
----------------
|
----------------
|
||||||
|
@@ -14,7 +14,7 @@
|
|||||||
|
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
VERSION = (2, 11, "1.dev1")
|
VERSION = (2, 11, "1.dev2")
|
||||||
__version__ = ".".join([str(s) for s in VERSION])
|
__version__ = ".".join([str(s) for s in VERSION])
|
||||||
|
|
||||||
__title__ = "platformio"
|
__title__ = "platformio"
|
||||||
|
@@ -202,7 +202,9 @@ def DumpIDEData(env):
|
|||||||
def get_defines(env_):
|
def get_defines(env_):
|
||||||
defines = []
|
defines = []
|
||||||
# global symbols
|
# global symbols
|
||||||
for item in env.Flatten(env_.get("CPPDEFINES", [])):
|
for item in env_.get("CPPDEFINES", []):
|
||||||
|
if isinstance(item, list) or isinstance(item, tuple):
|
||||||
|
item = "=".join(item)
|
||||||
defines.append(env_.subst(item).replace('\\"', '"'))
|
defines.append(env_.subst(item).replace('\\"', '"'))
|
||||||
|
|
||||||
# special symbol for Atmel AVR MCU
|
# special symbol for Atmel AVR MCU
|
||||||
@@ -224,13 +226,17 @@ def DumpIDEData(env):
|
|||||||
"includes": get_includes(env_),
|
"includes": get_includes(env_),
|
||||||
"cc_flags": env_.subst(LINTCCOM),
|
"cc_flags": env_.subst(LINTCCOM),
|
||||||
"cxx_flags": env_.subst(LINTCXXCOM),
|
"cxx_flags": env_.subst(LINTCXXCOM),
|
||||||
|
"cc_path": where_is_program(
|
||||||
|
env_.subst("$CC"), env_.subst("${ENV['PATH']}")),
|
||||||
"cxx_path": where_is_program(
|
"cxx_path": where_is_program(
|
||||||
env_.subst("$CXX"), env_.subst("${ENV['PATH']}"))
|
env_.subst("$CXX"), env_.subst("${ENV['PATH']}"))
|
||||||
}
|
}
|
||||||
|
|
||||||
# https://github.com/platformio/platformio-atom-ide/issues/34
|
# https://github.com/platformio/platformio-atom-ide/issues/34
|
||||||
_new_defines = []
|
_new_defines = []
|
||||||
for item in env.Flatten(env_.get("CPPDEFINES", [])):
|
for item in env_.get("CPPDEFINES", []):
|
||||||
|
if isinstance(item, list) or isinstance(item, tuple):
|
||||||
|
item = "=".join(item)
|
||||||
item = item.replace('\\"', '"')
|
item = item.replace('\\"', '"')
|
||||||
if " " in item:
|
if " " in item:
|
||||||
_new_defines.append(item.replace(" ", "\\\\ "))
|
_new_defines.append(item.replace(" ", "\\\\ "))
|
||||||
|
@@ -23,11 +23,10 @@ from platformio.commands.platforms import \
|
|||||||
platforms_install as cli_platforms_install
|
platforms_install as cli_platforms_install
|
||||||
from platformio.ide.projectgenerator import ProjectGenerator
|
from platformio.ide.projectgenerator import ProjectGenerator
|
||||||
from platformio.platforms.base import PlatformFactory
|
from platformio.platforms.base import PlatformFactory
|
||||||
from platformio.util import get_boards, get_source_dir
|
|
||||||
|
|
||||||
|
|
||||||
def validate_boards(ctx, param, value): # pylint: disable=W0613
|
def validate_boards(ctx, param, value): # pylint: disable=W0613
|
||||||
unknown_boards = set(value) - set(get_boards().keys())
|
unknown_boards = set(value) - set(util.get_boards().keys())
|
||||||
try:
|
try:
|
||||||
assert not unknown_boards
|
assert not unknown_boards
|
||||||
return value
|
return value
|
||||||
@@ -84,6 +83,10 @@ def cli(ctx, project_dir, board, ide, # pylint: disable=R0913
|
|||||||
)
|
)
|
||||||
|
|
||||||
if ide:
|
if ide:
|
||||||
|
if not board:
|
||||||
|
board = get_first_board(project_dir)
|
||||||
|
if board:
|
||||||
|
board = [board]
|
||||||
if not board:
|
if not board:
|
||||||
raise exception.BoardNotDefined()
|
raise exception.BoardNotDefined()
|
||||||
if len(board) > 1:
|
if len(board) > 1:
|
||||||
@@ -95,8 +98,7 @@ def cli(ctx, project_dir, board, ide, # pylint: disable=R0913
|
|||||||
" '%s'." % (board[0], ", ".join(board)),
|
" '%s'." % (board[0], ", ".join(board)),
|
||||||
fg="yellow"
|
fg="yellow"
|
||||||
)
|
)
|
||||||
pg = ProjectGenerator(
|
pg = ProjectGenerator(project_dir, ide, board[0])
|
||||||
project_dir, ide, board[0])
|
|
||||||
pg.generate()
|
pg.generate()
|
||||||
|
|
||||||
click.secho(
|
click.secho(
|
||||||
@@ -112,10 +114,21 @@ def cli(ctx, project_dir, board, ide, # pylint: disable=R0913
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def get_first_board(project_dir):
|
||||||
|
with util.cd(project_dir):
|
||||||
|
config = util.get_project_config()
|
||||||
|
for section in config.sections():
|
||||||
|
if not section.startswith("env:"):
|
||||||
|
continue
|
||||||
|
elif config.has_option(section, "board"):
|
||||||
|
return config.get(section, "board")
|
||||||
|
return None
|
||||||
|
|
||||||
|
|
||||||
def init_base_project(project_dir):
|
def init_base_project(project_dir):
|
||||||
platformio_ini = join(project_dir, "platformio.ini")
|
platformio_ini = join(project_dir, "platformio.ini")
|
||||||
if not isfile(platformio_ini):
|
if not isfile(platformio_ini):
|
||||||
copyfile(join(get_source_dir(), "projectconftpl.ini"),
|
copyfile(join(util.get_source_dir(), "projectconftpl.ini"),
|
||||||
platformio_ini)
|
platformio_ini)
|
||||||
|
|
||||||
lib_dir = join(project_dir, "lib")
|
lib_dir = join(project_dir, "lib")
|
||||||
@@ -260,7 +273,7 @@ def init_cvs_ignore(project_dir):
|
|||||||
def fill_project_envs( # pylint: disable=too-many-arguments,too-many-locals
|
def fill_project_envs( # pylint: disable=too-many-arguments,too-many-locals
|
||||||
ctx, platformio_ini, board_types, enable_auto_uploading,
|
ctx, platformio_ini, board_types, enable_auto_uploading,
|
||||||
env_prefix, force_download):
|
env_prefix, force_download):
|
||||||
builtin_boards = get_boards()
|
builtin_boards = util.get_boards()
|
||||||
content = []
|
content = []
|
||||||
used_boards = []
|
used_boards = []
|
||||||
used_platforms = []
|
used_platforms = []
|
||||||
|
@@ -32,6 +32,9 @@ class ProjectGenerator(object):
|
|||||||
self.board = board
|
self.board = board
|
||||||
self._tplvars = {}
|
self._tplvars = {}
|
||||||
|
|
||||||
|
with util.cd(self.project_dir):
|
||||||
|
self.project_src_dir = util.get_projectsrc_dir()
|
||||||
|
|
||||||
self._gather_tplvars()
|
self._gather_tplvars()
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
@@ -94,7 +97,8 @@ class ProjectGenerator(object):
|
|||||||
def get_src_files(self):
|
def get_src_files(self):
|
||||||
result = []
|
result = []
|
||||||
with util.cd(self.project_dir):
|
with util.cd(self.project_dir):
|
||||||
for root, _, files in os.walk(util.get_projectsrc_dir()):
|
for root, _, files in os.walk(self.project_src_dir):
|
||||||
|
print root, files
|
||||||
for f in files:
|
for f in files:
|
||||||
result.append(relpath(join(root, f)))
|
result.append(relpath(join(root, f)))
|
||||||
return result
|
return result
|
||||||
@@ -157,6 +161,7 @@ class ProjectGenerator(object):
|
|||||||
"src_files": self.get_src_files(),
|
"src_files": self.get_src_files(),
|
||||||
"user_home_dir": abspath(expanduser("~")),
|
"user_home_dir": abspath(expanduser("~")),
|
||||||
"project_dir": self.project_dir,
|
"project_dir": self.project_dir,
|
||||||
|
"project_src_dir": self.project_src_dir,
|
||||||
"systype": util.get_systype(),
|
"systype": util.get_systype(),
|
||||||
"platformio_path": self._fix_os_path(
|
"platformio_path": self._fix_os_path(
|
||||||
util.where_is_program("platformio")),
|
util.where_is_program("platformio")),
|
||||||
|
63
platformio/ide/tpls/clion/.idea/workspace.xml.tpl
generated
63
platformio/ide/tpls/clion/.idea/workspace.xml.tpl
generated
@@ -10,6 +10,7 @@
|
|||||||
<config projectName="{{project_name}}" targetName="PLATFORMIO_PROGRAM" />
|
<config projectName="{{project_name}}" targetName="PLATFORMIO_PROGRAM" />
|
||||||
<config projectName="{{project_name}}" targetName="PLATFORMIO_UPLOADFS" />
|
<config projectName="{{project_name}}" targetName="PLATFORMIO_UPLOADFS" />
|
||||||
<config projectName="{{project_name}}" targetName="PLATFORMIO_UPDATE_ALL" />
|
<config projectName="{{project_name}}" targetName="PLATFORMIO_UPDATE_ALL" />
|
||||||
|
<config projectName="{{project_name}}" targetName="PLATFORMIO_REBUILD_PROJECT_INDEX" />
|
||||||
<config projectName="{{project_name}}" targetName="DEBUG" />
|
<config projectName="{{project_name}}" targetName="DEBUG" />
|
||||||
</generated>
|
</generated>
|
||||||
</component>
|
</component>
|
||||||
@@ -39,28 +40,14 @@
|
|||||||
</component>
|
</component>
|
||||||
<component name="FileEditorManager">
|
<component name="FileEditorManager">
|
||||||
<leaf>
|
<leaf>
|
||||||
<file leaf-file-name="CMakeLists.txt" pinned="false" current-in-tab="true">
|
<file leaf-file-name="platformio.ini" pinned="false" current-in-tab="true">
|
||||||
<entry file="file://$PROJECT_DIR$/CMakeLists.txt">
|
<entry file="file://$PROJECT_DIR$/platformio.ini"></entry>
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state vertical-scroll-proportion="0.15758981">
|
|
||||||
<caret line="8" column="49" selection-start-line="8" selection-start-column="49" selection-end-line="8" selection-end-column="49" />
|
|
||||||
<folding />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
</file>
|
</file>
|
||||||
% for file in src_files:
|
% for file in src_files:
|
||||||
<file leaf-file-name="{{file}}" pinned="false" current-in-tab="false">
|
<file leaf-file-name="file://$PROJECT_DIR$/{{file}}" pinned="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR/${{file}}">
|
<entry file="file://$PROJECT_DIR/${{file}}"></entry>
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state vertical-scroll-proportion="0.0">
|
|
||||||
<caret line="24" column="4" selection-start-line="24" selection-start-column="4" selection-end-line="24" selection-end-column="4" />
|
|
||||||
<folding />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
</file>
|
</file>
|
||||||
% end
|
% end
|
||||||
</leaf>
|
</leaf>
|
||||||
</component>
|
</component>
|
||||||
<component name="JsBuildToolGruntFileManager" detection-done="true" />
|
<component name="JsBuildToolGruntFileManager" detection-done="true" />
|
||||||
@@ -113,6 +100,8 @@
|
|||||||
<autoscrollToSource />
|
<autoscrollToSource />
|
||||||
<autoscrollFromSource />
|
<autoscrollFromSource />
|
||||||
<sortByType />
|
<sortByType />
|
||||||
|
<manualOrder />
|
||||||
|
<foldersAlwaysOnTop value="true" />
|
||||||
</navigator>
|
</navigator>
|
||||||
<panes>
|
<panes>
|
||||||
<pane id="ProjectPane">
|
<pane id="ProjectPane">
|
||||||
@@ -120,13 +109,13 @@
|
|||||||
<PATH>
|
<PATH>
|
||||||
<PATH_ELEMENT>
|
<PATH_ELEMENT>
|
||||||
<option name="myItemId" value="{{project_name}}" />
|
<option name="myItemId" value="{{project_name}}" />
|
||||||
<option name="myItemType" value="com.jetbrains.cidr.projectView.CidrFilesViewHelper$1$1" />
|
<option name="myItemType" value="com.jetbrains.cidr.projectView.CidrFilesViewHelper$MyProjectTreeStructure$1" />
|
||||||
</PATH_ELEMENT>
|
</PATH_ELEMENT>
|
||||||
</PATH>
|
</PATH>
|
||||||
<PATH>
|
<PATH>
|
||||||
<PATH_ELEMENT>
|
<PATH_ELEMENT>
|
||||||
<option name="myItemId" value="{{project_name}}" />
|
<option name="myItemId" value="{{project_name}}" />
|
||||||
<option name="myItemType" value="com.jetbrains.cidr.projectView.CidrFilesViewHelper$1$1" />
|
<option name="myItemType" value="com.jetbrains.cidr.projectView.CidrFilesViewHelper$MyProjectTreeStructure$1" />
|
||||||
</PATH_ELEMENT>
|
</PATH_ELEMENT>
|
||||||
<PATH_ELEMENT>
|
<PATH_ELEMENT>
|
||||||
<option name="myItemId" value="{{project_name}}" />
|
<option name="myItemId" value="{{project_name}}" />
|
||||||
@@ -136,7 +125,7 @@
|
|||||||
<PATH>
|
<PATH>
|
||||||
<PATH_ELEMENT>
|
<PATH_ELEMENT>
|
||||||
<option name="myItemId" value="{{project_name}}" />
|
<option name="myItemId" value="{{project_name}}" />
|
||||||
<option name="myItemType" value="com.jetbrains.cidr.projectView.CidrFilesViewHelper$1$1" />
|
<option name="myItemType" value="com.jetbrains.cidr.projectView.CidrFilesViewHelper$MyProjectTreeStructure$1" />
|
||||||
</PATH_ELEMENT>
|
</PATH_ELEMENT>
|
||||||
<PATH_ELEMENT>
|
<PATH_ELEMENT>
|
||||||
<option name="myItemId" value="{{project_name}}" />
|
<option name="myItemId" value="{{project_name}}" />
|
||||||
@@ -155,7 +144,7 @@
|
|||||||
<property name="recentsLimit" value="5" />
|
<property name="recentsLimit" value="5" />
|
||||||
<property name="settings.editor.selected.configurable" value="CPPToolchains" />
|
<property name="settings.editor.selected.configurable" value="CPPToolchains" />
|
||||||
<property name="settings.editor.splitter.proportion" value="0.2" />
|
<property name="settings.editor.splitter.proportion" value="0.2" />
|
||||||
<property name="last_opened_file_path" value="$PROJECT_DIR$/CMakeLists.txt" />
|
<property name="last_opened_file_path" value="$PROJECT_DIR$/platformio.ini" />
|
||||||
<property name="restartRequiresConfirmation" value="true" />
|
<property name="restartRequiresConfirmation" value="true" />
|
||||||
<property name="FullScreen" value="false" />
|
<property name="FullScreen" value="false" />
|
||||||
</component>
|
</component>
|
||||||
@@ -201,7 +190,11 @@
|
|||||||
<envs />
|
<envs />
|
||||||
<method />
|
<method />
|
||||||
</configuration>
|
</configuration>
|
||||||
<list size="7">
|
<configuration default="false" name="PLATFORMIO_REBUILD_PROJECT_INDEX" type="CMakeRunConfiguration" factoryName="Application" WORKING_DIR="" PASS_PARENT_ENVS="FALSE" PROJECT_NAME="{{project_name}}" TARGET_NAME="PLATFORMIO_REBUILD_PROJECT_INDEX" CONFIG_NAME="Debug">
|
||||||
|
<envs />
|
||||||
|
<method />
|
||||||
|
</configuration>
|
||||||
|
<list size="8">
|
||||||
<item index="0" class="java.lang.String" itemvalue="Application.Build All" />
|
<item index="0" class="java.lang.String" itemvalue="Application.Build All" />
|
||||||
<item index="1" class="java.lang.String" itemvalue="Application.PLATFORMIO_BUILD" />
|
<item index="1" class="java.lang.String" itemvalue="Application.PLATFORMIO_BUILD" />
|
||||||
<item index="3" class="java.lang.String" itemvalue="Application.PLATFORMIO_UPLOAD" />
|
<item index="3" class="java.lang.String" itemvalue="Application.PLATFORMIO_UPLOAD" />
|
||||||
@@ -209,6 +202,7 @@
|
|||||||
<item index="5" class="java.lang.String" itemvalue="Application.PLATFORMIO_PROGRAM" />
|
<item index="5" class="java.lang.String" itemvalue="Application.PLATFORMIO_PROGRAM" />
|
||||||
<item index="4" class="java.lang.String" itemvalue="Application.PLATFORMIO_UPLOADFS" />
|
<item index="4" class="java.lang.String" itemvalue="Application.PLATFORMIO_UPLOADFS" />
|
||||||
<item index="6" class="java.lang.String" itemvalue="Application.PLATFORMIO_UPDATE" />
|
<item index="6" class="java.lang.String" itemvalue="Application.PLATFORMIO_UPDATE" />
|
||||||
|
<item index="7" class="java.lang.String" itemvalue="Application.PLATFORMIO_REBUILD_PROJECT_INDEX" />
|
||||||
</list>
|
</list>
|
||||||
</component>
|
</component>
|
||||||
<component name="ShelveChangesManager" show_recycled="false" />
|
<component name="ShelveChangesManager" show_recycled="false" />
|
||||||
@@ -225,27 +219,10 @@
|
|||||||
<servers />
|
<servers />
|
||||||
</component>
|
</component>
|
||||||
<component name="ToolWindowManager">
|
<component name="ToolWindowManager">
|
||||||
<frame x="252" y="21" width="1400" height="1000" extended-state="0" />
|
<frame x="181" y="23" width="1400" height="1000" extended-state="0" />
|
||||||
<editor active="true" />
|
<editor active="true" />
|
||||||
<layout>
|
<layout>
|
||||||
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.25" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
|
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.24945612" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
|
||||||
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
|
|
||||||
<window_info id="CMake" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32996634" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
|
||||||
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32996634" sideWeight="0.4631503" order="7" side_tool="true" content_ui="tabs" />
|
|
||||||
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
|
||||||
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32996634" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
|
|
||||||
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
|
||||||
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32996634" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
|
||||||
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
|
|
||||||
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
|
||||||
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
|
|
||||||
<window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.32996634" sideWeight="0.53684974" order="7" side_tool="false" content_ui="tabs" />
|
|
||||||
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
|
|
||||||
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
|
|
||||||
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
|
|
||||||
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
|
|
||||||
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
|
||||||
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
|
||||||
</layout>
|
</layout>
|
||||||
</component>
|
</component>
|
||||||
<component name="Vcs.Log.UiProperties">
|
<component name="Vcs.Log.UiProperties">
|
||||||
|
@@ -3,10 +3,6 @@ project({{project_name}})
|
|||||||
|
|
||||||
include(CMakeListsPrivate.txt)
|
include(CMakeListsPrivate.txt)
|
||||||
|
|
||||||
% for define in defines:
|
|
||||||
add_definitions(-D{{!define}})
|
|
||||||
% end
|
|
||||||
|
|
||||||
add_custom_target(
|
add_custom_target(
|
||||||
PLATFORMIO_BUILD ALL
|
PLATFORMIO_BUILD ALL
|
||||||
COMMAND ${PLATFORMIO_CMD} -f -c clion run
|
COMMAND ${PLATFORMIO_CMD} -f -c clion run
|
||||||
@@ -43,5 +39,10 @@ add_custom_target(
|
|||||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
aux_source_directory(src SRC_LIST)
|
add_custom_target(
|
||||||
|
PLATFORMIO_REBUILD_PROJECT_INDEX ALL
|
||||||
|
COMMAND ${PLATFORMIO_CMD} -f -c clion init --ide clion
|
||||||
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
|
)
|
||||||
|
|
||||||
add_executable(${PROJECT_NAME} ${SRC_LIST})
|
add_executable(${PROJECT_NAME} ${SRC_LIST})
|
||||||
|
@@ -1,6 +1,15 @@
|
|||||||
set(ENV{PATH} "{{env_path}}")
|
set(ENV{PATH} "{{env_path}}")
|
||||||
set(PLATFORMIO_CMD "{{platformio_path}}")
|
set(PLATFORMIO_CMD "{{platformio_path}}")
|
||||||
|
|
||||||
|
SET(CMAKE_C_COMPILER "{{cc_path}}")
|
||||||
|
SET(CMAKE_CXX_COMPILER "{{cxx_path}}")
|
||||||
|
SET(CMAKE_CXX_FLAGS_DISTRIBUTION "{{cxx_flags}}")
|
||||||
|
SET(CMAKE_C_FLAGS_DISTRIBUTION "{{cc_flags}}")
|
||||||
|
|
||||||
|
% for define in defines:
|
||||||
|
add_definitions(-D{{!define}})
|
||||||
|
% end
|
||||||
|
|
||||||
% for include in includes:
|
% for include in includes:
|
||||||
% if include.startswith(user_home_dir):
|
% if include.startswith(user_home_dir):
|
||||||
% if "windows" in systype:
|
% if "windows" in systype:
|
||||||
@@ -12,3 +21,5 @@ include_directories("$ENV{HOME}{{include.replace(user_home_dir, '').replace("\\"
|
|||||||
include_directories("{{include.replace("\\", "/")}}")
|
include_directories("{{include.replace("\\", "/")}}")
|
||||||
% end
|
% end
|
||||||
% end
|
% end
|
||||||
|
|
||||||
|
aux_source_directory({{project_src_dir}} SRC_LIST)
|
||||||
|
@@ -166,6 +166,14 @@
|
|||||||
<useDefaultCommand>true</useDefaultCommand>
|
<useDefaultCommand>true</useDefaultCommand>
|
||||||
<runAllBuilders>false</runAllBuilders>
|
<runAllBuilders>false</runAllBuilders>
|
||||||
</target>
|
</target>
|
||||||
|
<target name="PlatformIO: Rebuild C/C++ Project Index" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||||
|
<buildCommand>platformio</buildCommand>
|
||||||
|
<buildArguments>-f -c eclipse</buildArguments>
|
||||||
|
<buildTarget>init --ide eclipse</buildTarget>
|
||||||
|
<stopOnError>true</stopOnError>
|
||||||
|
<useDefaultCommand>true</useDefaultCommand>
|
||||||
|
<runAllBuilders>false</runAllBuilders>
|
||||||
|
</target>
|
||||||
</buildTargets>
|
</buildTargets>
|
||||||
</storageModule>
|
</storageModule>
|
||||||
</cproject>
|
</cproject>
|
||||||
|
@@ -326,7 +326,7 @@ def backup_reports(items):
|
|||||||
|
|
||||||
for params in items:
|
for params in items:
|
||||||
# skip static options
|
# skip static options
|
||||||
for key in params:
|
for key in params.keys():
|
||||||
if key in ("v", "tid", "cid", "cd1", "cd2", "sr", "an"):
|
if key in ("v", "tid", "cid", "cd1", "cd2", "sr", "an"):
|
||||||
del params[key]
|
del params[key]
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user