ccs中c语言定义布尔常量,ccs中的变量定义

本文详细介绍了CMake构建工具的依赖设置、构建类型、安装路径、变量定义以及多线程支持。通过示例展示了如何在Makefile中使用CMake,并特别强调了在C语言中定义布尔常量的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

fe7f4c5d409d5be8d9f16c8de9a8fac2.png

cmake,是kde4的构建工具,某些共用设置,集中在 area51/Mk/bsd.cmake.mk里面

其中主要的定义设置是:

一、建立依赖

CMAKE_BIN=    ${LOCALBASE}/bin/cmake

CMAKE_PORT=    ${PORTSDIR}/devel/cmake

BUILD_DEPENDS+=  ${CMAKE_BIN}:${CMAKE_PORT}

以上三行,定义了cmake的建立依赖,只要ports的Makefile文件中使用

USE_CMAKE = yes

那么系统在构建时都要检查这个依赖关系,如果cmake没有安装,先启动cmake的ports安装过程

二、cmake的基本运行环境

CMAKE_ENV?=    ${CONFIGURE_ENV}

cmake构建类型,有Release和Debug

CMAKE_BUILD_TYPE?=  Release

cmake工程文件CMakeLists.tx的目录,默认定义为当前路径

CMAKE_SOURCE_PATH?=  .

cmake构建系统的安装目录

CMAKE_INSTALL_PREFIX?=  ${PREFIX}

传递给cmake的变量定义

CMAKE_ARGS+=  -DCMAKE_C_COMPILER:STRING="${CC}"

-DCMAKE_CXX_COMPILER:STRING="${CXX}"

-DCMAKE_C_FLAGS:STRING="${CFLAGS}"

-DCMAKE_CXX_FLAGS:STRING="${CXXFLAGS}"

-DCMAKE_INSTALL_PREFIX:PATH="${CMAKE_INSTALL_PREFIX}"

-DCMAKE_BUILD_TYPE:STRING="${CMAKE_BUILD_TYPE}"

"${CC}",变量CC的值,防止多个参数,使用""扩上。

三、强制构建类型为Debug

.if defined(CMAKE_DEBUG) || defined(WITH_DEBUG)

CMAKE_BUILD_TYPE=DEBUG

.endif

如果在Makefile中使用 CMAKE_DEBUG 或者 WITH_DEBUG 变量,设定构建类型为 Debug

四、使用多线程构建系统

.if defined(CMAKE_USE_PTHREAD)

CFLAGS+=    ${PTHREAD_CFLAGS}

CXXFLAGS+=    ${PTHREAD_CFLAGS}

CMAKE_ARGS+=  -DCMAKE_THREAD_LIBS:STRING="${PTHREAD_LIBS}"

-DCMAKE_USE_PTHREADS:BOOL=ON

-DCMAKE_EXE_LINKER_FLAGS:STRING="${PTHREAD_LIBS}"

.endif

如果想多线程建立,需要在Makefile中定义 CMAKE_USE_PTHREAD

五、一个实例:

bsd.kde4.mk 中与cmake相关的配置是:

USE_CMAKE=     yes    # 使用cmake构建

CMAKE_DEBUG=    yes    # 构建Debug版本

CMAKE_VERBOSE=   yes    # 显示构建细节

#cmake args for kde4

CMAKE_ARGS+=  -DQT_QMAKE_EXECUTABLE=${QMAKE}

-DQT_MKSPECS_DIR:PATH="/usr/local/share/qt4/mkspecs/freebsd-g++"

cmake参数中增加了 QT_QMAKE_EXECUTABLE 和 QT_MKSPECS_DIR 两个变量

${QMAKE}在bsd.qt.mk中定义,是qt4-qmake

◆◆

评论读取中....

请登录后再发表评论!

◆◆

修改失败,请稍后尝试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值