This is an automated email from the ASF dual-hosted git repository. xiaoxiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx.git
commit a5f3937ff9d3c5151420924dc3a8cfb535709a55 Author: xuxin19 <[email protected]> AuthorDate: Thu Apr 24 11:50:02 2025 +0800 cmake(bugfix):change default compile obj extension to .o CMake uses the `system_name` parameter by default to determine the .obj file extension. On the Nuttx platform, our `system_name` is `bare matel`, while CMake only uses `.o` on Linux/Unix systems otherwise, it uses `.obj`. Therefore, we will change it to `.o` by default. Signed-off-by: xuxin19 <[email protected]> --- CMakeLists.txt | 2 ++ cmake/nuttx_overrides.cmake | 27 +++++++++++++++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 128c2756b7f..841dcb60e49 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -65,6 +65,8 @@ endif() set(CMAKE_CXX_EXTENSIONS OFF) list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) +set(CMAKE_USER_MAKE_RULES_OVERRIDE + ${CMAKE_CURRENT_SOURCE_DIR}/cmake/nuttx_overrides.cmake) # Setup build type (Debug Release RelWithDebInfo MinSizeRel Coverage). Default # to minimum size release diff --git a/cmake/nuttx_overrides.cmake b/cmake/nuttx_overrides.cmake new file mode 100644 index 00000000000..e04ab954a7f --- /dev/null +++ b/cmake/nuttx_overrides.cmake @@ -0,0 +1,27 @@ +# ############################################################################## +# cmake/nuttx_overrides.cmake +# +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed to the Apache Software Foundation (ASF) under one or more contributor +# license agreements. See the NOTICE file distributed with this work for +# additional information regarding copyright ownership. The ASF licenses this +# file to you under the Apache License, Version 2.0 (the "License"); you may not +# use this file except in compliance with the License. You may obtain a copy of +# the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations under +# the License. +# +# ############################################################################## + +if(NOT WIN32) + set(CMAKE_C_OUTPUT_EXTENSION .o) + set(CMAKE_CXX_OUTPUT_EXTENSION .o) + set(CMAKE_ASM_OUTPUT_EXTENSION .o) +endif()
