kde4 ports中cmake的一些变量定义
2009-05-13 14:34:10来源:未知 阅读 ()
其中主要的定义设置是:
一、建立依赖
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++"
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- adsl+openvpn的一些问题 2009-05-13
- 为Bash shell定义Home, Del, Insert热键 2009-05-13
- 转:一些关于ports安装及其他问题的解决办法 2009-05-13
- Ports安装软件的一些小细节。 2009-05-13
- BSD协议的调试器 2009-05-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash