testing/cxx-oot-build: Exclude cxx-oot-build in CMake projects.

Remove the previous guard logic and use a proper CMake
`exclude` rule to prevent `cxx-oot-build` from being
included when building projects with CMake.

* Ensures OOT test project is not pulled into normal apps.
* Keeps CI and export tests isolated from regular builds.

Signed-off-by: trns1997 <trns1997@gmail.com>
This commit is contained in:
trns1997
2025-09-26 21:24:27 +02:00
committed by Xiang Xiao
parent ddf1dcc3ff
commit a44d65c939
2 changed files with 20 additions and 28 deletions

View File

@@ -20,5 +20,5 @@
#
# ##############################################################################
nuttx_add_subdirectory()
nuttx_add_subdirectory(EXCLUDE cxx-oot-build)
nuttx_generate_kconfig(MENUDESC "Testing")

View File

@@ -22,37 +22,29 @@
cmake_minimum_required(VERSION 3.12...3.31)
# --- Guard option ---
option(BUILD_OOTCPP "Build the Out Of Tree C++ project" OFF)
project(
OOTCpp
VERSION 1.0
DESCRIPTION "Out Of Tree Build C++ NuttX")
if(BUILD_OOTCPP)
project(
OOTCpp
VERSION 1.0
DESCRIPTION "Out Of Tree Build C++ NuttX")
message(STATUS "Building OOTCpp project")
message(STATUS "Building OOTCpp project")
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(SOURCE_FILES ${CMAKE_SOURCE_DIR}/src/HelloWorld.cpp
${CMAKE_SOURCE_DIR}/src/main.cpp)
set(SOURCE_FILES ${CMAKE_SOURCE_DIR}/src/HelloWorld.cpp
${CMAKE_SOURCE_DIR}/src/main.cpp)
set(EXE_NAME oot)
set(EXE_NAME oot)
add_executable(${EXE_NAME} ${SOURCE_FILES})
add_executable(${EXE_NAME} ${SOURCE_FILES})
target_include_directories(${EXE_NAME} PRIVATE ${CMAKE_SOURCE_DIR}/include)
target_include_directories(${EXE_NAME} PRIVATE ${CMAKE_SOURCE_DIR}/include)
# Generate a .bin file from the ELF after build
add_custom_command(
TARGET ${EXE_NAME}
POST_BUILD
COMMAND ${CMAKE_OBJCOPY} -S -O binary ${CMAKE_BINARY_DIR}/${EXE_NAME}
${CMAKE_BINARY_DIR}/${EXE_NAME}.bin
COMMENT "Generating binary image ${EXE_NAME}.bin")
else()
message(STATUS "Skipping OOTCpp project")
endif()
# Generate a .bin file from the ELF after build
add_custom_command(
TARGET ${EXE_NAME}
POST_BUILD
COMMAND ${CMAKE_OBJCOPY} -S -O binary ${CMAKE_BINARY_DIR}/${EXE_NAME}
${CMAKE_BINARY_DIR}/${EXE_NAME}.bin
COMMENT "Generating binary image ${EXE_NAME}.bin")