cmake: Use NUTTX(_DIR/_BIN_DIR) instead CMAKE(_SRC_DIR/_BIN_DIR)

This change fixes NuttX’s CMake support when NuttX is embedded
in another project via add_subdirectory(). CMake’s CMAKE_SOURCE_DIR
and CMAKE_BINARY_DIR refer to the outermost project, causing NuttX
to access its .config, generated files, host tools, and build artifacts
in the parent project’s directories. The fix introduces NUTTX_DIR and
NUTTX_BINARY_DIR, based on CMAKE_CURRENT_SOURCE_DIR and
CMAKE_CURRENT_BINARY_DIR, and consistently uses them for NuttX
self-references while preserving existing standalone builds. It fixes
the Kconfig initialization failure reported in #19697 and allows an
embedded sim:nsh build to configure, build, and boot successfully.
The change affects only the CMake build system (not Make or Kconfig
defaults), requires the corresponding nuttx-apps change, and does not
extend add_subdirectory() support to cross-compiled non-sim boards due
to CMake’s toolchain-file limitation.

Fixes #19697.

Assisted-by: Claude:claude-sonnet-5
Signed-off-by: Alan Carvalho de Assis <acassis@gmail.com>
This commit is contained in:
Alan Carvalho de Assis
2026-08-09 11:13:08 -03:00
committed by Alan C. Assis
parent b8e26b127e
commit 87260499e1
85 changed files with 345 additions and 351 deletions
+47 -47
View File
@@ -89,6 +89,7 @@ set(CMAKE_USER_MAKE_RULES_OVERRIDE
# Process board config & directory locations #################################
set(NUTTX_DIR ${CMAKE_CURRENT_SOURCE_DIR})
set(NUTTX_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR})
# uncleaned previous make build can cause various types of cmake error
if(EXISTS "${NUTTX_DIR}/.config")
@@ -211,7 +212,7 @@ endif()
get_filename_component(NUTTX_APPS_DIR ${NUTTX_APPS_DIR} ABSOLUTE)
get_filename_component(apps_dir ${NUTTX_APPS_DIR} NAME)
set(NUTTX_APPS_BINDIR "${CMAKE_BINARY_DIR}/${apps_dir}")
set(NUTTX_APPS_BINDIR "${NUTTX_BINARY_DIR}/${apps_dir}")
# Support not having application directory
@@ -220,10 +221,10 @@ if("${apps_dir}" STREQUAL "dummy")
file(TOUCH ${NUTTX_APPS_BINDIR}/Kconfig)
endif()
set(ENV{PYTHONPYCACHEPREFIX} ${CMAKE_BINARY_DIR})
set(ENV{PYTHONPYCACHEPREFIX} ${NUTTX_BINARY_DIR})
set(ENV{APPSDIR} ${NUTTX_APPS_DIR}) # TODO: support not having apps/
set(ENV{APPSBINDIR} ${NUTTX_APPS_BINDIR}) # TODO: support not having apps/
set(ENV{BINDIR} ${CMAKE_BINARY_DIR}) # TODO: support not having apps/
set(ENV{BINDIR} ${NUTTX_BINARY_DIR}) # TODO: support not having apps/
set(ENV{EXTERNALDIR} dummy) # TODO
set(ENV{DRIVERS_PLATFORM_DIR} dummy) # TODO
@@ -273,7 +274,7 @@ endif()
# Custom board ###################################################
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/boards/dummy)
file(MAKE_DIRECTORY ${NUTTX_BINARY_DIR}/boards/dummy)
if(CONFIG_ARCH_BOARD_CUSTOM)
get_filename_component(NUTTX_BOARD_ABS_DIR ${CONFIG_ARCH_BOARD_CUSTOM_DIR}
ABSOLUTE BASE_DIR ${NUTTX_DIR})
@@ -291,22 +292,22 @@ if(CONFIG_ARCH_BOARD_CUSTOM
AND EXISTS ${NUTTX_BOARD_ABS_DIR}/Kconfig
AND NOT (IS_NUTTX_BOARD EQUAL 0))
nuttx_create_symlink(${NUTTX_BOARD_ABS_DIR}/Kconfig
${CMAKE_BINARY_DIR}/boards/dummy/Kconfig)
${NUTTX_BINARY_DIR}/boards/dummy/Kconfig)
else()
file(TOUCH ${CMAKE_BINARY_DIR}/boards/dummy/Kconfig)
file(TOUCH ${NUTTX_BINARY_DIR}/boards/dummy/Kconfig)
endif()
# board platform driver
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/drivers)
file(MAKE_DIRECTORY ${NUTTX_BINARY_DIR}/drivers)
if(EXISTS ${NUTTX_BOARD_ABS_DIR}/../drivers
AND EXISTS ${NUTTX_BOARD_ABS_DIR}/../drivers/Kconfig)
nuttx_create_symlink(${NUTTX_BOARD_ABS_DIR}/../drivers
${CMAKE_BINARY_DIR}/drivers/platform)
${NUTTX_BINARY_DIR}/drivers/platform)
else()
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/drivers/platform)
file(TOUCH ${CMAKE_BINARY_DIR}/drivers/platform/Kconfig)
file(MAKE_DIRECTORY ${NUTTX_BINARY_DIR}/drivers/platform)
file(TOUCH ${NUTTX_BINARY_DIR}/drivers/platform/Kconfig)
endif()
# Custom chip ###################################################
@@ -320,25 +321,25 @@ else()
"${NUTTX_DIR}/arch/${CONFIG_ARCH}/src/${CONFIG_ARCH_CHIP}")
endif()
if(NOT EXISTS ${CMAKE_BINARY_DIR}/arch/dummy)
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/arch/dummy)
if(NOT EXISTS ${NUTTX_BINARY_DIR}/arch/dummy)
file(MAKE_DIRECTORY ${NUTTX_BINARY_DIR}/arch/dummy)
endif()
if(CONFIG_ARCH_CHIP_CUSTOM AND EXISTS ${NUTTX_CHIP_ABS_DIR}/Kconfig)
nuttx_create_symlink(${NUTTX_CHIP_ABS_DIR}/Kconfig
${CMAKE_BINARY_DIR}/arch/dummy/Kconfig)
${NUTTX_BINARY_DIR}/arch/dummy/Kconfig)
else()
file(TOUCH ${CMAKE_BINARY_DIR}/arch/dummy/Kconfig)
file(TOUCH ${NUTTX_BINARY_DIR}/arch/dummy/Kconfig)
endif()
if(NOT EXISTS ${CMAKE_BINARY_DIR}/arch/${CONFIG_ARCH})
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/arch/${CONFIG_ARCH})
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/arch/${CONFIG_ARCH}/src)
if(NOT EXISTS ${NUTTX_BINARY_DIR}/arch/${CONFIG_ARCH})
file(MAKE_DIRECTORY ${NUTTX_BINARY_DIR}/arch/${CONFIG_ARCH})
file(MAKE_DIRECTORY ${NUTTX_BINARY_DIR}/arch/${CONFIG_ARCH}/src)
endif()
if(NOT EXISTS ${CMAKE_BINARY_DIR}/arch/${CONFIG_ARCH}/src/chip)
if(NOT EXISTS ${NUTTX_BINARY_DIR}/arch/${CONFIG_ARCH}/src/chip)
nuttx_create_symlink(${NUTTX_CHIP_ABS_DIR}
${CMAKE_BINARY_DIR}/arch/${CONFIG_ARCH}/src/chip)
${NUTTX_BINARY_DIR}/arch/${CONFIG_ARCH}/src/chip)
endif()
# Unsupported custom board/chips yet, workaround
@@ -351,28 +352,28 @@ endif()
# Copy board defconfig into main directory and expand TODO: do also for changes
# in board/config (by comparing stored defconfig to specified one)
if(NOT EXISTS ${CMAKE_BINARY_DIR}/.config OR NOT "${NUTTX_DEFCONFIG}" STREQUAL
if(NOT EXISTS ${NUTTX_BINARY_DIR}/.config OR NOT "${NUTTX_DEFCONFIG}" STREQUAL
"${NUTTX_DEFCONFIG_SAVED}")
message(STATUS "Initializing NuttX")
configure_file(${NUTTX_DEFCONFIG} defconfig COPYONLY)
configure_file(${NUTTX_DEFCONFIG} .config.compressed COPYONLY)
set(ENV{KCONFIG_CONFIG} ${CMAKE_BINARY_DIR}/.config.compressed)
set(ENV{KCONFIG_CONFIG} ${NUTTX_BINARY_DIR}/.config.compressed)
# Define host before the first olddefconfig so host-dependent defaults, such
# as the sim toolchain choice on macOS, resolve the same way as configure.sh.
nuttx_sethost(CONFIG_FILE ${CMAKE_BINARY_DIR}/.config.compressed)
nuttx_sethost(CONFIG_FILE ${NUTTX_BINARY_DIR}/.config.compressed)
# Do olddefconfig step to expand the abbreviated defconfig into normal config
nuttx_olddefconfig()
file(RENAME ${CMAKE_BINARY_DIR}/.config.compressed
${CMAKE_BINARY_DIR}/.config)
set(ENV{KCONFIG_CONFIG} ${CMAKE_BINARY_DIR}/.config)
file(RENAME ${NUTTX_BINARY_DIR}/.config.compressed
${NUTTX_BINARY_DIR}/.config)
set(ENV{KCONFIG_CONFIG} ${NUTTX_BINARY_DIR}/.config)
# Set CONFIG_BASE_DEFCONFIG so .config matches Make behavior (configure.sh)
file(READ ${CMAKE_BINARY_DIR}/.config _config_init_content)
file(READ ${NUTTX_BINARY_DIR}/.config _config_init_content)
string(
REGEX
REPLACE "CONFIG_BASE_DEFCONFIG=\"[^\"]*\""
@@ -382,10 +383,10 @@ if(NOT EXISTS ${CMAKE_BINARY_DIR}/.config OR NOT "${NUTTX_DEFCONFIG}" STREQUAL
string(APPEND _config_init_content
"\nCONFIG_BASE_DEFCONFIG=\"${NUTTX_BOARD}/${NUTTX_CONFIG}\"\n")
endif()
file(WRITE ${CMAKE_BINARY_DIR}/.config "${_config_init_content}")
file(WRITE ${NUTTX_BINARY_DIR}/.config "${_config_init_content}")
# store original expanded .config
configure_file(${CMAKE_BINARY_DIR}/.config ${CMAKE_BINARY_DIR}/.config.orig
configure_file(${NUTTX_BINARY_DIR}/.config ${NUTTX_BINARY_DIR}/.config.orig
COPYONLY)
set(NUTTX_DEFCONFIG_SAVED
@@ -422,7 +423,7 @@ add_custom_target(nuttx_global)
# this exposes all Kconfig vars to CMake
nuttx_export_kconfig(${CMAKE_BINARY_DIR}/.config)
nuttx_export_kconfig(${NUTTX_BINARY_DIR}/.config)
include(nuttx_generate_headers)
include(nuttx_generate_outputs)
@@ -471,9 +472,9 @@ endif()
# This needs to happen before project() when binaries are searched for
list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/arch/${CONFIG_ARCH}/src/cmake)
list(APPEND CMAKE_MODULE_PATH ${NUTTX_DIR}/arch/${CONFIG_ARCH}/src/cmake)
set(CMAKE_TOOLCHAIN_FILE
"${CMAKE_SOURCE_DIR}/arch/${CONFIG_ARCH}/src/cmake/Toolchain.cmake")
"${NUTTX_DIR}/arch/${CONFIG_ARCH}/src/cmake/Toolchain.cmake")
# Compiler detection must not try to link a full executable. CMake validates a
# compiler by building and linking a test program, but a bare metal cross
@@ -511,8 +512,8 @@ if(EXISTS ${NUTTX_BOARD_ABS_DIR}/cmake
endif()
# Support loadable and kernel options by specific arch
if(EXISTS ${CMAKE_SOURCE_DIR}/arch/${CONFIG_ARCH}/src/cmake/elf.cmake)
include(${CMAKE_SOURCE_DIR}/arch/${CONFIG_ARCH}/src/cmake/elf.cmake)
if(EXISTS ${NUTTX_DIR}/arch/${CONFIG_ARCH}/src/cmake/elf.cmake)
include(${NUTTX_DIR}/arch/${CONFIG_ARCH}/src/cmake/elf.cmake)
endif()
include(platform)
@@ -598,7 +599,7 @@ if(CONFIG_ARCH_SIM)
# linked against final nuttx binary
if(NOT WIN32)
target_link_libraries(nuttx PRIVATE ${CMAKE_BINARY_DIR}/nuttx.rel)
target_link_libraries(nuttx PRIVATE ${NUTTX_BINARY_DIR}/nuttx.rel)
endif()
else()
# These flags apply to source files not part of the library. In sim build this
@@ -620,7 +621,7 @@ set_property(
# Each subdirectory will generate a static library
if(CONFIG_OPENAMP)
include_directories(${CMAKE_SOURCE_DIR}/openamp/open-amp/lib/include)
include_directories(${NUTTX_DIR}/openamp/open-amp/lib/include)
endif()
add_subdirectory(openamp)
@@ -678,7 +679,7 @@ if(NOT CONFIG_ARCH_SIM)
set(ldscript_tmp_list)
foreach(ld ${ldscript})
get_filename_component(LD_SCRIPT_NAME ${ld} NAME)
set(LD_SCRIPT_TMP "${CMAKE_BINARY_DIR}/${LD_SCRIPT_NAME}.tmp")
set(LD_SCRIPT_TMP "${NUTTX_BINARY_DIR}/${LD_SCRIPT_NAME}.tmp")
nuttx_generate_preprocess_target(SOURCE_FILE ${ld} TARGET_FILE
${LD_SCRIPT_TMP})
@@ -705,7 +706,7 @@ else()
endif()
# initialize manifest to hold all generated files
file(TOUCH ${CMAKE_BINARY_DIR}/nuttx.manifest)
file(TOUCH ${NUTTX_BINARY_DIR}/nuttx.manifest)
get_property(nuttx_kernel_libs GLOBAL PROPERTY NUTTX_KERNEL_LIBRARIES)
get_property(nuttx_extra_libs GLOBAL PROPERTY NUTTX_EXTRA_LIBRARIES)
@@ -749,7 +750,7 @@ if(NOT CONFIG_ARCH_SIM)
# TODO: install? $(Q) if [ -w /tftpboot ] ; then \ cp -f uImage
# /tftpboot/uImage; \ fi
file(APPEND ${CMAKE_BINARY_DIR}/nuttx.manifest uImage)
file(APPEND ${NUTTX_BINARY_DIR}/nuttx.manifest uImage)
endif()
elseif(WIN32)
target_link_options(nuttx PUBLIC /SAFESEH:NO)
@@ -766,15 +767,15 @@ elseif(WIN32)
endforeach()
add_custom_command(
OUTPUT ${CMAKE_BINARY_DIR}/nuttx_all.lib
COMMAND ${CMAKE_AR} /OUT:${CMAKE_BINARY_DIR}/nuttx_all.lib
OUTPUT ${NUTTX_BINARY_DIR}/nuttx_all.lib
COMMAND ${CMAKE_AR} /OUT:${NUTTX_BINARY_DIR}/nuttx_all.lib
${nuttx_libs_paths}
DEPENDS ${nuttx_libs}
VERBATIM)
add_custom_target(nuttx_all-lib DEPENDS ${CMAKE_BINARY_DIR}/nuttx_all.lib)
add_custom_target(nuttx_all-lib DEPENDS ${NUTTX_BINARY_DIR}/nuttx_all.lib)
add_dependencies(nuttx nuttx_all-lib)
target_link_libraries(nuttx PRIVATE $<TARGET_OBJECTS:sim_head>
${CMAKE_BINARY_DIR}/nuttx_all.lib)
${NUTTX_BINARY_DIR}/nuttx_all.lib)
else()
if(NOT APPLE)
@@ -828,7 +829,7 @@ endif()
# TODO: if we use an install target a manifest may not be needed
if(CONFIG_ARCH_SIM)
file(APPEND ${CMAKE_BINARY_DIR}/nuttx.manifest "nuttx\n")
file(APPEND ${NUTTX_BINARY_DIR}/nuttx.manifest "nuttx\n")
endif()
# Generate system map using the compiler toolchain. Conventionally, the tool
@@ -862,7 +863,7 @@ if(CONFIG_BUILD_PROTECTED)
set(user_ldscript_tmp_list)
foreach(ldscript ${user_ldscript})
get_filename_component(LD_SCRIPT_USER_NAME ${ldscript} NAME)
set(LD_SCRIPT_USER_TMP "${CMAKE_BINARY_DIR}/${LD_SCRIPT_USER_NAME}.tmp")
set(LD_SCRIPT_USER_TMP "${NUTTX_BINARY_DIR}/${LD_SCRIPT_USER_NAME}.tmp")
nuttx_generate_preprocess_target(SOURCE_FILE ${ldscript} TARGET_FILE
${LD_SCRIPT_USER_TMP})
add_custom_target(user_ldscript_tmp_${LD_SCRIPT_USER_NAME}
@@ -909,9 +910,8 @@ if(CONFIG_BUILD_PROTECTED)
$<$<NOT:$<BOOL:${DISABLE_LINK_GROUP}>>:-Wl,--end-group>)
target_include_directories(
nuttx_user SYSTEM
PRIVATE ${CMAKE_SOURCE_DIR}/include ${CMAKE_BINARY_DIR}/include
${CMAKE_BINARY_DIR}/include_arch)
nuttx_user SYSTEM PRIVATE ${NUTTX_DIR}/include ${NUTTX_BINARY_DIR}/include
${NUTTX_BINARY_DIR}/include_arch)
add_custom_command(
OUTPUT User.map
+2 -2
View File
@@ -25,13 +25,13 @@
# the "user" portion is named "arch_interface".
nuttx_add_kernel_library(arch)
target_include_directories(arch PRIVATE ${CMAKE_SOURCE_DIR}/sched)
target_include_directories(arch PRIVATE ${NUTTX_DIR}/sched)
if(CONFIG_BUILD_PROTECTED)
nuttx_add_system_library(arch_interface)
file(TOUCH "${CMAKE_CURRENT_BINARY_DIR}/empty.c")
target_sources(arch_interface PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/empty.c")
target_include_directories(arch_interface PRIVATE ${CMAKE_SOURCE_DIR}/sched)
target_include_directories(arch_interface PRIVATE ${NUTTX_DIR}/sched)
endif()
# TODO: move this higher up ifeq ($(CONFIG_SCHED_INSTRUMENTATION_SYSCALL),y)
+1 -1
View File
@@ -278,7 +278,7 @@ function(nuttx_generate_preprocess_target)
COMMAND
${PREPROCESS}
$<GENEX_EVAL:$<TARGET_PROPERTY:nuttx_global,NUTTX_CPP_COMPILE_OPTIONS>>
-I${CMAKE_BINARY_DIR}/include -filetype.cpp ${SOURCE_FILE} -o
-I${NUTTX_BINARY_DIR}/include -filetype.cpp ${SOURCE_FILE} -o
${EXPECT_TARGET_FILE_NAME}
DEPENDS ${SOURCE_FILE} ${DEPENDS})
+1 -1
View File
@@ -58,7 +58,7 @@ else()
message(FATAL_ERROR "CMAKE_SYSTEM_PROCESSOR not set")
endif()
get_directory_property(TOOLCHAIN_DIR_FLAGS DIRECTORY ${CMAKE_SOURCE_DIR}
get_directory_property(TOOLCHAIN_DIR_FLAGS DIRECTORY ${NUTTX_DIR}
COMPILE_OPTIONS)
set(NUTTX_EXTRA_FLAGS "")
@@ -247,7 +247,7 @@ target_link_options(
-Wl,--defsym=_sdata=__sram_image2_start__
-Wl,--defsym=_edata=__sram_image2_start__
-Wl,--defsym=_eronly=__sram_image2_start__
-Wl,-Map=${CMAKE_BINARY_DIR}/nuttx.map
-Wl,-Map=${NUTTX_BINARY_DIR}/nuttx.map
${AMEBA_EXTRA_LINK_OPTIONS})
# Append to NUTTX_EXTRA_LIBRARIES (not target_link_libraries): the top-level
@@ -267,19 +267,19 @@ if(EXISTS ${AMEBA_TOOLS_DIR}/ameba_package.sh)
add_custom_target(
nuttx_post_build
DEPENDS nuttx
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
WORKING_DIRECTORY ${NUTTX_BINARY_DIR}
COMMENT "PACK nuttx.bin (Ameba AP + NP image2)")
add_custom_command(
TARGET nuttx_post_build
POST_BUILD
COMMAND
${CMAKE_COMMAND} -E env
"AMEBA_FLASH_HINT=AMEBA_PORT=/dev/ttyUSB0 cmake --build ${CMAKE_BINARY_DIR} --target flash"
"AMEBA_FLASH_HINT=AMEBA_PORT=/dev/ttyUSB0 cmake --build ${NUTTX_BINARY_DIR} --target flash"
sh ${AMEBA_TOOLS_DIR}/ameba_package.sh ${AMEBA_SDK} ${AMEBA_PY_SOC}
${AMEBA_SOC_NAME} ${AMEBA_PREBUILT} ${AMEBA_AP_PROJECT} ${AMEBA_KM_PROJ}
${AMEBA_NP_TARGET} ${AMEBA_TOOLCHAIN_DIR} ${CMAKE_BINARY_DIR}/nuttx
${CMAKE_BINARY_DIR}/nuttx.bin
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
${AMEBA_NP_TARGET} ${AMEBA_TOOLCHAIN_DIR} ${NUTTX_BINARY_DIR}/nuttx
${NUTTX_BINARY_DIR}/nuttx.bin
WORKING_DIRECTORY ${NUTTX_BINARY_DIR}
# USES_TERMINAL -> Ninja "console" pool: stream the (long) SDK NP-build +
# packaging output live instead of buffering it until the step finishes.
USES_TERMINAL COMMAND_EXPAND_LISTS)
@@ -306,8 +306,8 @@ if(AMEBA_FLASH_PROFILE AND NOT TARGET flash)
COMMAND
${CMAKE_COMMAND} -E env sh ${AMEBA_TOOLS_DIR}/ameba_flash.sh ${AMEBA_SDK}
${AMEBA_FLASH_PROFILE} ${AMEBA_AUTOCONF} ${AMEBA_PREBUILT}
${CMAKE_BINARY_DIR}/nuttx.bin
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
${NUTTX_BINARY_DIR}/nuttx.bin
WORKING_DIRECTORY ${NUTTX_BINARY_DIR}
USES_TERMINAL VERBATIM
COMMENT "Flashing Ameba ${AMEBA_PY_SOC} over ${AMEBA_PORT} (AMEBA_PORT env)"
)
+1 -1
View File
@@ -162,7 +162,7 @@ if(CONFIG_NRF52_SOFTDEVICE_CONTROLLER)
SOURCE_DIR
${CMAKE_CURRENT_LIST_DIR}/sdk-nrfxlib
BINARY_DIR
${CMAKE_BINARY_DIR}/arch/sdk-nrfxlib
${NUTTX_BINARY_DIR}/arch/sdk-nrfxlib
CONFIGURE_COMMAND
""
BUILD_COMMAND
+1 -1
View File
@@ -129,7 +129,7 @@ if(CONFIG_NRF53_SOFTDEVICE_CONTROLLER)
SOURCE_DIR
${CMAKE_CURRENT_LIST_DIR}/sdk-nrfxlib
BINARY_DIR
${CMAKE_BINARY_DIR}/arch/sdk-nrfxlib
${NUTTX_BINARY_DIR}/arch/sdk-nrfxlib
CONFIGURE_COMMAND
""
BUILD_COMMAND
+1 -1
View File
@@ -102,7 +102,7 @@ if(CONFIG_NRF91_MODEM)
SOURCE_DIR
${CMAKE_CURRENT_LIST_DIR}/sdk-nrfxlib
BINARY_DIR
${CMAKE_BINARY_DIR}/arch/sdk-nrfxlib
${NUTTX_BINARY_DIR}/arch/sdk-nrfxlib
CONFIGURE_COMMAND
""
BUILD_COMMAND
+1 -1
View File
@@ -107,7 +107,7 @@ if(CONFIG_RP2040_FLASH_BOOT)
set(PICO_SDK_PATH $ENV{PICO_SDK_PATH})
include(${CMAKE_CURRENT_SOURCE_DIR}/boot2/rp2040_boot_stage2.cmake)
set(PATH_CHIP_RP2040 ${CMAKE_BINARY_DIR}/arch/${CONFIG_ARCH}/src/chip)
set(PATH_CHIP_RP2040 ${NUTTX_BINARY_DIR}/arch/${CONFIG_ARCH}/src/chip)
pico_define_boot_stage2(rp2040_boot_stage2 ${PATH_CHIP_RP2040})
if(EXISTS ${PATH_CHIP_RP2040}/rp2040_boot_stage2.S)
+1 -1
View File
@@ -20,7 +20,7 @@
#
# ##############################################################################
get_directory_property(TOOLCHAIN_DIR_FLAGS DIRECTORY ${CMAKE_SOURCE_DIR}
get_directory_property(TOOLCHAIN_DIR_FLAGS DIRECTORY ${NUTTX_DIR}
COMPILE_OPTIONS)
set(CMAKE_C_FLAG_ARGS)
+1 -1
View File
@@ -20,7 +20,7 @@
#
# ##############################################################################
get_directory_property(TOOLCHAIN_DIR_FLAGS DIRECTORY ${CMAKE_SOURCE_DIR}
get_directory_property(TOOLCHAIN_DIR_FLAGS DIRECTORY ${NUTTX_DIR}
COMPILE_OPTIONS)
set(NUTTX_EXTRA_FLAGS "")
@@ -312,7 +312,7 @@ ExternalProject_Add(
# Add bootloader files to clean list
set_property(
DIRECTORY ${CMAKE_SOURCE_DIR}
DIRECTORY ${NUTTX_DIR}
APPEND
PROPERTY ADDITIONAL_CLEAN_FILES ${HALDIR} ${BOOTLOADER_SRCDIR}
${BOOTLOADER_BIN})
+12 -13
View File
@@ -254,7 +254,7 @@ option(
get_filename_component(
ESP_HAL_3RDPARTY_CHIP_DIR
"${CMAKE_BINARY_DIR}/arch/risc-v/src/common/espressif/${ESP_HAL_3RDPARTY_REPO_NAME}"
"${NUTTX_BINARY_DIR}/arch/risc-v/src/common/espressif/${ESP_HAL_3RDPARTY_REPO_NAME}"
REALPATH)
set(EXECUTE_CLONE_ESP_HAL_3RDPARTY_REPO TRUE)
@@ -321,10 +321,10 @@ if(NOT IS_DIRECTORY "${ESP_HAL_3RDPARTY_REPO}")
# Copy gpio_sig_map.h and irq.h from the esp-hal-3rdparty repository to the NuttX directory
file(COPY ${ESP_HAL_3RDPARTY_REPO}/components/soc/${CHIP_SERIES}/include/soc/gpio_sig_map.h
DESTINATION ${CMAKE_BINARY_DIR}/include/arch/chip/)
DESTINATION ${NUTTX_BINARY_DIR}/include/arch/chip/)
file(COPY ${ESP_HAL_3RDPARTY_REPO}/nuttx/${CHIP_SERIES}/include/irq.h
DESTINATION ${CMAKE_BINARY_DIR}/include/arch/chip/)
DESTINATION ${NUTTX_BINARY_DIR}/include/arch/chip/)
if(CONFIG_ESPRESSIF_WIRELESS)
message(
@@ -350,8 +350,8 @@ endif()
# This is done previously on configure time but must be done again if a 'clean'
# is executed.
set(_gpio_sig_map ${CMAKE_BINARY_DIR}/include/arch/chip/gpio_sig_map.h)
set(_irq ${CMAKE_BINARY_DIR}/include/arch/chip/irq.h)
set(_gpio_sig_map ${NUTTX_BINARY_DIR}/include/arch/chip/gpio_sig_map.h)
set(_irq ${NUTTX_BINARY_DIR}/include/arch/chip/irq.h)
add_custom_command(
OUTPUT ${_gpio_sig_map} ${_irq}
@@ -446,10 +446,9 @@ add_custom_command(
TARGET nuttx_post_build
POST_BUILD
COMMAND
${CMAKE_COMMAND} -DBINARY_DIR=${CMAKE_BINARY_DIR}
-DSOURCE_DIR=${CMAKE_SOURCE_DIR} -P
${NUTTX_DIR}/tools/espressif/espressif_mkimage.cmake
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
${CMAKE_COMMAND} -DBINARY_DIR=${NUTTX_BINARY_DIR} -DSOURCE_DIR=${NUTTX_DIR}
-P ${NUTTX_DIR}/tools/espressif/espressif_mkimage.cmake
WORKING_DIRECTORY ${NUTTX_BINARY_DIR}
COMMENT "Generating ESP-compatible binary"
VERBATIM)
@@ -471,10 +470,10 @@ add_custom_target(
flash
DEPENDS nuttx_post_build
COMMAND
${CMAKE_COMMAND} -DBINARY_DIR=${CMAKE_BINARY_DIR}
-DSOURCE_DIR=${CMAKE_SOURCE_DIR} -DNUTTX_DIR=${NUTTX_DIR} -P
${CMAKE_COMMAND} -DBINARY_DIR=${NUTTX_BINARY_DIR} -DSOURCE_DIR=${NUTTX_DIR}
-DNUTTX_DIR=${NUTTX_DIR} -P
${NUTTX_DIR}/tools/espressif/espressif_flash.cmake
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
WORKING_DIRECTORY ${NUTTX_BINARY_DIR}
COMMENT "Flashing firmware via esptool to $ENV{ESPTOOL_PORT}"
VERBATIM)
@@ -497,6 +496,6 @@ if(CONFIG_ESPRESSIF_USE_LP_CORE)
endif()
set_property(
DIRECTORY ${CMAKE_SOURCE_DIR}
DIRECTORY ${NUTTX_DIR}
APPEND
PROPERTY ADDITIONAL_CLEAN_FILES ${ESP_CLEAN_FILES})
@@ -66,7 +66,7 @@ if(CONFIG_ESPRESSIF_USE_LP_CORE)
if(NOT ESP_HAL_3RDPARTY_REPO)
get_filename_component(
ESP_HAL_3RDPARTY_REPO
"${CMAKE_BINARY_DIR}/arch/${CONFIG_ARCH}/src/common/espressif/esp-hal-3rdparty"
"${NUTTX_BINARY_DIR}/arch/${CONFIG_ARCH}/src/common/espressif/esp-hal-3rdparty"
REALPATH)
endif()
@@ -367,7 +367,7 @@ if(CONFIG_ESPRESSIF_USE_LP_CORE)
OUTPUT ${ULP_NUTTX_CONFIG_COPY}
COMMAND ${CMAKE_COMMAND} -E make_directory ${ULP_FOLDER}/nuttx
COMMAND
${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/include/nuttx/config.h
${CMAKE_COMMAND} -E copy ${NUTTX_BINARY_DIR}/include/nuttx/config.h
${ULP_NUTTX_CONFIG_COPY}
DEPENDS nuttx_context ${ULP_VAR_MAP_HEADER}
COMMENT "Copying nuttx/config.h for ULP build"
@@ -512,7 +512,7 @@ if(CONFIG_ESPRESSIF_USE_LP_CORE)
get_property(_esp_ulp_defer GLOBAL PROPERTY ESP_ULP_LINK_DEFER_REGISTERED)
if(NOT _esp_ulp_defer)
set_property(GLOBAL PROPERTY ESP_ULP_LINK_DEFER_REGISTERED TRUE)
cmake_language(DEFER DIRECTORY ${CMAKE_SOURCE_DIR} CALL
cmake_language(DEFER DIRECTORY ${NUTTX_DIR} CALL
_esp_ulp_add_nuttx_link_deps)
endif()
@@ -521,7 +521,7 @@ if(CONFIG_ESPRESSIF_USE_LP_CORE)
# ############################################################################
set_property(
DIRECTORY ${CMAKE_SOURCE_DIR}
DIRECTORY ${NUTTX_DIR}
APPEND
PROPERTY ADDITIONAL_CLEAN_FILES ${ULP_FOLDER} ${ULP_ARCH_FOLDER}
${ULP_ALIASES_LD} ${ULP_ARCH_FOLDER}/.ulp_shared_stubs_stamp)
+1 -1
View File
@@ -591,7 +591,7 @@ function(nuttx_generate_preprocess_target)
add_custom_command(
OUTPUT ${TARGET_FILE}
COMMAND
${PREPROCESS} -I${CMAKE_BINARY_DIR}/include -I${NUTTX_DIR}/include
${PREPROCESS} -I${NUTTX_BINARY_DIR}/include -I${NUTTX_DIR}/include
-I${NUTTX_CHIP_ABS_DIR} ${LD_SCRIPT_HAL_INCLUDE}
${LD_SCRIPT_ADDITIONAL_INCLUDE} -D__NuttX__ ${SOURCE_FILE} >
${TARGET_FILE}
+1 -1
View File
@@ -595,7 +595,7 @@ function(nuttx_generate_preprocess_target)
add_custom_command(
OUTPUT ${TARGET_FILE}
COMMAND
${PREPROCESS} -I${CMAKE_BINARY_DIR}/include -I${NUTTX_DIR}/include
${PREPROCESS} -I${NUTTX_BINARY_DIR}/include -I${NUTTX_DIR}/include
-I${NUTTX_CHIP_ABS_DIR} ${LD_SCRIPT_HAL_INCLUDE}
${LD_SCRIPT_ADDITIONAL_INCLUDE} -D__NuttX__ ${SOURCE_FILE} >
${TARGET_FILE}
+1 -1
View File
@@ -312,7 +312,7 @@ list(APPEND HOSTSRCS sim_errno.c)
configure_file(${NUTTX_DIR}/include/nuttx/fs/hostfs.h
${CMAKE_CURRENT_BINARY_DIR}/hostfs.h COPYONLY)
configure_file(${CMAKE_BINARY_DIR}/include/nuttx/config.h
configure_file(${NUTTX_BINARY_DIR}/include/nuttx/config.h
${CMAKE_CURRENT_BINARY_DIR}/config.h COPYONLY)
target_include_directories(nuttx PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
+1 -1
View File
@@ -20,7 +20,7 @@
#
# ##############################################################################
get_directory_property(TOOLCHAIN_DIR_FLAGS DIRECTORY ${CMAKE_SOURCE_DIR}
get_directory_property(TOOLCHAIN_DIR_FLAGS DIRECTORY ${NUTTX_DIR}
COMPILE_OPTIONS)
set(NUTTX_EXTRA_FLAGS "")
+2 -2
View File
@@ -76,5 +76,5 @@ target_sources(nuttx PRIVATE tricore_doirq.c)
target_compile_options(arch PRIVATE ${IFXFLAGS})
target_compile_options(nuttx PRIVATE ${IFXFLAGS})
target_include_directories(
nuttx SYSTEM PRIVATE ${CMAKE_SOURCE_DIR}/include ${CMAKE_BINARY_DIR}/include
${CMAKE_BINARY_DIR}/include_arch)
nuttx SYSTEM PRIVATE ${NUTTX_DIR}/include ${NUTTX_BINARY_DIR}/include
${NUTTX_BINARY_DIR}/include_arch)
+5 -5
View File
@@ -29,7 +29,7 @@ if(CONFIG_TRICORE_TOOLCHAIN_TASKING)
target_sources(c_fpu PRIVATE tc3xx_libc.c)
target_link_options(
nuttx PRIVATE
--library-directory=${CMAKE_BINARY_DIR}/arch/tricore/src/exclude_chip)
--library-directory=${NUTTX_BINARY_DIR}/arch/tricore/src/exclude_chip)
endif()
set(ILLD_UNPACK "${CMAKE_CURRENT_SOURCE_DIR}/../illd/tc3xx")
@@ -75,8 +75,8 @@ file(GLOB PATCH_FILES "${PATCHES_DIR}/*.patch")
foreach(PATCH ${PATCH_FILES})
execute_process(
COMMAND git apply --reverse --check ${PATCH}
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} # Patches are applied from the repo
# root
WORKING_DIRECTORY ${NUTTX_DIR} # Patches are applied from the repo
# root
RESULT_VARIABLE PATCH_NEEDED
OUTPUT_QUIET ERROR_QUIET)
@@ -85,8 +85,8 @@ foreach(PATCH ${PATCH_FILES})
else()
execute_process(
COMMAND git apply --whitespace=nowarn ${PATCH}
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} # Patches are applied from the repo
# root
WORKING_DIRECTORY ${NUTTX_DIR} # Patches are applied from the repo
# root
RESULT_VARIABLE APPLY_RESULT)
if(NOT APPLY_RESULT EQUAL 0)
message(FATAL_ERROR "Failed to apply patch ${PATCH}!")
+5 -5
View File
@@ -29,7 +29,7 @@ if(CONFIG_TRICORE_TOOLCHAIN_TASKING)
target_sources(c_fpu PRIVATE tc4xx_libc.c)
target_link_options(
nuttx PRIVATE
--library-directory=${CMAKE_BINARY_DIR}/arch/tricore/src/exclude_chip)
--library-directory=${NUTTX_BINARY_DIR}/arch/tricore/src/exclude_chip)
endif()
set(ILLD_UNPACK "${CMAKE_CURRENT_SOURCE_DIR}/../illd/tc4xx")
@@ -75,8 +75,8 @@ file(GLOB PATCH_FILES "${PATCHES_DIR}/*.patch")
foreach(PATCH ${PATCH_FILES})
execute_process(
COMMAND git apply --reverse --check ${PATCH}
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} # Patches are applied from the repo
# root
WORKING_DIRECTORY ${NUTTX_DIR} # Patches are applied from the repo
# root
RESULT_VARIABLE PATCH_NEEDED
OUTPUT_QUIET ERROR_QUIET)
@@ -85,8 +85,8 @@ foreach(PATCH ${PATCH_FILES})
else()
execute_process(
COMMAND git apply --whitespace=nowarn ${PATCH}
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} # Patches are applied from the repo
# root
WORKING_DIRECTORY ${NUTTX_DIR} # Patches are applied from the repo
# root
RESULT_VARIABLE APPLY_RESULT)
if(NOT APPLY_RESULT EQUAL 0)
message(FATAL_ERROR "Failed to apply patch ${PATCH}!")
+6 -6
View File
@@ -20,7 +20,7 @@
#
# ##############################################################################
get_directory_property(TOOLCHAIN_DIR_FLAGS DIRECTORY ${CMAKE_SOURCE_DIR}
get_directory_property(TOOLCHAIN_DIR_FLAGS DIRECTORY ${NUTTX_DIR}
COMPILE_OPTIONS)
set(NUTTX_EXTRA_FLAGS "")
@@ -68,11 +68,11 @@ set(PREPROCESS ${CMAKE_C_COMPILER} ${CMAKE_C_FLAG_ARGS} -E -P -x c)
if(CONFIG_ARCH_MULTIBOOT1)
message(STATUS "Generating: nuttx.mb1 in ELF32/multiboot1")
if(CONFIG_ALLSYMS)
set(FINAL_NUTTX_ELF "${CMAKE_BINARY_DIR}/final_nuttx")
set(FINAL_NUTTX_ELF "${NUTTX_BINARY_DIR}/final_nuttx")
else()
set(FINAL_NUTTX_ELF "${CMAKE_BINARY_DIR}/nuttx")
set(FINAL_NUTTX_ELF "${NUTTX_BINARY_DIR}/nuttx")
endif()
set(NUTTX_ELF "${CMAKE_BINARY_DIR}/nuttx")
set(NUTTX_ELF "${NUTTX_BINARY_DIR}/nuttx")
set(NUTTX_BIN "${NUTTX_ELF}.bin")
set(NUTTX_REALMODE_BIN "${NUTTX_ELF}_realmode.bin")
set(NUTTX_MB1 "${NUTTX_ELF}.mb1")
@@ -89,8 +89,8 @@ if(CONFIG_ARCH_MULTIBOOT1)
COMMAND
${CMAKE_C_COMPILER} -m32 -no-pie -nostdlib -DNUTTX_BIN='"${NUTTX_BIN}"'
-DNUTTX_REALMODE_BIN='"${NUTTX_REALMODE_BIN}"'
${CMAKE_SOURCE_DIR}/arch/x86_64/src/common/multiboot1.S -T
${CMAKE_SOURCE_DIR}/arch/x86_64/src/common/multiboot1.ld -o ${NUTTX_MB1}
${NUTTX_DIR}/arch/x86_64/src/common/multiboot1.S -T
${NUTTX_DIR}/arch/x86_64/src/common/multiboot1.ld -o ${NUTTX_MB1}
DEPENDS ${NUTTX_BIN} ${NUTTX_REALMODE_BIN}
COMMENT "Building nuttx.mb1 multiboot1 image")
add_custom_target(multiboot1 ALL DEPENDS ${NUTTX_MB1})
+1 -1
View File
@@ -19,7 +19,7 @@
# the License.
#
# ##############################################################################
get_directory_property(TOOLCHAIN_DIR_FLAGS DIRECTORY ${CMAKE_SOURCE_DIR}
get_directory_property(TOOLCHAIN_DIR_FLAGS DIRECTORY ${NUTTX_DIR}
COMPILE_OPTIONS)
set(NUTTX_EXTRA_FLAGS "")
+1 -1
View File
@@ -69,4 +69,4 @@ endif()
target_sources(binfmt PRIVATE ${SRCS})
target_include_directories(binfmt PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
target_include_directories(binfmt PRIVATE ${CMAKE_SOURCE_DIR}/sched)
target_include_directories(binfmt PRIVATE ${NUTTX_DIR}/sched)
+4 -4
View File
@@ -32,8 +32,8 @@
# ifeq ($(CUSTOM_KCONFIG),y) BOARD_KCONFIG = $(CUSTOM_KPATH) else BOARD_KCONFIG
# = $(TOPDIR)$(DELIM)configs$(DELIM)dummy$(DELIM)dummy_kconfig endif
file(WRITE ${CMAKE_BINARY_DIR}/dummy.c "")
nuttx_add_kernel_library(board ${CMAKE_BINARY_DIR}/dummy.c)
file(WRITE ${NUTTX_BINARY_DIR}/dummy.c "")
nuttx_add_kernel_library(board ${NUTTX_BINARY_DIR}/dummy.c)
# boardctl support
@@ -54,9 +54,9 @@ if(EXISTS ${NUTTX_BOARD_ABS_DIR}/../common/CMakeLists.txt)
# Create link ARCH_SRC_BOARD_BOARD_SYMLINK
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/arch/${CONFIG_ARCH}/src/board)
file(MAKE_DIRECTORY ${NUTTX_BINARY_DIR}/arch/${CONFIG_ARCH}/src/board)
nuttx_create_symlink(${NUTTX_BOARD_ABS_DIR}/src
${CMAKE_BINARY_DIR}/arch/${CONFIG_ARCH}/src/board/board)
${NUTTX_BINARY_DIR}/arch/${CONFIG_ARCH}/src/board/board)
endif()
if(EXISTS ${NUTTX_BOARD_ABS_DIR}/../drivers/CMakeLists.txt)
+5 -5
View File
@@ -31,9 +31,9 @@ endif()
ExternalProject_Add(
nuttx_post_build
SOURCE_DIR ${CMAKE_SOURCE_DIR}/tools/cxd56
INSTALL_DIR ${CMAKE_BINARY_DIR}/tools/cxd56
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}
SOURCE_DIR ${NUTTX_DIR}/tools/cxd56
INSTALL_DIR ${NUTTX_BINARY_DIR}/tools/cxd56
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${NUTTX_BINARY_DIR}
USES_TERMINAL_CONFIGURE true
USES_TERMINAL_BUILD true
USES_TERMINAL_INSTALL true
@@ -43,5 +43,5 @@ add_custom_command(
TARGET nuttx_post_build
POST_BUILD
BYPRODUCTS nuttx.spk
COMMAND ${CMAKE_BINARY_DIR}/bin/mkspk -c2 nuttx nuttx nuttx.spk
WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
COMMAND ${NUTTX_BINARY_DIR}/bin/mkspk -c2 nuttx nuttx nuttx.spk
WORKING_DIRECTORY ${NUTTX_BINARY_DIR})
@@ -25,7 +25,7 @@ add_subdirectory(src)
add_custom_target(
nuttx_post_build
DEPENDS nuttx
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
WORKING_DIRECTORY ${NUTTX_BINARY_DIR}
COMMENT "Regenerate nuttx.uf2")
# The uf2 command to convert ELF/BIN to UF2
@@ -35,6 +35,6 @@ add_custom_command(
COMMAND picotool ARGS uf2 convert --quiet -t elf nuttx nuttx.uf2
COMMAND_EXPAND_LISTS
COMMAND ${CMAKE_COMMAND} -E echo "nuttx.uf2" >>
${CMAKE_BINARY_DIR}/nuttx.manifest
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
${NUTTX_BINARY_DIR}/nuttx.manifest
WORKING_DIRECTORY ${NUTTX_BINARY_DIR}
COMMENT "Regenerate nuttx.uf2")
@@ -25,7 +25,7 @@ add_subdirectory(src)
add_custom_target(
nuttx_post_build
DEPENDS nuttx
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
WORKING_DIRECTORY ${NUTTX_BINARY_DIR}
COMMENT "Regenerate nuttx.uf2")
# The uf2 command to convert ELF/BIN to UF2
@@ -35,6 +35,6 @@ add_custom_command(
COMMAND picotool ARGS uf2 convert --quiet -t elf nuttx nuttx.uf2
COMMAND_EXPAND_LISTS
COMMAND ${CMAKE_COMMAND} -E echo "nuttx.uf2" >>
${CMAKE_BINARY_DIR}/nuttx.manifest
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
${NUTTX_BINARY_DIR}/nuttx.manifest
WORKING_DIRECTORY ${NUTTX_BINARY_DIR}
COMMENT "Regenerate nuttx.uf2")
@@ -25,7 +25,7 @@ add_subdirectory(src)
add_custom_target(
nuttx_post_build
DEPENDS nuttx
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
WORKING_DIRECTORY ${NUTTX_BINARY_DIR}
COMMENT "Regenerate nuttx.uf2")
# The uf2 command to convert ELF/BIN to UF2
@@ -35,6 +35,6 @@ add_custom_command(
COMMAND picotool ARGS uf2 convert --quiet -t elf nuttx nuttx.uf2
COMMAND_EXPAND_LISTS
COMMAND ${CMAKE_COMMAND} -E echo "nuttx.uf2" >>
${CMAKE_BINARY_DIR}/nuttx.manifest
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
${NUTTX_BINARY_DIR}/nuttx.manifest
WORKING_DIRECTORY ${NUTTX_BINARY_DIR}
COMMENT "Regenerate nuttx.uf2")
@@ -25,7 +25,7 @@ add_subdirectory(src)
add_custom_target(
nuttx_post_build
DEPENDS nuttx
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
WORKING_DIRECTORY ${NUTTX_BINARY_DIR}
COMMENT "Regenerate nuttx.uf2")
# The uf2 command to convert ELF/BIN to UF2
@@ -35,6 +35,6 @@ add_custom_command(
COMMAND picotool ARGS uf2 convert --quiet -t elf nuttx nuttx.uf2
COMMAND_EXPAND_LISTS
COMMAND ${CMAKE_COMMAND} -E echo "nuttx.uf2" >>
${CMAKE_BINARY_DIR}/nuttx.manifest
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
${NUTTX_BINARY_DIR}/nuttx.manifest
WORKING_DIRECTORY ${NUTTX_BINARY_DIR}
COMMENT "Regenerate nuttx.uf2")
@@ -25,7 +25,7 @@ add_subdirectory(src)
add_custom_target(
nuttx_post_build
DEPENDS nuttx
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
WORKING_DIRECTORY ${NUTTX_BINARY_DIR}
COMMENT "Regenerate nuttx.uf2")
# The uf2 command to convert ELF/BIN to UF2
@@ -35,6 +35,6 @@ add_custom_command(
COMMAND picotool ARGS uf2 convert --quiet -t elf nuttx nuttx.uf2
COMMAND_EXPAND_LISTS
COMMAND ${CMAKE_COMMAND} -E echo "nuttx.uf2" >>
${CMAKE_BINARY_DIR}/nuttx.manifest
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
${NUTTX_BINARY_DIR}/nuttx.manifest
WORKING_DIRECTORY ${NUTTX_BINARY_DIR}
COMMENT "Regenerate nuttx.uf2")
@@ -25,7 +25,7 @@ add_subdirectory(src)
add_custom_target(
nuttx_post_build
DEPENDS nuttx
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
WORKING_DIRECTORY ${NUTTX_BINARY_DIR}
COMMENT "Regenerate nuttx.uf2")
# The uf2 command to convert ELF/BIN to UF2
@@ -35,6 +35,6 @@ add_custom_command(
COMMAND picotool ARGS uf2 convert --quiet -t elf nuttx nuttx.uf2
COMMAND_EXPAND_LISTS
COMMAND ${CMAKE_COMMAND} -E echo "nuttx.uf2" >>
${CMAKE_BINARY_DIR}/nuttx.manifest
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
${NUTTX_BINARY_DIR}/nuttx.manifest
WORKING_DIRECTORY ${NUTTX_BINARY_DIR}
COMMENT "Regenerate nuttx.uf2")
@@ -25,7 +25,7 @@ add_subdirectory(src)
add_custom_target(
nuttx_post_build
DEPENDS nuttx
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
WORKING_DIRECTORY ${NUTTX_BINARY_DIR}
COMMENT "Regenerate nuttx.uf2")
# The uf2 command to convert ELF/BIN to UF2
@@ -35,6 +35,6 @@ add_custom_command(
COMMAND picotool ARGS uf2 convert --quiet -t elf nuttx nuttx.uf2
COMMAND_EXPAND_LISTS
COMMAND ${CMAKE_COMMAND} -E echo "nuttx.uf2" >>
${CMAKE_BINARY_DIR}/nuttx.manifest
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
${NUTTX_BINARY_DIR}/nuttx.manifest
WORKING_DIRECTORY ${NUTTX_BINARY_DIR}
COMMENT "Regenerate nuttx.uf2")
@@ -25,7 +25,7 @@ add_subdirectory(src)
add_custom_target(
nuttx_post_build
DEPENDS nuttx
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
WORKING_DIRECTORY ${NUTTX_BINARY_DIR}
COMMENT "Regenerate nuttx.uf2")
# The uf2 command to convert ELF/BIN to UF2
@@ -35,6 +35,6 @@ add_custom_command(
COMMAND picotool ARGS uf2 convert --quiet -t elf nuttx nuttx.uf2
COMMAND_EXPAND_LISTS
COMMAND ${CMAKE_COMMAND} -E echo "nuttx.uf2" >>
${CMAKE_BINARY_DIR}/nuttx.manifest
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
${NUTTX_BINARY_DIR}/nuttx.manifest
WORKING_DIRECTORY ${NUTTX_BINARY_DIR}
COMMENT "Regenerate nuttx.uf2")
@@ -25,7 +25,7 @@ add_subdirectory(src)
add_custom_target(
nuttx_post_build
DEPENDS nuttx
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
WORKING_DIRECTORY ${NUTTX_BINARY_DIR}
COMMENT "Regenerate nuttx.uf2")
# The uf2 command to convert ELF/BIN to UF2
@@ -35,6 +35,6 @@ add_custom_command(
COMMAND picotool ARGS uf2 convert --quiet -t elf nuttx nuttx.uf2
COMMAND_EXPAND_LISTS
COMMAND ${CMAKE_COMMAND} -E echo "nuttx.uf2" >>
${CMAKE_BINARY_DIR}/nuttx.manifest
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
${NUTTX_BINARY_DIR}/nuttx.manifest
WORKING_DIRECTORY ${NUTTX_BINARY_DIR}
COMMENT "Regenerate nuttx.uf2")
@@ -25,7 +25,7 @@ add_subdirectory(src)
add_custom_target(
nuttx_post_build
DEPENDS nuttx
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
WORKING_DIRECTORY ${NUTTX_BINARY_DIR}
COMMENT "Regenerate nuttx.uf2")
# The uf2 command to convert ELF/BIN to UF2
@@ -35,6 +35,6 @@ add_custom_command(
COMMAND picotool ARGS uf2 convert --quiet -t elf nuttx nuttx.uf2
COMMAND_EXPAND_LISTS
COMMAND ${CMAKE_COMMAND} -E echo "nuttx.uf2" >>
${CMAKE_BINARY_DIR}/nuttx.manifest
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
${NUTTX_BINARY_DIR}/nuttx.manifest
WORKING_DIRECTORY ${NUTTX_BINARY_DIR}
COMMENT "Regenerate nuttx.uf2")
@@ -25,7 +25,7 @@ add_subdirectory(src)
add_custom_target(
nuttx_post_build
DEPENDS nuttx
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
WORKING_DIRECTORY ${NUTTX_BINARY_DIR}
COMMENT "Regenerate nuttx.uf2")
# The uf2 command to convert ELF/BIN to UF2
@@ -35,6 +35,6 @@ add_custom_command(
COMMAND picotool ARGS uf2 convert --quiet -t elf nuttx nuttx.uf2
COMMAND_EXPAND_LISTS
COMMAND ${CMAKE_COMMAND} -E echo "nuttx.uf2" >>
${CMAKE_BINARY_DIR}/nuttx.manifest
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
${NUTTX_BINARY_DIR}/nuttx.manifest
WORKING_DIRECTORY ${NUTTX_BINARY_DIR}
COMMENT "Regenerate nuttx.uf2")
@@ -25,7 +25,7 @@ add_subdirectory(src)
add_custom_target(
nuttx_post_build
DEPENDS nuttx
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
WORKING_DIRECTORY ${NUTTX_BINARY_DIR}
COMMENT "Regenerate nuttx.uf2")
# The uf2 command to convert ELF/BIN to UF2
@@ -35,6 +35,6 @@ add_custom_command(
COMMAND picotool ARGS uf2 convert --quiet -t elf nuttx nuttx.uf2
COMMAND_EXPAND_LISTS
COMMAND ${CMAKE_COMMAND} -E echo "nuttx.uf2" >>
${CMAKE_BINARY_DIR}/nuttx.manifest
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
${NUTTX_BINARY_DIR}/nuttx.manifest
WORKING_DIRECTORY ${NUTTX_BINARY_DIR}
COMMENT "Regenerate nuttx.uf2")
@@ -25,7 +25,7 @@ add_subdirectory(src)
add_custom_target(
nuttx_post_build
DEPENDS nuttx
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
WORKING_DIRECTORY ${NUTTX_BINARY_DIR}
COMMENT "Regenerate nuttx.uf2")
# The uf2 command to convert ELF/BIN to UF2
@@ -35,6 +35,6 @@ add_custom_command(
COMMAND picotool ARGS uf2 convert --quiet -t elf nuttx nuttx.uf2
COMMAND_EXPAND_LISTS
COMMAND ${CMAKE_COMMAND} -E echo "nuttx.uf2" >>
${CMAKE_BINARY_DIR}/nuttx.manifest
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
${NUTTX_BINARY_DIR}/nuttx.manifest
WORKING_DIRECTORY ${NUTTX_BINARY_DIR}
COMMENT "Regenerate nuttx.uf2")
+3 -3
View File
@@ -25,7 +25,7 @@ add_subdirectory(src)
add_custom_target(
nuttx_post_build
DEPENDS nuttx
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
WORKING_DIRECTORY ${NUTTX_BINARY_DIR}
COMMENT "Regenerate nuttx.uf2")
# The uf2 command to convert ELF/BIN to UF2
@@ -35,6 +35,6 @@ add_custom_command(
COMMAND picotool ARGS uf2 convert --quiet -t elf nuttx nuttx.uf2
COMMAND_EXPAND_LISTS
COMMAND ${CMAKE_COMMAND} -E echo "nuttx.uf2" >>
${CMAKE_BINARY_DIR}/nuttx.manifest
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
${NUTTX_BINARY_DIR}/nuttx.manifest
WORKING_DIRECTORY ${NUTTX_BINARY_DIR}
COMMENT "Regenerate nuttx.uf2")
@@ -23,8 +23,8 @@
set(SRCS canmv_init.c)
if(CONFIG_BUILD_KERNEL)
if(EXISTS ${CMAKE_BINARY_DIR}/romfs_boot.c)
list(APPEND SRCS ${CMAKE_BINARY_DIR}/romfs_boot.c)
if(EXISTS ${NUTTX_BINARY_DIR}/romfs_boot.c)
list(APPEND SRCS ${NUTTX_BINARY_DIR}/romfs_boot.c)
else()
list(APPEND SRCS romfs_stub.c)
endif()
@@ -25,7 +25,7 @@ add_subdirectory(src)
add_custom_target(
nuttx_post_build
DEPENDS nuttx
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
WORKING_DIRECTORY ${NUTTX_BINARY_DIR}
COMMENT "Regenerate nuttx.uf2")
# The uf2 command to convert ELF/BIN to UF2
@@ -35,6 +35,6 @@ add_custom_command(
COMMAND picotool ARGS uf2 convert --quiet -t elf nuttx nuttx.uf2
COMMAND_EXPAND_LISTS
COMMAND ${CMAKE_COMMAND} -E echo "nuttx.uf2" >>
${CMAKE_BINARY_DIR}/nuttx.manifest
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
${NUTTX_BINARY_DIR}/nuttx.manifest
WORKING_DIRECTORY ${NUTTX_BINARY_DIR}
COMMENT "Regenerate nuttx.uf2")
+2 -3
View File
@@ -26,7 +26,7 @@ if(CONFIG_HOST_LINUX)
add_custom_target(
nuttx_post_build
DEPENDS nuttx
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
WORKING_DIRECTORY ${NUTTX_BINARY_DIR}
COMMAND ${CMAKE_COMMAND} -E make_directory sim-pac
COMMAND ${CMAKE_COMMAND} -E make_directory sim-pac/libs
COMMAND ${CMAKE_COMMAND} -E copy nuttx sim-pac/nuttx
@@ -34,8 +34,7 @@ if(CONFIG_HOST_LINUX)
'{}' cp -v '{}' sim-pac/libs
COMMAND readelf -l nuttx | grep "program interpreter" | awk -F':' '{print
$$2}' | cut -d"]" -f1 | xargs -I '{}' cp -v '{}' sim-pac
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/tools/simlaunch.sh
sim-pac
COMMAND ${CMAKE_COMMAND} -E copy ${NUTTX_DIR}/tools/simlaunch.sh sim-pac
COMMAND tar -czf nuttx.tgz sim-pac
COMMENT "Pac SIM with dynamic libs in nuttx.tgz")
endif()
@@ -35,7 +35,7 @@ if(CONFIG_BUILD_KERNEL)
# depend on (cycle).
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/romfs_boot.c
COMMAND genromfs -f romfs.img -d ${CMAKE_BINARY_DIR}/bin -V NuttXBootVol
COMMAND genromfs -f romfs.img -d ${NUTTX_BINARY_DIR}/bin -V NuttXBootVol
COMMAND xxd -i romfs.img romfs_boot.c
DEPENDS $<TARGET_PROPERTY:nuttx,NUTTX_LOADABLE_APPS>
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
+27 -28
View File
@@ -24,9 +24,9 @@
# changes)
set(KCONFIG_ENV
"KCONFIG_CONFIG=${CMAKE_BINARY_DIR}/.config" "EXTERNALDIR=dummy"
"KCONFIG_CONFIG=${NUTTX_BINARY_DIR}/.config" "EXTERNALDIR=dummy"
"APPSDIR=${NUTTX_APPS_DIR}" "DRIVERS_PLATFORM_DIR=dummy"
"APPSBINDIR=${NUTTX_APPS_BINDIR}" "BINDIR=${CMAKE_BINARY_DIR}")
"APPSBINDIR=${NUTTX_APPS_BINDIR}" "BINDIR=${NUTTX_BINARY_DIR}")
# Use qconfig instead of menuconfig since PowerShell not support curses
# redirection
@@ -41,7 +41,7 @@ add_custom_target(
menuconfig
COMMAND ${CMAKE_COMMAND} -E env ${KCONFIG_ENV} ${MENUCONFIG}
COMMAND ${CMAKE_COMMAND} -E remove -f
${CMAKE_BINARY_DIR}/include/nuttx/config.h # invalidate existing
${NUTTX_BINARY_DIR}/include/nuttx/config.h # invalidate existing
# config
COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_PARENT_LIST_FILE}
WORKING_DIRECTORY ${NUTTX_DIR}
@@ -53,20 +53,20 @@ add_custom_target(
qconfig
COMMAND ${CMAKE_COMMAND} -E env ${KCONFIG_ENV} guiconfig
COMMAND ${CMAKE_COMMAND} -E remove -f
${CMAKE_BINARY_DIR}/include/nuttx/config.h # invalidate existing
${NUTTX_BINARY_DIR}/include/nuttx/config.h # invalidate existing
# config
COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_PARENT_LIST_FILE}
WORKING_DIRECTORY ${NUTTX_DIR}
USES_TERMINAL)
# Refresh ${CMAKE_BINARY_DIR}/.config in place (set defaults, satisfy deps),
# Refresh ${NUTTX_BINARY_DIR}/.config in place (set defaults, satisfy deps),
# like "make olddefconfig". Use after hand-editing .config; does not copy from
# board defconfig (see resetconfig for that).
add_custom_target(
olddefconfig
COMMAND ${CMAKE_COMMAND} -E env ${KCONFIG_ENV} olddefconfig
COMMAND ${CMAKE_COMMAND} -E remove -f
${CMAKE_BINARY_DIR}/include/nuttx/config.h
${NUTTX_BINARY_DIR}/include/nuttx/config.h
COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_PARENT_LIST_FILE}
WORKING_DIRECTORY ${NUTTX_DIR})
@@ -74,10 +74,10 @@ add_custom_target(
add_custom_target(
resetconfig
COMMAND ${CMAKE_COMMAND} -E copy ${NUTTX_DEFCONFIG}
${CMAKE_BINARY_DIR}/.config
${NUTTX_BINARY_DIR}/.config
COMMAND ${CMAKE_COMMAND} -E env ${KCONFIG_ENV} olddefconfig
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/.config
${CMAKE_BINARY_DIR}/.config.orig
COMMAND ${CMAKE_COMMAND} -E copy ${NUTTX_BINARY_DIR}/.config
${NUTTX_BINARY_DIR}/.config.orig
COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_PARENT_LIST_FILE}
WORKING_DIRECTORY ${NUTTX_DIR})
@@ -88,26 +88,26 @@ add_custom_target(
add_custom_target(
distcleanconfig
COMMAND
${CMAKE_COMMAND} -E remove -f ${CMAKE_BINARY_DIR}/.config
${CMAKE_BINARY_DIR}/.config.orig ${CMAKE_BINARY_DIR}/.config.prev
${CMAKE_BINARY_DIR}/include/nuttx/config.h
${CMAKE_COMMAND} -E remove -f ${NUTTX_BINARY_DIR}/.config
${NUTTX_BINARY_DIR}/.config.orig ${NUTTX_BINARY_DIR}/.config.prev
${NUTTX_BINARY_DIR}/include/nuttx/config.h
WORKING_DIRECTORY ${NUTTX_DIR})
# utility target to refresh .config from board's defconfig for GITHUB
add_custom_target(
refreshsilent
COMMAND ${CMAKE_COMMAND} -E remove -f ${CMAKE_BINARY_DIR}/SAVEconfig
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/.config
${CMAKE_BINARY_DIR}/SAVEconfig
COMMAND ${CMAKE_COMMAND} -E remove -f ${CMAKE_BINARY_DIR}/.config
COMMAND ${CMAKE_COMMAND} -E remove -f ${NUTTX_BINARY_DIR}/SAVEconfig
COMMAND ${CMAKE_COMMAND} -E copy ${NUTTX_BINARY_DIR}/.config
${NUTTX_BINARY_DIR}/SAVEconfig
COMMAND ${CMAKE_COMMAND} -E remove -f ${NUTTX_BINARY_DIR}/.config
COMMAND ${CMAKE_COMMAND} -E copy ${NUTTX_DEFCONFIG}
${CMAKE_BINARY_DIR}/.config
${NUTTX_BINARY_DIR}/.config
COMMAND ${CMAKE_COMMAND} -E env ${KCONFIG_ENV} olddefconfig
COMMAND ${CMAKE_COMMAND} -E env ${KCONFIG_ENV} savedefconfig --out
${CMAKE_BINARY_DIR}/defconfig.tmp
${NUTTX_BINARY_DIR}/defconfig.tmp
COMMAND ${CMAKE_COMMAND} -P ${NUTTX_DIR}/cmake/savedefconfig.cmake
${CMAKE_BINARY_DIR}/.config ${CMAKE_BINARY_DIR}/defconfig.tmp
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_BINARY_DIR}/defconfig
${NUTTX_BINARY_DIR}/.config ${NUTTX_BINARY_DIR}/defconfig.tmp
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${NUTTX_BINARY_DIR}/defconfig
${NUTTX_DEFCONFIG}
WORKING_DIRECTORY ${NUTTX_DIR})
@@ -115,16 +115,15 @@ add_custom_target(
add_custom_target(
savedefconfig
COMMAND ${CMAKE_COMMAND} -E env ${KCONFIG_ENV} savedefconfig --out
${CMAKE_BINARY_DIR}/defconfig.tmp
${NUTTX_BINARY_DIR}/defconfig.tmp
COMMAND ${CMAKE_COMMAND} -P ${NUTTX_DIR}/cmake/savedefconfig.cmake
${CMAKE_BINARY_DIR}/.config ${CMAKE_BINARY_DIR}/defconfig.tmp
${NUTTX_BINARY_DIR}/.config ${NUTTX_BINARY_DIR}/defconfig.tmp
COMMAND
${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/tools/process_config.py
postprocess ${CMAKE_BINARY_DIR}/config_tree.json
${CMAKE_BINARY_DIR}/defconfig.orig ${CMAKE_BINARY_DIR}/defconfig
${CMAKE_BINARY_DIR}/defconfig.post
${Python3_EXECUTABLE} ${NUTTX_DIR}/tools/process_config.py postprocess
${NUTTX_BINARY_DIR}/config_tree.json ${NUTTX_BINARY_DIR}/defconfig.orig
${NUTTX_BINARY_DIR}/defconfig ${NUTTX_BINARY_DIR}/defconfig.post
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${CMAKE_BINARY_DIR}/defconfig.post ${NUTTX_DEFCONFIG}
${NUTTX_BINARY_DIR}/defconfig.post ${NUTTX_DEFCONFIG}
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${CMAKE_BINARY_DIR}/defconfig.post ${NUTTX_ORIG_DEFCONFIG}
${NUTTX_BINARY_DIR}/defconfig.post ${NUTTX_ORIG_DEFCONFIG}
WORKING_DIRECTORY ${NUTTX_DIR})
+10 -10
View File
@@ -30,12 +30,12 @@ define_property(
# Create a directories for the application binaries `bin` for stripped binaries
# `bin_debug` for debug binaries
if(NOT EXISTS ${CMAKE_BINARY_DIR}/bin)
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
if(NOT EXISTS ${NUTTX_BINARY_DIR}/bin)
file(MAKE_DIRECTORY ${NUTTX_BINARY_DIR}/bin)
endif()
if(NOT EXISTS ${CMAKE_BINARY_DIR}/bin_debug)
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/bin_debug)
if(NOT EXISTS ${NUTTX_BINARY_DIR}/bin_debug)
file(MAKE_DIRECTORY ${NUTTX_BINARY_DIR}/bin_debug)
endif()
# ~~~
@@ -176,7 +176,7 @@ function(nuttx_add_application)
POST_BUILD
COMMAND
# add default link option
${CMAKE_LD} -T ${CMAKE_BINARY_DIR}/gnu-elf.ld
${CMAKE_LD} -T ${NUTTX_BINARY_DIR}/gnu-elf.ld
# add global MOD link option if dynlib link
$<$<BOOL:${DYNLIB_ELF_MODE}>:$<TARGET_PROPERTY:nuttx_global,NUTTX_MOD_APP_LINK_OPTIONS>>
# add global ELF link option if m&kernel link
@@ -195,19 +195,19 @@ function(nuttx_add_application)
$<TARGET_FILE:${TARGET}>
$<$<NOT:$<BOOL:${USE_LINKER}>>:-Wl,>--no-whole-archive
$<$<NOT:$<BOOL:${USE_LINKER}>>:-Wl,>--end-group -o
${CMAKE_BINARY_DIR}/bin_debug/${ELF_NAME}
${NUTTX_BINARY_DIR}/bin_debug/${ELF_NAME}
COMMAND
${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/bin_debug/${ELF_NAME}
${CMAKE_BINARY_DIR}/bin/${ELF_NAME}
${CMAKE_COMMAND} -E copy ${NUTTX_BINARY_DIR}/bin_debug/${ELF_NAME}
${NUTTX_BINARY_DIR}/bin/${ELF_NAME}
# keep the application attribute symbols through strip so the binary
# loader can still read them, see NX_KEEP in Application.mk
COMMAND
${CMAKE_STRIP} -K nx_stacksize -K nx_priority -K nx_uid -K nx_gid -K
nx_mode ${CMAKE_BINARY_DIR}/bin/${ELF_NAME}
nx_mode ${NUTTX_BINARY_DIR}/bin/${ELF_NAME}
# match the Application.mk install rule: ld -r output is not marked
# executable, but filesystem images built from bin/ must carry the
# execute permission
COMMAND chmod +x ${CMAKE_BINARY_DIR}/bin/${ELF_NAME}
COMMAND chmod +x ${NUTTX_BINARY_DIR}/bin/${ELF_NAME}
COMMENT "Building ELF:${ELF_NAME}"
COMMAND_EXPAND_LISTS)
else()
+1 -2
View File
@@ -37,8 +37,7 @@ function(nuttx_add_library_internal target)
# add main include directories
target_include_directories(
${target} SYSTEM PRIVATE ${CMAKE_SOURCE_DIR}/include
${CMAKE_BINARY_DIR}/include)
${target} SYSTEM PRIVATE ${NUTTX_DIR}/include ${NUTTX_BINARY_DIR}/include)
# Set global compile options & definitions We use the "nuttx" target to hold
# these properties so that libraries added after this property is set can read
+3 -3
View File
@@ -235,7 +235,7 @@ function(nuttx_add_cromfs)
copy_directory ${PATH} cromfs_${NAME} \; fi
COMMAND if \[ \"${FILES}\" != \"\" \]; then ${CMAKE_COMMAND} -E copy
${FILES} cromfs_${NAME} \; fi
COMMAND ${CMAKE_BINARY_DIR}/bin_host/gencromfs cromfs_${NAME}
COMMAND ${NUTTX_BINARY_DIR}/bin_host/gencromfs cromfs_${NAME}
cromfs_${NAME}.c
DEPENDS ${DEPENDS})
@@ -353,12 +353,12 @@ function(process_all_directory_romfs)
# Build mkpasswd.c as a host binary in the CMake build directory and keep
# the source tree clean.
set(MKPASSWD_SRC ${NUTTX_DIR}/tools/mkpasswd.c)
set(MKPASSWD_BIN ${CMAKE_BINARY_DIR}/tools/mkpasswd${HOST_EXE_SUFFIX})
set(MKPASSWD_BIN ${NUTTX_BINARY_DIR}/tools/mkpasswd${HOST_EXE_SUFFIX})
if(NOT TARGET build_host_mkpasswd)
add_custom_command(
OUTPUT ${MKPASSWD_BIN}
COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/tools
COMMAND ${CMAKE_COMMAND} -E make_directory ${NUTTX_BINARY_DIR}/tools
COMMAND ${HOST_CC} -o ${MKPASSWD_BIN} ${MKPASSWD_SRC}
DEPENDS ${MKPASSWD_SRC}
COMMENT "Building host tool: mkpasswd")
+1 -1
View File
@@ -87,7 +87,7 @@ function(nuttx_add_symtab)
DEPENDS symtab_${NAME}_dat)
# generate code which instantiates the symbol table
configure_file(${CMAKE_SOURCE_DIR}/cmake/symtab.c.in symtab_${NAME}.c @ONLY)
configure_file(${NUTTX_DIR}/cmake/symtab.c.in symtab_${NAME}.c @ONLY)
# define an internal library to build the symtab file on its own
add_library(symtab_${NAME} OBJECT
+1 -1
View File
@@ -111,7 +111,7 @@ function(nuttx_export_header)
${ARGN})
# destination directory to be exported by install
set(EXPORT_PATH_PREFIX ${CMAKE_BINARY_DIR}/staging/include/${TARGET})
set(EXPORT_PATH_PREFIX ${NUTTX_BINARY_DIR}/staging/include/${TARGET})
# destination directory origin compile
set(INCLUDE_PATH_PREFIX ${NUTTX_APPS_BINDIR}/include/${TARGET})

Some files were not shown because too many files have changed in this diff Show More