1cmake_minimum_required(VERSION 3.6.0)
2
3# Inhibit all of CMake's own NDK handling code.
4set(CMAKE_SYSTEM_VERSION 1)
5
6set(CMAKE_SYSTEM_NAME Linux)
7
8list(APPEND CMAKE_FIND_ROOT_PATH "${OHOS_NDK}")
9if(NOT CMAKE_FIND_ROOT_PATH_MODE_PROGRAM)
10  set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
11endif()
12
13if(NOT CMAKE_FIND_ROOT_PATH_MODE_LIBRARY)
14  set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
15endif()
16
17if(NOT CMAKE_FIND_ROOT_PATH_MODE_INCLUDE)
18  set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
19endif()
20
21if(NOT CMAKE_FIND_ROOT_PATH_MODE_PACKAGE)
22  set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
23endif()
24
25set (CMAKE_LINKER "${OHOS_NDK}/bin/lld")
26
27set(CMAKE_C_COMPILER_ID_RUN TRUE)
28set(CMAKE_CXX_COMPILER_ID_RUN TRUE)
29set(CMAKE_C_COMPILER_ID Clang)
30set(CMAKE_CXX_COMPILER_ID Clang)
31set(CMAKE_C_COMPILER_VERSION 9.0)
32set(CMAKE_CXX_COMPILER_VERSION 9.0)
33set(CMAKE_C_STANDARD_COMPUTED_DEFAULT 11)
34set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT 15)
35set(CMAKE_C_COMPILER_FRONTEND_VARIANT "GNU")
36set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "GNU")
37
38set(CMAKE_C_STANDARD_LIBRARIES_INIT "-latomic -lm")
39set(CMAKE_CXX_STANDARD_LIBRARIES_INIT "${CMAKE_C_STANDARD_LIBRARIES_INIT}")
40
41set(CMAKE_CXX_FLAGS           "-fuse-ld=lld -isystem ${OHOS_NDK}/include/c++/v1 ${CMAKE_CXX_FLAGS}")
42set(CMAKE_C_COMPILER        "${OHOS_NDK}/bin/clang")
43set(CMAKE_CXX_COMPILER      "${OHOS_NDK}/bin/clang++")
44set(STD_LINKER_FLAGS "-L ${OHOS_NDK}/lib/x86_64-unknown-linux-gnu -Wl,-rpath,${OHOS_NDK}/lib/x86_64-unknown-linux-gnu -lc++")
45set(CMAKE_SHARED_LINKER_FLAGS "${STD_LINKER_FLAGS} ${CMAKE_SHARED_LINKER_FLAGS}")
46set(CMAKE_MODULE_LINKER_FLAGS "${STD_LINKER_FLAGS} ${CMAKE_MODULE_LINKER_FLAGS}")
47set(CMAKE_EXE_LINKER_FLAGS    "${STD_LINKER_FLAGS} ${CMAKE_EXE_LINKER_FLAGS}")
48