Cmake的install与file命令的区别
实际上他们两个可以达到一个目标(对于文件操作),但是又有本质上的区别,文档没有细看,但是一般利于项目的管理,使用install,install命令如果在cmake命令中没有指名install参数,实际上时不会执行的,只有在cmake命令中指名install,install命令(在CmakeLists.txt里)才会执行。
Demo:
cmake_minimum_required(VERSION 2.8)#set(CMAKE_C_COMPILER "D:\VS2008Release\VC\bin\amd64")
#set(CMAKE_CXX_COMPILER "D:\VS2008Release\VC\bin\amd64")PROJECT(VisualStaticMT) #set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/Lib)
#set(ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/Lib")
#message(STATUS ${CMAKE_BINARY_DIR})set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)#set(SHARE_LIBS_DIR ${CMAKE_BINARY_DIR}/Lib)add_subdirectory(bzlib)
add_subdirectory(cairo)
add_subdirectory(coders)
add_subdirectory(croco)
add_subdirectory(ffi)
add_subdirectory(filters)
add_subdirectory(glib)
add_subdirectory(jbig)
add_subdirectory(jp2)
add_subdirectory(jpeg)
add_subdirectory(lcms)
add_subdirectory(librsvg)
add_subdirectory(libxml)
add_subdirectory(lqr)
add_subdirectory(magick)
add_subdirectory(Magick++)
add_subdirectory(pango)
add_subdirectory(pixman)
add_subdirectory(png)
add_subdirectory(tiff)
add_subdirectory(ttf)
add_subdirectory(wand)
add_subdirectory(webp)
add_subdirectory(wmf)
add_subdirectory(zlib)#头文件输出
#file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/Magick++/lib/Magick++.h"
#DESTINATION "${CMAKE_BINARY_DIR}/include" )
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/Magick++/lib/Magick++.h"DESTINATION "${CMAKE_BINARY_DIR}/include")#wand文件夹file(GLOB wand_hdrs "${CMAKE_CURRENT_SOURCE_DIR}/wand/*.h")
#file(COPY ${wand_hdrs}
#DESTINATION "${CMAKE_BINARY_DIR}/include/wand" )install(FILES ${wand_hdrs}DESTINATION "${CMAKE_BINARY_DIR}/include/wand")#file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/VisualMagick/wand/wand-config.h.in"
#DESTINATION "${CMAKE_BINARY_DIR}/include/wand" )
#文件重命名
#file(RENAME "${CMAKE_BINARY_DIR}/include/wand/wand-config.h.in" "${CMAKE_BINARY_DIR}/include/wand/wand-config.h")install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/VisualMagick/wand/wand-config.h.in"DESTINATION "${CMAKE_BINARY_DIR}/include/wand"RENAME "wand-config.h")#Magick++文件夹
file(GLOB Magick_hdrs "${CMAKE_CURRENT_SOURCE_DIR}/Magick++/lib/Magick++/*.h")
#file(COPY ${Magick_hdrs}
#DESTINATION "${CMAKE_BINARY_DIR}/include/Magick++" )install(FILES ${Magick_hdrs}DESTINATION "${CMAKE_BINARY_DIR}/include/Magick++")#magick文件夹
file(GLOB magick_hdrs "${CMAKE_CURRENT_SOURCE_DIR}/magick/*.h")
#file(COPY ${magick_hdrs}
#DESTINATION "${CMAKE_BINARY_DIR}/include/magick"
#)
install(FILES ${magick_hdrs}DESTINATION "${CMAKE_BINARY_DIR}/include/magick")#wand
#add_subdirectory(cairo)
转载于:https://www.cnblogs.com/foohack/p/3522130.html
Cmake的install与file命令的区别相关推荐
- maven的package、install、deploy命令的区别
package :命令完成了项目编译.单元测试.打包功能,但没有把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库 install :命令完成了项目编译. ...
- go install和go get的区别
go install和go get的区别 go get 和 go install 的区别 go get命变更 go get命令变更的原因 GOMODULE常用命令 go get 和 go instal ...
- cmake(14):利用set_property命令设置全局属性
目录 说明 简单示例 main.c property.c 根目录下的 CMakeLists.txt 子目录下的 CMakeLists.txt set_property() 命令 get_propert ...
- 【CMake】cmake的install指令
在cmake的时候,最常见的几个步骤就是: mkdir build && cd build cmake .. make make install 那么,make install的时候, ...
- npm install xxxx --legacy-peer-deps命令是什么?为什么可以解决下载时候产生的依赖冲突呢?
在日常使用命令npm install / npm install XX下载依赖的操作中,我经常会遇到无法解析依赖树的问题(依赖冲突): 但是每当遇到这种情况的时候,我用命令npm install -- ...
- Linux 命令之 file 命令-识别文件类型
文章目录 介绍 语法格式 常用选项 参考示例 (一)显示文件类型 (二)显示符号链接的文件类型 介绍 file 命令用来识别文件类型,也可用来辨别一些文件的编码格式.它是通过查看文件的头部信息来获取文 ...
- git如何查看缓存区文件内容_详解Git工作区、暂存区、历史记录区以及git reset、git revert、git checkout等撤销命令的区别...
一.可以将git简单的分为三个区域 1.工作区(working directory) 2.暂缓区(stage index) 3.历史记录区(history) 如图: 其中git ...
- Ubuntu中apt与apt-get命令的区别
Ubuntu 16.04 发布时,一个引人注目的新特性便是 apt 命令的引入.其实早在 2014 年,apt 命令就已经发布了第一个稳定版,只是直到 2016 年的 Ubuntu 16.04 系统发 ...
- [CMake] 配置 install 和 uninstall
cmake 的使用方法 # 假设处于工作根目录 mkdir build && cd build cmake .. make # install sudo make install # ...
最新文章
- 使用jQuery来创建Silverlight
- 挣脱浏览器的束缚(7) - CrossSubDomainExecutor
- field module的on input和on request区别
- linux服务器文件索引inodes满了
- 【51Nod-1100】 斜率最大(贪心)☆双排序
- 【Java】Java反射调用可变参数的方法
- 加速度传感器与车祸报警解决方案
- java中的深复制和浅复制
- UiPath: Studio 快捷键
- 2016012013 王雪 散列函数的应用及其安全性
- 关于传奇MapInfo地图文件参数详细说明
- Xbox360有线手柄
- 从汇编的角度理解什么是引用
- Kubernetes
- 20sccm_SCCM 完全手册
- 有房间匹配和无房间匹配
- MySQL聚簇索引和非聚簇索引的原理及使用
- Java 实现ES批量索引
- 三字经 -王应麟 章太炎
- 信息论的一些基础概念