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-apps.git


The following commit(s) were added to refs/heads/master by this push:
     new 204326c23 porting fake function framework
204326c23 is described below

commit 204326c236b03c7109ec7f9c8b6f820a5f454a28
Author: zhangchao53 <zhangcha...@xiaomi.com>
AuthorDate: Wed Jul 17 09:58:05 2024 +0800

    porting fake function framework
---
 testing/fff/.gitignore     |  2 ++
 testing/fff/CMakeLists.txt | 49 ++++++++++++++++++++++++++++++++++++++++++++++
 testing/fff/Kconfig        | 10 ++++++++++
 testing/fff/Make.defs      | 25 +++++++++++++++++++++++
 testing/fff/Makefile       | 38 +++++++++++++++++++++++++++++++++++
 5 files changed, 124 insertions(+)

diff --git a/testing/fff/.gitignore b/testing/fff/.gitignore
new file mode 100644
index 000000000..52fa99adf
--- /dev/null
+++ b/testing/fff/.gitignore
@@ -0,0 +1,2 @@
+/fff
+/*.zip
diff --git a/testing/fff/CMakeLists.txt b/testing/fff/CMakeLists.txt
new file mode 100644
index 000000000..d69a69d79
--- /dev/null
+++ b/testing/fff/CMakeLists.txt
@@ -0,0 +1,49 @@
+# 
##############################################################################
+# apps/testing/fff/CMakeLists.txt
+#
+# 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(CONFIG_TESTING_FFF)
+
+  set(FFF_UNPACK ${CMAKE_CURRENT_LIST_DIR}/fff)
+  set(FFF_URL https://github.com/meekrosoft/fff/archive/refs/heads/master.zip)
+
+  if(NOT EXISTS ${FFF_UNPACK})
+
+    FetchContent_Declare(
+      fff_fetch
+      URL ${FFF_URL} SOURCE_DIR ${FFF_UNPACK} BINARY_DIR
+          ${CMAKE_BINARY_DIR}/apps/testing/fff/fff
+      DOWNLOAD_NO_PROGRESS true
+      TIMEOUT 30)
+
+    FetchContent_GetProperties(fff_fetch)
+    if(NOT fff_fetch_POPULATED)
+      FetchContent_Populate(fff_fetch)
+    endif()
+
+  endif()
+
+  set(INCDIR ${FFF_UNPACK})
+
+  set_property(
+    TARGET nuttx
+    APPEND
+    PROPERTY NUTTX_INCLUDE_DIRECTORIES ${INCDIR})
+
+endif()
diff --git a/testing/fff/Kconfig b/testing/fff/Kconfig
new file mode 100644
index 000000000..e5e897c38
--- /dev/null
+++ b/testing/fff/Kconfig
@@ -0,0 +1,10 @@
+#
+# For a description of the syntax of this configuration file,
+# see the file kconfig-language.txt in the NuttX tools repository.
+#
+
+config TESTING_FFF
+       tristate "Enable FakeFunctionFramework"
+       default n
+       ---help---
+               Enable FakeFunctionFramework
diff --git a/testing/fff/Make.defs b/testing/fff/Make.defs
new file mode 100644
index 000000000..64be55f8a
--- /dev/null
+++ b/testing/fff/Make.defs
@@ -0,0 +1,25 @@
+############################################################################
+# apps/testing/fff/Make.defs
+#
+# 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.
+#
+############################################################################
+
+ifneq ($(CONFIG_TESTING_FFF),)
+CONFIGURED_APPS += $(APPDIR)/testing/fff
+CFLAGS += ${INCDIR_PREFIX}$(APPDIR)/testing/fff/fff
+CXXFLAGS += ${INCDIR_PREFIX}$(APPDIR)/testing/fff/fff
+endif
diff --git a/testing/fff/Makefile b/testing/fff/Makefile
new file mode 100644
index 000000000..6f1686d49
--- /dev/null
+++ b/testing/fff/Makefile
@@ -0,0 +1,38 @@
+############################################################################
+# apps/testing/fff/Makefile
+#
+# 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.
+#
+############################################################################
+
+include $(APPDIR)/Make.defs
+
+# Download and unpack tarball if no git repo found
+ifeq ($(wildcard fff/.git),)
+fff.zip:
+       $(Q) curl -L 
https://github.com/meekrosoft/fff/archive/refs/heads/master.zip -o fff.zip
+       $(Q) unzip -o fff.zip
+       $(Q) mv fff-master fff
+
+context:: fff.zip
+
+distclean::
+       $(call DELDIR, fff)
+       $(call DELFILE, fff.zip)
+
+endif
+
+include $(APPDIR)/Application.mk

Reply via email to