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()

Reply via email to