154568cb3Sopenharmony_ci################交叉编译#####################
254568cb3Sopenharmony_ci#cross-compilation config
354568cb3Sopenharmony_ciset(CMAKE_SYSTEM_NAME Linux)
454568cb3Sopenharmony_ciset(CMAKE_SYSTEM_PROCESSOR arm)
554568cb3Sopenharmony_ci
654568cb3Sopenharmony_ciset(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
754568cb3Sopenharmony_ciset(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
854568cb3Sopenharmony_ciset(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
954568cb3Sopenharmony_ciset(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
1054568cb3Sopenharmony_ci
1154568cb3Sopenharmony_ci
1254568cb3Sopenharmony_ciset(CPU_TYPE "$ENV{CPU_TYPE}" )
1354568cb3Sopenharmony_ciset(PLAM_TYPE "$ENV{PLAM_TYPE}" )
1454568cb3Sopenharmony_ciset(LIB_TYPE "$ENV{LIB_TYPE}"  )
1554568cb3Sopenharmony_ciset(SYSTEM "$ENV{SYSTEM}" )
1654568cb3Sopenharmony_ciset(CORE "$ENV{CORE}" )
1754568cb3Sopenharmony_ciset(LIB_RUN_TYPE "$ENV{LIB_RUN_TYPE}" ) 
1854568cb3Sopenharmony_ciset(BUILD_DIR "$ENV{BUILD_TMP_DIR}" ) #version id
1954568cb3Sopenharmony_ciset(OBJCOPY_PATH "$ENV{OBJCOPY_PATH}" ) #OBJCOPY_PATH
2054568cb3Sopenharmony_ciset(COMPILE_MODE "$ENV{COMPILE_MODE}" )
2154568cb3Sopenharmony_ciset(CC_TYPE "$ENV{CC_TYPE}" ) 
2254568cb3Sopenharmony_ciset(TOOLCHAIN_DIR "$ENV{HCC_PATH}") #该路径应该是外部传入,指向编译工具路径
2354568cb3Sopenharmony_ci
2454568cb3Sopenharmony_ci##compiler specified in /etc/profile
2554568cb3Sopenharmony_ciset(CMAKE_C_COMPILER "${TOOLCHAIN_DIR}/arm-none-eabi-gcc" CACHE PATH "arm-gcc C compiler" FORCE)
2654568cb3Sopenharmony_ciset(CMAKE_ASM_COMPILER "${TOOLCHAIN_DIR}/arm-none-eabi-gcc" CACHE PATH "arm-gcc ASM compiler" FORCE)
2754568cb3Sopenharmony_ci
2854568cb3Sopenharmony_ciif(${CPU_TYPE} STREQUAL "m4")
2954568cb3Sopenharmony_ci        set(CMAKE_ASM_FLAGS "--specs=nosys.specs")
3054568cb3Sopenharmony_ci        set(CMAKE_ASM_COMPILE_OBJECT "<CMAKE_ASM_COMPILER>  -O2  -pipe ${STRONG_COMPILE_WARING_FLAG} ${COMPILE_WARING_FLAG} -std=gnu11 -fno-common -fomit-frame-pointer -mthumb -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 -Wa,-mimplicit-it=thumb  -fstack-protector-strong  -funsigned-char  <FLAGS> <INCLUDES> -c <SOURCE> -o <OBJECT>")
3154568cb3Sopenharmony_ci        set(CMAKE_C_FLAGS "--specs=nosys.specs") #原ID形式\"888888\"
3254568cb3Sopenharmony_ci        set(CMAKE_C_COMPILE_OBJECT "<CMAKE_C_COMPILER> -O2 -pipe  ${STRONG_COMPILE_WARING_FLAG} ${COMPILE_WARING_FLAG} -std=gnu11 -fno-common -fomit-frame-pointer -mcpu=cortex-m4 -mthumb -mfloat-abi=softfp -mfpu=fpv4-sp-d16   -fstack-protector-strong  -fdata-sections  -ffunction-sections -fshort-enums  -funsigned-char -DSECUREC_BUFFER_SIZE=32 <FLAGS> <INCLUDES> -c <SOURCE> -o <OBJECT>")
3354568cb3Sopenharmony_ciendif()
3454568cb3Sopenharmony_ci
3554568cb3Sopenharmony_ci
3654568cb3Sopenharmony_ciset(CMAKE_LINKER "${TOOLCHAIN_DIR}/arm-none-eabi-ld" CACHE STRING "" FORCE) 
3754568cb3Sopenharmony_ciset(CMAKE_AR "${TOOLCHAIN_DIR}/arm-none-eabi-ar" CACHE STRING "" FORCE) 
3854568cb3Sopenharmony_ciset(CMAKE_C_LINK_FLAGS "-r ")
3954568cb3Sopenharmony_ciset(CMAKE_C_ARCHIVE_CREATE "<CMAKE_AR> -r <TARGET> <OBJECTS>") 
40