18bf80f4bSopenharmony_cicmake_minimum_required(VERSION 3.6.0)
28bf80f4bSopenharmony_ci
38bf80f4bSopenharmony_ci# Inhibit all of CMake's own NDK handling code.
48bf80f4bSopenharmony_ciset(CMAKE_SYSTEM_VERSION 1)
58bf80f4bSopenharmony_ci
68bf80f4bSopenharmony_ciset(CMAKE_SYSTEM_NAME Linux)
78bf80f4bSopenharmony_ci
88bf80f4bSopenharmony_cilist(APPEND CMAKE_FIND_ROOT_PATH "${OHOS_NDK}")
98bf80f4bSopenharmony_ciif(NOT CMAKE_FIND_ROOT_PATH_MODE_PROGRAM)
108bf80f4bSopenharmony_ci  set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
118bf80f4bSopenharmony_ciendif()
128bf80f4bSopenharmony_ci
138bf80f4bSopenharmony_ciif(NOT CMAKE_FIND_ROOT_PATH_MODE_LIBRARY)
148bf80f4bSopenharmony_ci  set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
158bf80f4bSopenharmony_ciendif()
168bf80f4bSopenharmony_ci
178bf80f4bSopenharmony_ciif(NOT CMAKE_FIND_ROOT_PATH_MODE_INCLUDE)
188bf80f4bSopenharmony_ci  set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
198bf80f4bSopenharmony_ciendif()
208bf80f4bSopenharmony_ci
218bf80f4bSopenharmony_ciif(NOT CMAKE_FIND_ROOT_PATH_MODE_PACKAGE)
228bf80f4bSopenharmony_ci  set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
238bf80f4bSopenharmony_ciendif()
248bf80f4bSopenharmony_ci
258bf80f4bSopenharmony_ciset (CMAKE_LINKER "${OHOS_NDK}/bin/lld")
268bf80f4bSopenharmony_ci
278bf80f4bSopenharmony_ciset(CMAKE_C_COMPILER_ID_RUN TRUE)
288bf80f4bSopenharmony_ciset(CMAKE_CXX_COMPILER_ID_RUN TRUE)
298bf80f4bSopenharmony_ciset(CMAKE_C_COMPILER_ID Clang)
308bf80f4bSopenharmony_ciset(CMAKE_CXX_COMPILER_ID Clang)
318bf80f4bSopenharmony_ciset(CMAKE_C_COMPILER_VERSION 9.0)
328bf80f4bSopenharmony_ciset(CMAKE_CXX_COMPILER_VERSION 9.0)
338bf80f4bSopenharmony_ciset(CMAKE_C_STANDARD_COMPUTED_DEFAULT 11)
348bf80f4bSopenharmony_ciset(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT 15)
358bf80f4bSopenharmony_ciset(CMAKE_C_COMPILER_FRONTEND_VARIANT "GNU")
368bf80f4bSopenharmony_ciset(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "GNU")
378bf80f4bSopenharmony_ci
388bf80f4bSopenharmony_ciset(CMAKE_C_STANDARD_LIBRARIES_INIT "-latomic -lm")
398bf80f4bSopenharmony_ciset(CMAKE_CXX_STANDARD_LIBRARIES_INIT "${CMAKE_C_STANDARD_LIBRARIES_INIT}")
408bf80f4bSopenharmony_ci
418bf80f4bSopenharmony_ciset(CMAKE_CXX_FLAGS           "-fuse-ld=lld -isystem ${OHOS_NDK}/include/c++/v1 ${CMAKE_CXX_FLAGS}")
428bf80f4bSopenharmony_ciset(CMAKE_C_COMPILER        "${OHOS_NDK}/bin/clang")
438bf80f4bSopenharmony_ciset(CMAKE_CXX_COMPILER      "${OHOS_NDK}/bin/clang++")
448bf80f4bSopenharmony_ciset(STD_LINKER_FLAGS "-L ${OHOS_NDK}/lib/x86_64-unknown-linux-gnu -Wl,-rpath,${OHOS_NDK}/lib/x86_64-unknown-linux-gnu -lc++")
458bf80f4bSopenharmony_ciset(CMAKE_SHARED_LINKER_FLAGS "${STD_LINKER_FLAGS} ${CMAKE_SHARED_LINKER_FLAGS}")
468bf80f4bSopenharmony_ciset(CMAKE_MODULE_LINKER_FLAGS "${STD_LINKER_FLAGS} ${CMAKE_MODULE_LINKER_FLAGS}")
478bf80f4bSopenharmony_ciset(CMAKE_EXE_LINKER_FLAGS    "${STD_LINKER_FLAGS} ${CMAKE_EXE_LINKER_FLAGS}")
48