xref: /aosp_15_r20/external/ot-br-posix/examples/platforms/nxp/linux-imx/arm.cmake (revision 4a64e381480ef79f0532b2421e44e6ee336b8e0d)
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