• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1add_definitions(-DDE_OS="DE_OS_UNIX")
2add_definitions(-DDE_COMPILER="DE_COMPILER_CLANG")
3add_definitions(-DDE_CPU="DE_CPU_ARM")
4set(CMAKE_CROSSCOMPILINGTRUE)
5set(CMAKE_SYSTEM_NAMELinux)
6set(CMAKE_CXX_COMPILER_IDClang)
7SET(CMAKE_SYSTEM_PROCESSORarm)
8add_definitions(-DFE_TONEAREST=0x00000000)
9add_definitions(-DFE_UPWARD=0x00400000)
10add_definitions(-DFE_DOWNWARD=0x00800000)
11add_definitions(-DFE_TOWARDZERO=0x00c00000)#add_definitions(-D_XOPEN_SOURCE=600)
12SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAMNEVER)
13SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARYONLY)
14SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDEONLY)
15SET(CROSS_COMPILATION_ARCHITECTUREarmv7-a)
16set(CMAKE_TOOLCHAIN_PREFIXllvm-)
17set(PROJECT_ROOT/home/hrt/master/source) #{ohos源码的工具链}
18#指定c编译工具(确保工具链所在路径已经添加到了PATH环境变量中)和编译标志,使用clang编译时标志中必须指定--target,否则无法交叉编译。
19set(CMAKE_C_COMPILER${PROJECT_ROOT}/prebuilts/clang/ohos/linux-
20x86_64/llvm/bin/clang)
21mfloat-abi=softfp-mfpu=neon-vfpv4-w")
22#指定c++编译工具(确保工具链所在路径已经添加到了PATH环境变量中)和编译标志,必须指定--
23target,否则无法交叉编译。
24set(CMAKE_CXX_COMPILER${PROJECT_ROOT}/prebuilts/clang/ohos/linux-
25x86_64/llvm/bin/clang++)
26set(CMAKE_CXX_FLAGS"--target=arm-linux-ohosmusl-D__clang__-march=armv7-a -mfloat-abi=softfp-mfpu=neon-vfpv4-w")
27#指定链接工具和链接标志,必须指定--target和--sysroot,其中OHOS_ROOT_PATH可通过cmake 命令后缀参数来指定。
28set(MY_LINK_FLAGS"--target=arm-linux-ohosmusl--
29sysroot=${PROJECT_ROOT}/out/rk3568/obj/third_party/musl/")
30set(CMAKE_LINKER${PROJECT_ROOT}/prebuilts/clang/ohos/linux-
31x86_64/llvm/bin/clang)
32set(CMAKE_CXX_LINKER${PROJECT_ROOT}/prebuilts/clang/ohos/linux-
33x86_64/llvm/bin/clang++)
34set(CMAKE_C_LINKER${PROJECT_ROOT}/prebuilts/clang/ohos/linux-
35x86_64/llvm/bin/clang)
36#指定链接库的查找路径。
37set(CMAKE_SYSROOT${PROJECT_ROOT}/out/rk3568/obj/third_party/musl/)
38set(CMAKE_EXE_LINKER_FLAGS"-Wl,--dynamic-linker,/system/bin/ld-musl-arm.so.1")