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 c34bbb993 cmake:migrate apps CMakeLists for libtommath
c34bbb993 is described below

commit c34bbb9935a1a26400db2376eb7ea5965d56836f
Author: xuxin19 <[email protected]>
AuthorDate: Fri Jul 28 14:58:16 2023 +0800

    cmake:migrate apps CMakeLists for libtommath
    
    Signed-off-by: xuxin19 <[email protected]>
---
 math/CMakeLists.txt            |   2 +
 math/libtommath/CMakeLists.txt | 138 +++++++++++++++++++++++++++++++++++++++++
 2 files changed, 140 insertions(+)

diff --git a/math/CMakeLists.txt b/math/CMakeLists.txt
index af5dff9a4..a6f7d9ccc 100644
--- a/math/CMakeLists.txt
+++ b/math/CMakeLists.txt
@@ -18,4 +18,6 @@
 #
 # 
##############################################################################
 
+nuttx_add_subdirectory()
+
 nuttx_generate_kconfig(MENUDESC "Math Library Support")
diff --git a/math/libtommath/CMakeLists.txt b/math/libtommath/CMakeLists.txt
new file mode 100644
index 000000000..11a3ab6d6
--- /dev/null
+++ b/math/libtommath/CMakeLists.txt
@@ -0,0 +1,138 @@
+# 
##############################################################################
+# apps/math/libtommath/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_MATH_LIBTOMMATH)
+
+  # 
############################################################################
+  # Config and Fetch Tommath lib
+  # 
############################################################################
+  set(CONFIG_LIBTOMMATH_URL https://github.com/libtom/libtommath/archive)
+
+  set(LIBTOMMATH_DIR ${CMAKE_CURRENT_LIST_DIR}/libtommath)
+
+  if(NOT EXISTS ${CMAKE_CURRENT_LIST_DIR}/libtommath)
+    FetchContent_Declare(
+      libtommath URL 
${CONFIG_LIBTOMMATH_URL}/v${CONFIG_LIBTOMMATH_VERSION}.zip)
+    FetchContent_MakeAvailable(libtommath)
+
+    set(LIBTOMMATH_DIR ${libtommath_SOURCE_DIR})
+  endif()
+
+  # 
############################################################################
+  # Flags
+  # 
############################################################################
+
+  set(CFLAGS -Wno-format)
+
+  # 
############################################################################
+  # Sources
+  # 
############################################################################
+
+  file(GLOB CSRCS ${LIBTOMMATH_DIR}/*.c)
+
+  if(CONFIG_LIBTOMMATH_DEMOS)
+    list(APPEND CSRCS ${LIBTOMMATH_DIR}/demo/shared.c)
+  endif()
+
+  # 
############################################################################
+  # Include Directory
+  # 
############################################################################
+
+  set(INCDIR ${LIBTOMMATH_DIR})
+
+  # 
############################################################################
+  # Library Configuration
+  # 
############################################################################
+
+  nuttx_add_library(libtommath STATIC)
+  target_compile_options(libtommath PRIVATE ${CFLAGS})
+  target_sources(libtommath PRIVATE ${CSRCS})
+  target_include_directories(libtommath PRIVATE ${INCDIR})
+
+  # 
############################################################################
+  # Applications Configuration
+  # 
############################################################################
+
+  if(CONFIG_LIBTOMMATH_TEST)
+    nuttx_add_application(
+      NAME
+      ${CONFIG_LIBTOMMATH_TEST_PROGNAME}
+      STACKSIZE
+      ${CONFIG_LIBTOMMATH_TEST_STACKSIZE}
+      PRIORITY
+      ${CONFIG_LIBTOMMATH_TEST_PRIORITY}
+      SRCS
+      ${LIBTOMMATH_DIR}/demo/test.c
+      INCLUDE_DIRECTORIES
+      ${INCDIR}
+      DEPENDS
+      libtommath)
+  endif()
+
+  if(CONFIG_LIBTOMMATH_MTEST_OPPONENT)
+    nuttx_add_application(
+      NAME
+      ${CONFIG_LIBTOMMATH_MTEST_OPPONENT_PROGNAME}
+      STACKSIZE
+      ${CONFIG_LIBTOMMATH_MTEST_OPPONENT_STACKSIZE}
+      PRIORITY
+      ${CONFIG_LIBTOMMATH_MTEST_OPPONENT_PRIORITY}
+      SRCS
+      ${LIBTOMMATH_DIR}/demo/mtest_opponent.c
+      INCLUDE_DIRECTORIES
+      ${INCDIR}
+      DEPENDS
+      libtommath)
+  endif()
+
+  if(CONFIG_LIBTOMMATH_TIMING)
+    nuttx_add_application(
+      NAME
+      ${CONFIG_LIBTOMMATH_TIMING_PROGNAME}
+      STACKSIZE
+      ${CONFIG_LIBTOMMATH_TIMING_STACKSIZE}
+      PRIORITY
+      ${CONFIG_LIBTOMMATH_TIMING_PRIORITY}
+      SRCS
+      ${LIBTOMMATH_DIR}/demo/timing.c
+      INCLUDE_DIRECTORIES
+      ${INCDIR}
+      DEPENDS
+      libtommath)
+
+  endif()
+
+  if(CONFIG_LIBTOMMATH_MTEST)
+    nuttx_add_application(
+      NAME
+      ${CONFIG_LIBTOMMATH_MTEST_PROGNAME}
+      STACKSIZE
+      ${CONFIG_LIBTOMMATH_MTEST_STACKSIZE}
+      PRIORITY
+      ${CONFIG_LIBTOMMATH_MTEST_PRIORITY}
+      SRCS
+      ${LIBTOMMATH_DIR}/mtest/mtest.c
+      INCLUDE_DIRECTORIES
+      ${INCDIR}
+      DEPENDS
+      libtommath)
+  endif()
+
+endif()

Reply via email to