Angus Gratton
b3ef89942f
Merge branch 'feature/cmake_overriding_components_new_features' into 'master'
...
CMake: useful features for overriding components
See merge request espressif/esp-idf!8220
2020-06-19 11:56:56 +08:00
Renz Bagaporo
bd55cdff02
cmake: allow calling get component property in early expansion
2020-06-16 20:42:00 +08:00
Renz Bagaporo
ebf07d353d
cmake: allow overriding kconfig, kconfig_projbuild on registration
2020-06-16 20:42:00 +08:00
Renz Bagaporo
01a7db799f
cmake: fix C identifier generation from embedded file
2020-06-16 17:05:46 +08:00
Renz Bagaporo
bd8f616f82
cmake: fix getting component requirements
2020-04-08 05:42:15 +00:00
Renz Christian Bagaporo
f64a3c2a66
cmake: utility to create a failing target
2020-03-02 07:18:22 +05:00
Angus Gratton
e8881352c5
secure boot: Fix bug where verification key was not embedded in app
2019-10-29 12:46:09 +11:00
Renz Christian Bagaporo
d3e814fe19
cmake: set COMPONENT_DIR in early expansion
...
Gives same treatment to COMPONENT_DIR as COMPONENT_PATH in
https://gitlab.espressif.cn:6688/espressif/esp-idf/merge_requests/4557
Closes https://github.com/espressif/esp-idf/issues/3771
2019-07-12 16:22:18 +08:00
Renz Christian Bagaporo
297b2c5a39
cmake: evaluate component requirements in one go
...
!4452 simplified early expansion by using an early expansion script that
only does one thing: get the public and private requirements for each
component, albeit one by one. This was also dependent on parsing
the command output of the expansion script. This commit makes it so that a list of all
components to be processed to passed to the expansion script, generating a cmake
file that sets each component requirements in one go.
This also makes sure that only components that registered themselves get
included in the final build list.
2019-06-11 18:09:26 +08:00
Renz Christian Bagaporo
c6dc47b3e2
cmake: build system changes
2019-05-13 19:57:39 +08:00
Angus Gratton
abdc9f50d8
cmake: Set COMPONENT_PATH during early expansion of dependencies
...
Works around bug where components/soc/CMakeLists.txt was testing "EXISTS
${COMPONENT_PATH}/${SOC_NAME}" and this test could pass during early
expansion if COMPONENT_PATH was empty and a directory /esp32 exists
on Windows.
Closes https://github.com/espressif/esp-idf/issues/3195
2019-03-20 10:45:45 +11:00
Per Malmberg
25333b59c2
Add ESP_PLATFORM to build environment.
...
Merges https://github.com/espressif/esp-idf/pull/2601
2018-12-21 18:59:28 +11:00
Renz Christian Bagaporo
37d30c7a6e
cmake: separate app from idf lib project
...
mbedtls: import mbedtls using unmodified cmake file
2018-11-27 13:59:24 +08:00
Renz Bagaporo
63411fc556
tools: implement linker script generation
2018-11-16 12:42:02 +08:00
Ivan Grokhotkov
ccfa134533
build system: support for multiple targets
2018-11-11 21:46:02 +08:00
Renz Bagaporo
cc774111bf
cmake: Add support for test build
2018-10-20 12:07:24 +08:00
Renz Christian Bagaporo
946f55db85
cmake: add ulp components build support
2018-09-13 14:54:59 +08:00
Renz Christian Bagaporo
d9939cedd9
cmake: make main a component again
2018-09-11 09:44:12 +08:00
Angus Gratton
c921f14128
cmake: Generate list of components with dependent items first, use deterministic ordering
...
Guarantees that a component's project_include.cmake will be called after its dependent components'
project_include.cmake. Because of cycles in the dependency graph, this is less useful than you'd
think but it gives a strong guarantee for any component which is not part of a cycle.
Also applies deterministic ordering (ordering is initialised as COMPONENT_REQUIRES_COMMON then all
COMPONENTS in alphabetical order, but then the sorting by dependencies is applied.)
2018-08-31 12:29:13 +08:00
Angus Gratton
cb158f1194
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-29 20:22:55 +08:00
Renz Bagaporo
071aaea66b
Place embedded data on flash
2018-08-29 20:22:55 +08: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
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
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
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
88df8fd293
cmake: Use cmake_lint project, tidy up all CMake source files
2018-04-30 09:59:20 +10:00
Angus Gratton
ce6748873d
cmake: Add embedding files in components support
...
Add subscribe_publish AWS example and fixes to allow it to build.
2018-04-30 09:59:20 +10:00