基于CMake工具集成HighTec/Tasking编译器自动构建makefile

开发过程中,代码编译对developer说一件高频率事件,对于代码量小,简单的demo调试来讲,使用编译器厂家提供的IDE直接编译上手快,入门简单,还有有图形化的界面看起来似乎很友好,当时当工程复杂,以及想要实现变体管理,CICD以及引入更多扩展功能,构建基于makefile的编译工程有着巨大的成本时间优势。此篇中使用目前比较热门的Cmake构建makefile,不多废话,直接上干货。

<1>.编译构建工具安装,根据厂家提供的工具包自行安装,Cmake可在官网直接下载。

(1)HighTec Compiler 

(2)Tasking Compiler

(3)Cmake  下载链接: https://cmake.org/download/

<2>基于HighTec编译一个静态库文件(.a)

cmake_minimum_required (VERSION 3.31)

set(CMAKE_SYSTEM_NAME Generic)
set(CMAKE_CXX_COMPILER_WORKS 1)
set(CMAKE_C_COMPILER_WORKS 1)

set(LIBRARY_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/build)
set(EXECUTABLE_OUT_PATH ${CMAKE_SOURCE_DIR}/build)

#configure toolchain
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
set(tools C:/HighTec/toolchains/tricore/v4.9.4.1)
set(CMAKE_C_COMPILER ${tools}/bin/tricore-gcc.exe)
set(CMAKE_CXX_COMPILER ${tools}/bin/tricore-c++.exe)
set(CMAKE_OBJCOPY ${tools}/bin/tricore-objcopy.exe)
set(CMAKE_SIZE ${tools}/bin/tricore-size.exe)


project (hello)

set (MCU_FLAGS "-mcpu=tc39xx -std=c99 -Os")
set (CMAKE_C_FLAGS "${MCU_FLAGS} -fdata-sections -ffunction-sections -fno-common -W -Wall -Wextra -Wdiv-by-zero -Warray-bounds -Wcast-align -Wignored-qualifiers -Wformat -Wformat-security -pipe -DTRIBOARD_TC39XA -fstrict-volatile-bitfields -fshort-double")
set (CMAKE_C_FLAGS_DEBUG "-O0 -g2 -ggdb")
set (CMAKE_C_FLAGS_RELEASE "-Os")

IF(NOT CMAKE_BUILD_TYPE)
  SET(CMAKE_BUILD_TYPE Release CACHE STRING
      "Choose the type of build, options are: Debug Release "
      FORCE)
ENDIF(NOT CMAKE_BUILD_TYPE)

#include head files paths 
include_directories (
    ./inc
)

file (GLOB LIB_SRC ./src/*.c)

add_library(${PROJE
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值