Renz Christian Bagaporo
a64139690b
cmake: Fix for Python files executed directly, not via PYTHON variable
2019-03-28 15:45:58 +08:00
Angus Gratton
e4d61154f2
cmake: Fix psram workaround compiler flag application
...
Previously, this compiler flag was not being applied
regardless of CONFIG_SPIRAM_CACHE_WORKAROUND setting.
Explanation: add_compile_options() only applies to
source files added after the function is run, or in
subdirectories added after the function is run. In
this case, no new source files were being added after
this function was run.
2019-03-11 16:02:36 +11:00
Anton Maklakov
26e7d01d42
cmake: fix the creation dummy main to avoid rebuilding
2018-11-15 01:12:50 +08:00
Ivan Grokhotkov
315f18766c
cmake: pass repository path to git when doing git describe
...
Fixes getting IDF version in out-of-tree builds
2018-09-27 13:35:11 +08:00
Ivan Grokhotkov
533c5e98e8
cmake: don't add main component Kconfig twice
2018-09-13 11:13:27 +08:00
Ivan Grokhotkov
d04718bbe3
cmake: use built-in file function to create dummy main
2018-09-13 11:13:27 +08:00
Renz Bagaporo
7edf2bf66c
cmake: make main a component again
2018-09-13 11:13:27 +08:00
Angus Gratton
dd77a4c65d
cmake: Account for missing partition CSV file at cmake runtime
...
Avoid either breaking menuconfig (if cmake fails), or producing bad build output (if cmake succeeds
but no flashing offsets, etc. were generated.)
2018-08-27 11:56:48 +08:00
Renz Bagaporo
ab95d5cdd7
Place embedded data on flash
2018-08-23 11:15:23 +10:00
Angus Gratton
7f50bb7e7f
Merge branch 'release/v3.1' into feature/cmake_v3.1
2018-08-17 14:14:10 +10:00
Angus Gratton
48bd67524d
cmake: Only rewrite componend_depends.cmake if it changes
2018-08-13 15:37:03 +10:00
Angus Gratton
70288f864e
cmake: Expand components relative to PROJECT_PATH correctly
2018-08-13 15:37:03 +10:00
Angus Gratton
bf10447b82
cmake: Fix issues when IDF_PATH is not set in environment
...
Support cases where IDF_PATH may be passed in on the cmake command line,
or inferred from a (hardcoded absolute or relative) path to project.cmake
2018-06-18 14:48:03 +10:00
Angus Gratton
be829afe6e
Merge branch 'feature/cmake_confserver' into 'feature/cmake'
...
cmake: Add JSON configuration server for external config tool integration
See merge request idf/esp-idf!2410
2018-06-08 07:32:09 +08:00
Angus Gratton
6065d2fd08
kconfig: Add confserver.py to expose sdkconfig to clients
2018-06-07 14:23:08 +10:00
Angus Gratton
46b723e5ed
cmake: Fix COMPONENT_SRCEXCLUDE functionality
2018-06-06 16:27:44 +10:00
Angus Gratton
8bb4c694ce
cmake: Add COMPONENT_SRCEXCLUDE option
2018-05-31 14:46:39 +10:00
Angus Gratton
6b9784cc45
Merge branch 'master' into feature/cmake_update
2018-05-31 14:46:23 +10:00
Angus Gratton
f6cd55d2ac
config: Rename mconf to mconf-idf & conf to conf-idf
...
These versions of conf/mconf are forked from the upstream, and the CMake system allows mconf-idf to
be installed externally on the path. So the best option is to rename.
Includes changes to Windows installer for v1.1
2018-05-29 16:34:45 +10:00
Angus Gratton
61aff5162c
mconf: Don't print a recommendation to use 'make' if CMake build system is in use
...
Also add some cmake dependencies to rebuild mconf if its source files change.
2018-05-29 16:34:45 +10:00
Angus Gratton
a1fac97f1a
cmake: Fix set_default using value from environment
...
Fixes issue with idf.py passing through Python interpreter, as reported in
https://github.com/espressif/esp-idf/issues/1924
2018-05-29 16:34:45 +10:00
Angus Gratton
cc104eb05b
cmake: Add sdkconfig.h directory to include paths list not just compiler args
...
Also move into 'build/config/' subdir, remove creation of empty include/config dir.
2018-05-29 16:34:45 +10:00
Angus Gratton
2f4079ebb2
cmake: Hide serial port settings in menuconfig when using cmake
2018-05-29 16:34:45 +10:00
Angus Gratton
c7307de63e
cmake: Automatically pull in winpty for menuconfig, monitor if needed
2018-05-01 17:27:39 +10:00
Angus Gratton
c42b791aaa
cmake: Use prebuilt mconf on Windows
...
Closes https://github.com/espressif/esp-idf/issues/1905
2018-05-01 17:27:39 +10:00
Angus Gratton
381be65472
cmake: Build all examples in CI
...
Includes some fixes for compile errors/warnings in examples.
2018-04-30 10:18:33 +10:00
Angus Gratton
858b95a924
cmake: Add build system tests
2018-04-30 09:59:20 +10:00
Angus Gratton
1cb5712463
cmake: Add component dependency support
...
Components should set the COMPONENT_REQUIRES & COMPONENT_PRIVATE_REQUIRES variables to define their
requirements.
2018-04-30 09:59:20 +10:00
Angus Gratton
56902f0054
cmake: Write configuration & component metadata to project_description.json
2018-04-30 09:59:20 +10:00
Angus Gratton
f1d3bfc0c7
cmake: Add new flasher_args.json file for IDE parsing, document metadata files better
2018-04-30 09:59:20 +10:00
Angus Gratton
b44c8b125f
cmake: Style cleanup, add cmake linter to gitlab CI
2018-04-30 09:59:20 +10:00
Angus Gratton
2ea359ad0c
cmake: Cleanups to work with Windows
2018-04-30 09:59:20 +10:00
Angus Gratton
6bdc49b6e4
cmake: set CCACHE_BASEDIR & CCACHE_NOHASHDIR when using ccache
...
Dramatically improves build performance when building multiple
projects in different directories.
2018-04-30 09:59:20 +10:00
Angus Gratton
9d88d13f77
cmake: convert_to_cmake.py script for converting IDF GNU Make projects
2018-04-30 09:59:20 +10:00
Angus Gratton
2816cf1d67
cmake: Change data_file_to_c to data_file_embed_asm for objcopy compatibility
...
Now generates _binary_filename_start / _binary_filename_end as well as more useful naming.
2018-04-30 09:59:20 +10:00
Angus Gratton
12be399762
cmake: Add link-time dependencies for linker script files
...
Requires some hackery around limitations in CMake's LINK_DEPENDS
2018-04-30 09:59:20 +10:00
Angus Gratton
88df8fd293
cmake: Use cmake_lint project, tidy up all CMake source files
2018-04-30 09:59:20 +10:00
Angus Gratton
15d5e88618
cmake: Automatically include ccache if it's on the path
2018-04-30 09:59:20 +10:00
Angus Gratton
9f8cdd3572
cmake: Add "Preview release" getting start guide & build system documentation
2018-04-30 09:59:20 +10:00
Angus Gratton
95e17d6d92
cmake: Allow GetGitRevisionDescription to take arbitrary directory paths
2018-04-30 09:59:20 +10:00
Angus Gratton
abef220b13
cmake: Allow selecting toolchain file based on config
...
Refactor IDF "project" functionality under a wrapping of the default
"project" command, so we can tweak it a bit...
Will need more testing in other environments.
2018-04-30 09:59:20 +10:00
Angus Gratton
04a944598f
cmake: Export compile_commands.json as part of build
2018-04-30 09:59:20 +10:00
Angus Gratton
efb5928934
idf.py build & flash tool
...
Generate flasher args files & .json project info file as part of cmake build
2018-04-30 09:59:20 +10:00
Angus Gratton
7eaf2f4bdb
kconfig: Allow out of tree building, build under cmake build directory
2018-04-30 09:59:20 +10:00
Angus Gratton
cb99531d15
cmake: Generate PHY init data partition as part of the build
2018-04-30 09:59:20 +10:00
Angus Gratton
0bdc12256e
cmake: Add "size" target, update idf_size.py for different linker behaviour
2018-04-30 09:59:20 +10:00
Angus Gratton
1f8e07fd8f
cmake: Add sdkconfig.defaults support
2018-04-30 09:59:20 +10:00
Angus Gratton
be962a9444
cmake: Re-run cmake if submodule commits change or a submodule is deinit-ed
2018-04-30 09:59:20 +10:00
Angus Gratton
4f1a856dbf
cmake: Remove defaults for COMPONENT_SRCDIRS, COMPONENT_SRCS, COMPONENT_ADD_INCLUDEDIRS
...
* Philosophical: "explicit is better than implicit".
* Practical: Allows useful errors if invalid directories given in components as the defaults aren't
always used. Also trims the -I path from a number of components that have no actual include
directory.
* Simplifies knowing which components will be header-only and which won't
2018-04-30 09:59:20 +10:00
Angus Gratton
3fac2b2ddc
cmake: Refactor bootloader_subproject into the bootloader component itself
2018-04-30 09:59:20 +10:00