summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacob McDonnell <jacob@jacobmcdonnell.com>2026-02-26 19:02:21 -0500
committerJacob McDonnell <jacob@jacobmcdonnell.com>2026-02-26 19:02:21 -0500
commitfae96ecc9db4080c009274e6c7e002e2c05e5d3f (patch)
tree2a7350c732f00c61f4f20336b8667edc69db9f74
parent9fc8778f9e04075a4b3c73c09d6dffed9184b138 (diff)
feat: savedefconfig target
Support for savedefconfig target added to cmake.
-rw-r--r--.gitignore1
-rw-r--r--cmake/Kconfig.cmake13
2 files changed, 13 insertions, 1 deletions
diff --git a/.gitignore b/.gitignore
index 772f2de..de47dd5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
.config*
build
+defconfig
diff --git a/cmake/Kconfig.cmake b/cmake/Kconfig.cmake
index 0b2dfbb..232a11f 100644
--- a/cmake/Kconfig.cmake
+++ b/cmake/Kconfig.cmake
@@ -1,3 +1,8 @@
+if(__CMAKE_KCONFIG_CMAKE__)
+ return()
+endif()
+set(__CMAKE_KCONFIG_CMAKE__ true)
+
set(TOOL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/tools)
set(KCONFIG_DIR ${TOOL_DIR}/Kconfiglib)
set(LOCAL_CONFIG ${CMAKE_CURRENT_SOURCE_DIR}/.config)
@@ -17,12 +22,18 @@ add_custom_target(menuconfig
)
add_custom_target(genconfig
- COMMAND ${KCONFIG_DIR}/genconfig.py --header-path ${CMAKE_BINARY_DIR}/generated.h --config-out ${CMAKE_BINARY_DIR}/config.make
+ COMMAND ${KCONFIG_DIR}/genconfig.py --header-path ${CMAKE_BINARY_DIR}/generated.h --config-out
+ ${CMAKE_BINARY_DIR}/config.make
COMMAND ${TOOL_DIR}/make-cmake-config ${CMAKE_BINARY_DIR}/config.make
COMMAND cmake -B ${CMAKE_BINARY_DIR}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
+add_custom_target(savedefconfig
+ COMMAND ${KCONFIG_DIR}/savedefconfig.py
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+)
+
if(EXISTS ${CMAKE_BINARY_DIR}/config.cmake)
include(${CMAKE_BINARY_DIR}/config.cmake)
endif()