Commit Graph

55 Commits

Author SHA1 Message Date
Ivan Kravets 61d70fa688 Include Unity framework for IDE data only if there are tests in project 2021-01-27 22:40:19 +02:00
Ivan Kravets cb9e72a879 Dump build flags using SCons.Subst.SUBST_CMD 2021-01-27 20:57:53 +02:00
Ivan Kravets 9d2fd4982f Cleanup code 2021-01-27 20:40:25 +02:00
Ivan Kravets 985f31877c Automatically install tool-unity when there are tests and "idedata" target is called 2021-01-20 15:14:45 +02:00
Ivan Kravets 9b93fcd947 Do not install tool-unity for even non-test proejct 2021-01-20 14:27:03 +02:00
valeros 16f90dd821 Ignore possible empty defines when exporting IDE data // Resolve #3690 2020-10-29 12:22:26 +02:00
Ivan Kravets 7230556d1b Move extra IDE data to "extra" section 2020-10-26 18:23:28 +02:00
Ivan Kravets 04694b4126 Switch legacy platform manager to the new 2020-08-15 23:11:01 +03:00
Ivan Kravets 64ff6a0ff5 Switch legacy core package manager to the new 2020-08-13 18:30:04 +03:00
Ivan Kravets 3c8e0b17a7 Added support for custom targets 2020-06-09 18:43:50 +03:00
Valerii Koval c03f93521b Refactor PIO Check feature (#3478)
* Add new option --skip-packages for check command

Check tools might fail if they're not able to preprocess source
files, for example, Cppcheck uses a custom preprocessor that is
not able to parse complex preprocessor code in zephyr framework).
Instead user can specify this option to skip headers included from
packages and only check project sources.

* Fix toolchain built-in include paths order
C++ and fixed directories should have higher priority

* Refactor check feature

The main purpose is to prepare a more comprehensive build environment.
It's crucial for cppcheck to be able to check complex frameworks like
zephyr, esp-idf, etc. Also detect a special case when cppcheck fails to check
the entire project (e.g. a syntax error due to custom preprocessor)

* Add new test for check feature

Tests ststm32 platform all tools and the main frameworks

* Update check tools to the latest available versions

* Test check tools and Zephyr framework only with Python 3

* Tidy up code

* Add history entry
2020-04-26 00:10:41 +03:00
Valerii Koval 24c04057e9 CLion: Add paths to libraries specified via lib_extra_dirs option (#3463)
* Add paths to libraries specified via lib_extra_dirs option

Besides, global folders in SRC_LIST seem a bit unnecessary
since there might be unused libraries in these folders

* Refactor processing of includes when exporting IDE/Editor projects

Split includes according to their source. That will help export includes in a more flexible way.
For example some IDEs don't need include paths from toolchains

* Add new record to history log

* Typo fix
2020-04-21 17:37:55 +03:00
Ivan Kravets a78b461d45 Code formatting 2020-02-08 19:10:15 +02:00
Valerii Koval 0b0b63aa7d Update templates for Atom, VSCode, CLion (#3371)
* Wrap flags with whitespace chars when exporting data for IDEs

* Update IDEs templates

Take into account compiler flags that can contain whitespace characters (e.g. -iprefix)

* Update template for VSCode

* Add history record
2020-02-07 11:26:45 +02:00
Ivan Kravets 6809da0353 Replace os.path.abspath by realpath 2019-11-15 16:02:15 +02:00
Ivan Kravets 234585dc97 Fixed an issue with project generator when `src_build_flags` were not respected // Resolve #3137 2019-10-24 16:39:11 +03:00
Ivan Kravets d2abac9b18 Fixed an issue when configuration file options partly ignored when `--project-conf` // Resolve #3034 (#3055)
* Fixed an issue when configuration file options partly ignored when using custom ``--project-conf`` // Resolve #3034

* Py2 compatible makedirs

* Fix circle dependency

* Fix broken import in test examples

* Fix history

* Remove YAPF markers

* PyLint fix

* Fix invalid project conf path

* Move PIO Core to the root on Windows, issue with long CPPPATHs

* Respect global PLATFORMIO_BUILD_CACHE_DIR env var

* Fix Appveyor paths

* Minor changes
2019-09-27 14:13:53 +03:00
Ivan Kravets 7c41c7c2f3 Introduce Black to automate code formatting 2019-09-23 23:13:48 +03:00
Ivan Kravets 83bf34fb77 Extend "load_project_ide_data" API to return IDE data for more than one environment 2019-08-29 16:01:36 +03:00
Ivan Kravets 61db0f1d6a YAPF 0.27.0 2019-05-30 23:42:15 +03:00
Ivan Kravets 0ce2343836 Do not pass project settings as SCons arguments // Resolve #1637 2019-05-30 17:08:00 +03:00
Ivan Kravets 3df01405a1 Remove unused Python imports 2019-05-27 22:25:22 +03:00
Ivan Kravets a6e5a0c7f5 Fix an issue for Project Generator when include path search order is inconsistent to what passed to the compiler // Resolve #2509 2019-05-24 16:06:27 +03:00
Ivan Kravets 8643f0454e Move "glob_escape" and "get_file_contents" helpers to "compat" module 2019-05-17 13:18:15 +03:00
Ivan Kravets 971049b41c Move process related helpers to "proc" module 2019-05-16 21:03:15 +03:00
Ivan Kravets 7ddd22209f Enable PyLint "import-error" 2019-05-07 21:16:42 +03:00
Ivan Kravets 4a17a9b5b3 Improved IntelliSense for PlatformIO IDE for VSCode via passing extra compiler information for C/C++ Code Parser 2018-11-21 15:00:13 +02:00
Ivan Kravets b22ca10f8c Prepend CPPATH of library dependencies instead of appending // Resolve #1914 2018-11-19 17:45:53 +02:00
Ivan Kravets 38fb5b2234 Typo fix 2018-10-30 06:40:11 +02:00
Ivan Kravets ab6a323aca Fixed an issue with VSCode IntelliSense warning about the missed headers located in "include" folder 2018-10-30 00:27:29 +02:00
Ivan Kravets d4e553fb5a Generate an "include" directory with a README file when initializing a new project 2018-10-12 21:49:02 +03:00
Ivan Kravets e6fa8654ad YAPF 2018-09-20 14:55:55 +03:00
Ivan Kravets c1f4b729ea Export extra flash images for IDE 2018-07-06 15:25:51 +03:00
Ivan Kravets 7be1af4241 Do not check if a custom SVD file exists 2018-05-02 12:37:51 +03:00
Ivan Kravets 73b1d9ccd5 Configure a custom path to SVD file using "debug_svd_path" option 2018-05-01 21:09:32 +03:00
Ivan Kravets c9fa2206ef Normalize SVD path 2018-04-30 12:33:19 +03:00
Ivan Kravets b1caaa2208 Export path to SVD file for IDEs 2018-04-27 20:37:41 +03:00
Ivan Kravets b77160d363 Upgrade VSCode CPP manifest to v3 2018-04-20 13:56:04 +03:00
Ivan Kravets 1410dd093a Revert back g++ macro from dump list // Issue #1546 2018-04-01 10:28:25 -07:00
Ivan Kravets 622e4033c1 Dump g++ macros for IDE 2018-03-24 12:45:00 +02:00
Ivan Kravets 8f7206b186 Use absolute path for CPP includes when exporting data to IDE 2018-03-22 12:09:36 +02:00
Ivan Kravets f512ccbe68 Fix issue with duplicated "include" records when generating data for IDE // Resolve #1301 2018-01-24 15:53:28 +02:00
Ivan Kravets 3d8183a2e1 LDF: handle "include" folder per project; fix issue with header files // Resolve #1235 2017-12-16 15:38:13 +02:00
Ivan Kravets f9b9ed317d Export built-in GCC macros for IDEs 2017-12-13 00:59:51 +02:00
Ivan Kravets 10d21595c6 Fix issue when board is not specified and "idedata" target is called 2017-11-29 22:22:31 +02:00
Ivan Kravets 8f97181ea7 Add "__GNUC__" macro by default for VSCode
https://github.com/platformio/platformio-vscode-ide/issues/54
2017-11-29 16:07:11 +02:00
Ivan Kravets b670ab4888 Initial support for non-ascii locales 2017-11-02 23:14:32 +02:00
Ivan Kravets 86de58b9e1 Fix missing toolchain include paths for project generator // Resolve #1154 2017-11-01 14:09:06 +02:00
Ivan Kravets 4d1a135d76 Apply YAPF 2017-06-05 16:05:05 +03:00
Ivan Kravets 45e75f7473 Copyright (c) 2014-present PlatformIO <contact@platformio.org>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
2017-06-05 16:02:39 +03:00