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)
Cmake的install与file命令的区别的更多相关文章
- npm install的几种命令形式区别
转自未来与传说.jigetage 我们在使用 npm install 安装模块的时候 ,一般会使用下面这几种命令形式: npm install moduleName # 安装模块到项目目录下 npm ...
- npm install xxxx --legacy-peer-deps命令是什么?
摘要:带着好奇心,研究学习了一番npm install xxxx --legacy-peer-deps命令是什么?为什么可以解决下载时候产生的依赖冲突呢? 本文分享自华为云社区<npm inst ...
- Linux命令学习总结: file命令
命令简介: 该命令用来识别文件类型,也可用来辨别一些文件的编码格式.它是通过查看文件的头部信息来获取文件类型,而不是像Windows通过扩展名来确定文件类型的. 执行权限 :All User 指令所在 ...
- pod install 和 pod update的区别
pod install 和 pod update的区别 pod install(下载并安装pod) 1,当pod file文件中有“增加pod,删除pod,修改pod”的操作之后使用. 2,pod i ...
- linux file命令
1. file 是检测文件类型的命令.2. 文件类型就文件组织的方式,通常不同的文件类型执行不同的标准.例如我们熟知的:txt , doc , xls , pdf ...3. file 命令的简单用法 ...
- [转]Ubuntu中apt与apt-get命令的区别
转载于https://www.sysgeek.cn/apt-vs-apt-get/ Ubuntu 16.04 发布时,一个引人注目的新特性便是 apt 命令的引入.其实早在 2014 年,apt 命令 ...
- apt与apt-get命令的区别与解释
[apt与apt-get命令的区别与解释] Ubuntu 16.04 发布时,一个引人注目的新特性便是 apt 命令的引入.其实早在 2014 年,apt 命令就已经发布了第一个稳定版,只是直到 20 ...
- file命令详解
Linux file命令 Linux file命令用于辨识文件类型. 通过file指令,我们得以辨识该文件的类型 用法: file [-bchikLNnprsvz0] [--apple] [--mim ...
- eclipse maven build、maven clean、maven install和maven test的区别 精析
1.情景展示 选中maven项目,右键-->Run As或Debug As-->maven buid,maven install,maven test有什么区别? 2.区别说明 ...
随机推荐
- 2014-07-31 ASP.NET的母版页使用
今天是在吾索实习的第17天.我在这天主要负责系统的骨架的搭建.首当其冲,要用的知识点就是ASP.NET母版页的使用了. ASP.NET的母版页有两种:一种是MasterPage,最常用也是最普通的母版 ...
- Html5 Canvas Hit Testing
名词解释: Shape : 矢量图形,点线面之类的: Hit Testing : 点击测试: 参考内容: A Gentle Introduction to Making HTML5 Canvas In ...
- Android视频录制
public class MainActivity extends Activity { private MediaRecorder videoRecorder=null; private Butto ...
- Spark-用户应用程序入门
/* 2 Spark Standalone模式下的Application Application是Spark中类似于Hadoop的Job的用户提交的应用.sc是Spark集群初始化时创建的SparkC ...
- python遗传算法实现数据拟合
python据说功能强大,触角伸到各个领域,网上搜了一下其科学计算和工程计算能力也相当强,具备各种第三方包,除了性能软肋外,其他无可指摘,甚至可以同matlab等专业工具一较高下. 从网上找了一个使用 ...
- 百度全站变https
今天打开百度首页,突然发现,百度的网址变为 https://www.baidu.com/,如下图: 好嘛,以后再也不怕别人使用抓包工具查看我在百度的搜索数据了.当年的Duck Duck Go就是因为是 ...
- wpf在异步中给前台赋值
wpf,新建异步方法: Thread newThread = new Thread(new ParameterizedThreadStart(GetResult)); newThread.Start( ...
- 深入浅出-iOS函数式编程的实现 && 响应式编程概念
简介 本篇主要回顾一下--iOS函数式编程 && 响应式编程概念 ,如何一步步实现函数式编程的过程,对阅读Masonry && SnapKit源码有一定的帮助. 配图 ...
- Jmeter压力测试环境准备
Jmeter性能监控 配置好测试机器上的jmeter环境:http://jmeter-plugins.org/downloads/all/ 网站下载两个东西: JMeterPlugins-Standa ...
- Android Game
收起相关游戏 cytus 机械迷城 小小炼狱 deemo 神庙逃离 现代战争4零点行动 植物大战僵尸2中文版 时空幻境 无尽之剑3 超级救火队 迷你冲撞 大战僵尸鸟 侍魂2 flappy bird 混 ...