CMake VS工程总结
1.设置输出后缀
set(CMAKE_DEBUG_POSTFIX "d")
2.设置输出目录
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
3.设置文件虚拟目录
SOURCE_GROUP(AppCore FILES ${AppCore_H_CPP})
4.设置工程虚拟目录
add_subdirectory(子工程文件夹)
add_dependencies(子工程名 依赖其它的工程名)
SET_PROPERTY(GLOBAL PROPERTY USE_FOLDERS ON)
SET_PROPERTY(TARGET 子工程名 PROPERTY FOLDER "虚拟目录名")
5.设置生成动态库,静态库选项
set(BUILD_SHARED_LIBS "On")
#set(BUILD_SHARED_LIBS "Off")
6.从环境变量里查找库
find_path(3rdparty_INCLUDE_DIR zlib.h ENV 3rdparty_INCLUDE_DIR)
find_path(3rdparty_LIB_DIR zlib.lib ENV 3rdparty_LIB_DIR)
7.Boost在CMake中的使用
设置环境变量 Boost_DIR
set(Boost_USE_STATIC_LIBS ON)
set(Boost_USE_MULTITHREADED ON)
find_package(Boost 1.49 REQUIRED system thread regex date_time)
target_link_libraries(${PROJECT_NAME} ${Boost_LIBRARIES})
8.调试库和非调试库连接
target_link_libraries(debug ${} optimized ${})
9.输出动态库和静态库
if(${BUILD_SHARED_LIBS} STREQUAL "On")
add_library(${OUT_NAME} SHARED ${SRC} ${HEADER} ${SOUECE})
ADD_DEFINITIONS(-DXXX_LIBRARY)
else()
add_library(${OUT_NAME} STATIC ${SRC} ${HEADER})
ADD_DEFINITIONS(-DXXX_LIBRARY_STATIC)
endif()
#if defined(_MSC_VER) || defined(__CYGWIN__) || defined(__MINGW32__) || defined( __BCPLUSPLUS__) || defined( __MWERKS__)
# if defined( XXX_LIBRARY_STATIC )
# define XXX_EXPORT
# elif defined( XXX_LIBRARY )
# define XXX_EXPORT __declspec(dllexport)
# else
# define XXX_EXPORT __declspec(dllimport)
# endif
#else
# define XXX_EXPORT
#endif
CMake VS工程总结的更多相关文章
- 树莓派 安装 OpenCV 使用CMake 编译工程 最新版2015
一.安装make,cmake sudo apt-get install make sudo apt-get install cmake 二.下载deb包 去这里下载libopencv_2.4.10.d ...
- cmake常用工程示例大集合
1 简单的可执行文件生成工程 1.1 源文件 main.cpp #include <stdio.h> int main(int argc, char *argv[]) { printf ...
- 交叉编译qxmpp cmake格式工程
编写Toolchain-aarch64.cmake文件,内容如下: # this is required SET(CMAKE_SYSTEM_NAME Linux) # 必须 set(CMAKE_SYS ...
- OpenGL tutorial资源在mac yosemite下的cmake生成工程问题
如果你在使用cmake -G Xcode -Wno-dev OpenGL_Tutorial 时,出现了pThread.h not found的错误, 碰巧你和我一样使用的还是 2.8 版本的cmake ...
- 使用cmake自动构建工程
公司引擎是用cmake根据目标平台来构建工程的,刚接触的时候深深体会到cmake的方便:如果目标平台是windows,它可以帮你自动构建出vs工程:如果是安卓,自动构建出eclipse工程,如果是IO ...
- 在Linux上使用cmake创建CodeBlocks工程
最近在linux上使用cmake,对于使用GUI习惯的还真不能适应,真是想尽一切办法把原来使用cmake的工程创建成CodeBlocks工程.工程小了还能接受,工程大了太麻烦了. 看了一下cmake的 ...
- 使用CMake生成sln项目和VS工程遇到的问题
用vs运行cmake后的工程 参考:http://zhidao.baidu.com/link?url=AZRxI0jGDzo6Pikk68qylee0g7leXbpbZGiVuyiijWbd8scUK ...
- cmake使用总结(转)---工程主目录CMakeList文件编写
在linux 下进行开发很多人选择编写makefile 文件进行项目环境搭建,而makefile 文件依赖关系复杂,工作量很大,搞的人头很大.采用自动化的项目构建工具cmake 可以将程序员从复杂的m ...
- cmake用法(转)
转自:http://blog.csdn.net/dbzhang800/article/details/6314073 新工作中使用到了cmake,所以找点资料学习一下,这篇讲的确实不错,转过来保存一下 ...
随机推荐
- aforge通过角点匹配图片相似度
我不知道什么原因,人品不好还是啥的 ExhaustiveTemplateMatching这个类无法高精确度的匹配图片 ........... 换一种方式,就好得多 /// <summary> ...
- 详解 UIView 的 Tint Color 属性
在iOS 7后,UIView新增加了一个tintColor属性,这个属性定义了一个非默认的着色颜色值,其值的设置会影响到以视图为根视图的整个视图层次结构.它主要是应用到诸如app图标.导航栏.按钮等一 ...
- hdu 2188 选拔志愿者(sg博弈)
Problem Description 对于四川同胞遭受的灾难,全国人民纷纷伸出援助之手,几乎每个省市都派出了大量的救援人员,这其中包括抢险救灾的武警部队,治疗和防疫的医护人员,以及进行心理疏导的心理 ...
- .net MVC 中“MvcPager” 插件的简单使用。
.net MVC 中提供了一个分页组件"MvcPager",用起来还算方便,实用性较强. 简单写一下使用方法,如有不足的地方,请各位大大给小弟指正出来. 一.准备工作 使用这个组件 ...
- 学习node的REPL
REPL: read eval print loop 支持 多行代码 编辑模式,即 识别{} () 为代码块. 在repl中快速查看 对象的属性 gl = global repl command .h ...
- mysql中文显示问号
mysql插入中文后显示为?,查到http://blog.csdn.net/chenxingzhen001/article/details/7567812中方法,即 在my.ini配置文件中的[myd ...
- vsftp 虚拟用户
首先安装vsftp db-4wiki mkdir -p /opt/ftp 创建用户 sudo useradd virtual -d /opt/ftp -s /bin/false sudo chown ...
- iOS开发之视差滚动视图
首先声明一点,由于自己iOS开发经验有限,这里给下面将要实现的效果起名叫视差滚动视图,自己也不知道是否严谨,等以后有经验了,再来更新吧. 一.需求 有的时候我们可能会有这样一种需求,在一个UITabl ...
- yii2.0面包屑的使用及启用中文
(注:己yii2.0高级应用为例) 面包屑在布局里定义好之后,在视图中直接使即可,但默是使用英文. 一.布局中定义面包屑 backend/views/layout/main.php: use back ...
- github 上传文件
1.删除项目 2. 包管理器初始化 npm init name 必填项 后面可一直回车 最后选择yes 3.建立本地仓储 在git bash 中输入命令 git init 4. 添加 ...