ncnn阅读 - CMakeLists.txt

CMAKE_TOOLCHAIN_FILE

This variable is specified on the command line when cross-compiling with CMake. It is the path to a file which is read early in the CMake run and which specifies locations for compilers and toolchain utilities, and other target platform and compiler related information. 指定编译器,toolchain utilities的路径,其他目标平台和编译器的相关信息。

toolchain utilities 一套编译工具的集合

比如:make, 编译器,汇编器,链接器等等。

set 将一个CMAKE变量设置为给定值。

set(<variable> <value> [[CACHE <type> <docstring> [FORCE]] | PARENT_SCOPE])
  将变量<variable>的值设置为<value>。在<variable>被设置之前,<value>会被展开。如果有CACHE选项,那么<variable>就会添加到cache中;这时<type>和<docstring>是必需的。<type>被CMake GUI用来选择一个窗口,让用户设置值。<type>可以是下述值中的一个:

FILEPATH = 文件选择对话框。
PATH = 路径选择对话框。
STRING = 任意的字符串。
BOOL = 布尔值选择复选框。
INTERNAL = 不需要GUI输入端。(适用于永久保存的变量)。

CMAKE_BINARY_DIR

This is the full path to the top level of the current CMake build tree. For an in-source build, this would be the same as CMAKE_SOURCE_DIR.

养成喜欢进行外部编译(out-of-source build) 而不是in-source build
out-of-source build一般在源文件的顶层目录中 新建build目录
对于命令行可以 cd build

然后 cmake .. -G"MinGW Makefiles"即可

这样所有的临时文件 都会放在build目录下不会和source有任何的瓜噶。

get_filename_component

Get a specific component of a full filename.

get_filename_component(<VAR> <FileName> <COMP> [CACHE])
Set <VAR> to a component of <FileName>, where <COMP> is one of: 将var设置为filename的某一部分

DIRECTORY = Directory without file name
NAME = File name without directory
EXT = File name longest extension (.b.c from d/a.b.c)
NAME_WE = File name without directory or longest extension
ABSOLUTE = Full path to file
REALPATH = Full path to existing file with symlinks resolved
PATH = Legacy alias for DIRECTORY (use for CMake <= 2.8.11)

find_file

https://cmake.org/cmake/help/v3.4/command/find_file.html

message

Display a message to the user.

message([<mode>] "message to display" ...)
The optional <mode> keyword determines the type of message:

(none) = Important information
STATUS = Incidental information  对STATUS的信息用stdout输出,其他的用stderr数据
WARNING = CMake Warning, continue processing
AUTHOR_WARNING = CMake Warning (dev), continue processing
SEND_ERROR = CMake Error, continue processing,
but skip generation
FATAL_ERROR = CMake Error, stop processing and generation
DEPRECATION = CMake Deprecation Error or Warning if variable
CMAKE_ERROR_DEPRECATED or CMAKE_WARN_DEPRECATED
is enabled, respectively, else no message.
The CMake command-line tool displays STATUS messages on stdout and all other message types on stderr. The CMake GUI displays all messages in its log area. The interactive dialogs (ccmake and CMakeSetup) show STATUS messages one at a time on a status line and other messages in interactive pop-up boxes.

CMake Warning and Error message text displays using a simple markup language. Non-indented text is formatted in line-wrapped paragraphs delimited by newlines. Indented text is considered pre-formatted.

时间: 2024-10-10 20:14:07

ncnn阅读 - CMakeLists.txt的相关文章

阅读 CMakeLists

新手,入门阅读 CMakeLists,希望读者能给点建议 发现两篇文章,我感觉很好~ <阅读 CMakeLists>(下面只copy此篇)文章来源:http://blog.sina.com.cn/s/blog_8380edd00100wyei.html <CMake 入门实战> 文章地址:http://www.hahack.com/codes/cmake/ 楼主最近几天被Orz和PageGeometry弄得有点头大,需要通过源码 + CMakeLists 来建立工程和sln,但是到

linux CMakeLists.txt 语法

CMake入门教程 参考文献:http://www.ibm.com/developerworks/cn/linux/l-cn-cmake/index.html 官方网址:http://www.cmake.org/ 下载网址:http://www.cmake.org/download/ 当前版本:3.1rc3 本文基于CMake 2.8版本编写. CMake 是一个跨平台的,开源的构建系统(BuildSystem).CMake 可以通过 CMakeLists.txt 文件来产生特定平台的标准的构建

简单CMakeLists.txt文件

#CMakeLists.txt cmake_minimum_required(VERSION 2.8) project(server) #添加包含目录 include_directories(./include) #添加源文件 aux_source_directory(./src DIR_SRC) #添加头文件 SET(HEADERS include/hello.h ) #可执行文件 add_executable( ${PROJECT_NAME} ${DIR_SRC} ${HEADERS})

ROS中的CMakeLists.txt

在ROS的编程过程中,如果CMakeLists.txt如果写不好,编译就很难成功.如果看不懂CMakeLists.txt那么很多错误你也不知道时什么回事.所以深入了解它是很有必要的.现在我们就来看看它. 我们使用cmake进行程序编译的时候,会根据CMakeLists.txt这个文件进行一步一步的处理,然后形成一个MakeFile文件,系统再通过这个文件的设置进行程序的编译. 我们可以先寻找一些cmake方面的东西进行一定的了解.ROS中的CMakeLists.txt也是基于普通的cmake的.

cmake 学习-cmakelists.txt

#设置库的路径,电脑里有qt4以及qt5,使用qt5时 设置qt5的环境变量(路径). 1 set(CMAKE_PREFIX_PATH $ENV{QTDIR}) 2 #设定工程名称 3 Project(proname) 4 #设置CMake最低版本要求 5 cmake_minimum_required(VERSION 3.6.0) 6 7 #设置需要用到的Qt模块 8 9 FIND_PACKAGE(Qt5Core) #包含qt5core的头文件 10 include_directories(${

《Cmake 实践》[初试 cmake – cmake 的 helloworld] CMakeLists.txt错误

书中所写CMakeLists.txt截图: 构建时报错: 原因:最后一行引用SRC_LIST变量需要添加${}符号,正确的代码如下: 再次构建成功

ros项目 CMakeLists.txt中添加自己的库路径

原创博文,转载请标明出处:http://www.cnblogs.com/yongpan/p/6657400.html 在 ros 功能包中要使用第三方的动态库,将其放在系统默认库路径和使用绝对路径均不可取,这样的话可移植性较差,将该功能包移到其它电脑时要重新配置依赖库的路径,太麻烦了. 于是找到下面这个方法,解决了ROS功能包中添加库路径的问题. 注:此法针对 ros catkin编译. 在ROS功能包下的CMakeLists.txt 中添加 如下代码: link_directories( ${

CMakeLists.txt编辑器--emacs

本文来自多方查询,目前我还是第一次使用emacs,所以有很多问题在emacs高手看来可能会比较幼稚,但是这并不影响我把这个神之编辑器以及怎样用这个神之编辑器写CMakeLists.txt的方法分享出来 一.安装 此处不现说明 二.禁止备份+行号显示 刚刚安装好的emacs会自动创建备份文件,可以在家目录中新建一个.emacs 文件,加入以下内容 ;;禁止备份 (setq make-backup-files nil) 参考自:http://blog.csdn.net/flytomysky/arti

ROS知识(8)----CMakeLists.txt文件编写的理解

ROS(Indigo)编程必须要理解CMakeList.txt的编写规则,教程地址:catkin/CMakeLists.txt,官网有相关的教程,中文的翻译版本写的很不错,教程地址:ROS中的CMakeLists.txt