1# Copyright (c) 2022, The OpenThread Authors. 2# All rights reserved. 3# 4# Redistribution and use in source and binary forms, with or without 5# modification, are permitted provided that the following conditions are met: 6# 1. Redistributions of source code must retain the above copyright 7# notice, this list of conditions and the following disclaimer. 8# 2. Redistributions in binary form must reproduce the above copyright 9# notice, this list of conditions and the following disclaimer in the 10# documentation and/or other materials provided with the distribution. 11# 3. Neither the name of the copyright holder nor the 12# names of its contributors may be used to endorse or promote products 13# derived from this software without specific prior written permission. 14# 15# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 16# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 19# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 20# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 21# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 22# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 23# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 24# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 25# POSSIBILITY OF SUCH DAMAGE. 26# 27 28set(CMAKE_SYSTEM_NAME Linux) 29set(CMAKE_SYSTEM_PROCESSOR arm) 30set(CMAKE_C_COMPILER arm-poky-linux-gnueabi-gcc) 31set(CMAKE_CXX_COMPILER arm-poky-linux-gnueabi-g++) 32set(CMAKE_C_COMPILER_LAUNCHER) 33set(CMAKE_CXX_COMPILER_LAUNCHER) 34set(CMAKE_ASM_COMPILER arm-poky-linux-gnueabi-gcc) 35find_program(CMAKE_AR arm-poky-linux-gnueabi-gcc-ar DOC "Archiver" REQUIRED) 36set(CMAKE_C_FLAGS " -mthumb -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a7 -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=$ENV{SDKTARGETSYSROOT} -O2 -pipe -g -feliminate-unused-debug-types " CACHE STRING "CFLAGS") 37set(CMAKE_CXX_FLAGS " -mthumb -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a7 -fstack-protector-strong --sysroot=$ENV{SDKTARGETSYSROOT} -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -fvisibility-inlines-hidden" CACHE STRING "CXXFLAGS") 38set(CMAKE_ASM_FLAGS " -mthumb -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a7 -fstack-protector-strong --sysroot=$ENV{SDKTARGETSYSROOT} -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security " CACHE STRING "ASM FLAGS") 39set(CMAKE_C_FLAGS_RELEASE "-DNDEBUG" CACHE STRING "Additional CFLAGS for release") 40set(CMAKE_CXX_FLAGS_RELEASE "-DNDEBUG" CACHE STRING "Additional CXXFLAGS for release") 41set(CMAKE_ASM_FLAGS_RELEASE "-DNDEBUG" CACHE STRING "Additional ASM FLAGS for release") 42set(CMAKE_C_LINK_FLAGS " -mthumb -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a7 -fstack-protector-strong --sysroot=$ENV{SDKTARGETSYSROOT} -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -Wl,-z,relro,-z,now" CACHE STRING "LDFLAGS") 43set(CMAKE_CXX_LINK_FLAGS " -mthumb -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a7 -fstack-protector-strong --sysroot=$ENV{SDKTARGETSYSROOT} -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -fvisibility-inlines-hidden -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -Wl,-z,relro,-z,now -L$ENV{SDKTARGETSYSROOT}/usr/lib " CACHE STRING "LDFLAGS") 44set(CMAKE_FIND_ROOT_PATH $ENV{OECORE_NATIVE_SYSROOT} $ENV{SDKTARGETSYSROOT}) 45set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) 46set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY) 47set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) 48set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) 49set(CMAKE_PROGRAM_PATH "/") 50set(CMAKE_INSTALL_RPATH) 51set(CMAKE_BUILD_RPATH_USE_ORIGIN ON) 52list(APPEND CMAKE_MODULE_PATH "$ENV{SDKTARGETSYSROOT}/usr/share/cmake/Modules/") 53set(CMAKE_LIBRARY_PATH /usr/lib /lib) 54list(APPEND CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES /usr/include) 55list(APPEND CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES /usr/include) 56set(READLINE "$ENV{SDKTARGETSYSROOT}/usr/lib/libreadline.so") 57