mirror of
https://github.com/espressif/openthread.git
synced 2026-08-03 17:37:46 +00:00
[cmake] create functions.cmake file to abstract useful functions (#4112)
This commit is contained in:
committed by
Jonathan Hui
parent
71b567c329
commit
a51e501b6a
+1
-13
@@ -34,6 +34,7 @@ option(OT_BUILTIN_MBEDTLS "Enable builtin mbedTLS" ON)
|
||||
|
||||
include("${PROJECT_SOURCE_DIR}/etc/cmake/checks.cmake")
|
||||
include("${PROJECT_SOURCE_DIR}/etc/cmake/options.cmake")
|
||||
include("${PROJECT_SOURCE_DIR}/etc/cmake/functions.cmake")
|
||||
|
||||
execute_process(
|
||||
COMMAND "${PROJECT_SOURCE_DIR}/third_party/nlbuild-autotools/repo/scripts/mkversion" "-b" "`cat .default-version`" "."
|
||||
@@ -47,19 +48,6 @@ list(APPEND OT_PRIVATE_DEFINES
|
||||
|
||||
set(OT_PLATFORM "none" CACHE STRING "Target platform chosen by the user at configure time")
|
||||
|
||||
function(ot_get_platforms arg_platforms)
|
||||
set(result "none")
|
||||
set(platforms_dir "${PROJECT_SOURCE_DIR}/examples/platforms")
|
||||
file(GLOB platforms RELATIVE "${platforms_dir}" "${platforms_dir}/*")
|
||||
foreach(platform IN LISTS platforms)
|
||||
if(IS_DIRECTORY "${platforms_dir}/${platform}")
|
||||
list(APPEND result "${platform}")
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
set(${arg_platforms} "${result}" PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
ot_get_platforms(OT_EXAMPLE_PLATFORMS)
|
||||
set_property(CACHE OT_PLATFORM PROPERTY STRINGS ${OT_EXAMPLE_PLATFORMS})
|
||||
if(NOT OT_PLATFORM IN_LIST OT_EXAMPLE_PLATFORMS)
|
||||
|
||||
Executable
+41
@@ -0,0 +1,41 @@
|
||||
#
|
||||
# Copyright (c) 2019, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
# Get a list of the available platforms and output as a list to the 'arg_platforms' argument
|
||||
function(ot_get_platforms arg_platforms)
|
||||
set(result "none")
|
||||
set(platforms_dir "${PROJECT_SOURCE_DIR}/examples/platforms")
|
||||
file(GLOB platforms RELATIVE "${platforms_dir}" "${platforms_dir}/*")
|
||||
foreach(platform IN LISTS platforms)
|
||||
if(IS_DIRECTORY "${platforms_dir}/${platform}")
|
||||
list(APPEND result "${platform}")
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
set(${arg_platforms} "${result}" PARENT_SCOPE)
|
||||
endfunction()
|
||||
Reference in New Issue
Block a user