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.

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

  1. px4的CMakelists.txt阅读

    ############################################################################ # # Copyright (c) PX4 D ...

  2. Cmake知识----编写CMakeLists.txt文件编译C/C++程序

    1.CMake编译原理 CMake是一种跨平台编译工具,比make更为高级,使用起来要方便得多.CMake主要是编写CMakeLists.txt文件,然后用cmake命令将CMakeLists.txt ...

  3. 阅读 CMakeLists

    新手,入门阅读 CMakeLists,希望读者能给点建议 发现两篇文章,我感觉很好~ <阅读 CMakeLists>(下面只copy此篇)文章来源:http://blog.sina.com ...

  4. CMake之CMakeLists.txt编写入门

    自定义变量 主要有隐式定义和显式定义两种. 隐式定义的一个例子是PROJECT指令,它会隐式的定义< projectname >_BINARY_DIR和< projectname & ...

  5. Ubuntu 16.04源码编译boost库 编写CMakeLists.txt | compile boost 1.66.0 from source on ubuntu 16.04

    本文首发于个人博客https://kezunlin.me/post/d5d4a460/,欢迎阅读! compile boost 1.66.0 from source on ubuntu 16.04 G ...

  6. [Windows篇] 在windows 10上源码编译gtest 并编写CMakeLists.txt

    本文首发于个人博客https://kezunlin.me/post/aca50ff8/,欢迎阅读! compile gtest on windows 10 Guide compile gtest on ...

  7. ubuntu 16.04上源码编译和安装cgal并编写CMakeLists.txt | compile and install cgal on ubuntu 16.04

    本文首发于个人博客https://kezunlin.me/post/39ab7ed9/,欢迎阅读最新内容! compile and install cgal on ubuntu 16.04 Guide ...

  8. Ubuntu 16.04上源码编译和安装pytorch教程,并编写C++ Demo CMakeLists.txt | tutorial to compile and use pytorch on ubuntu 16.04

    本文首发于个人博客https://kezunlin.me/post/54e7a3d8/,欢迎阅读最新内容! tutorial to compile and use pytorch on ubuntu ...

  9. Cmake知识----编写CMakeLists.txt文件编译C/C++程序(转)

    1.CMake编译原理 CMake是一种跨平台编译工具,比make更为高级,使用起来要方便得多.CMake主要是编写CMakeLists.txt文件,然后用cmake命令将CMakeLists.txt ...

随机推荐

  1. Perl6 Bailador框架(8):自定义400/500

    第一种方法, 直接写在源码中: use Bailador; get '/' => sub { '<h1>hello, Bailador</h1>'; } get '/te ...

  2. ShellCode的几种调用方法

    ShellCode是一种漏洞代码,中文名也叫填充数据,一般是用C语言或者汇编编写.在研究的过程中,自己也学到了一些东西,发现其中也有许多坑,所以贴出来,如果大家有碰到的,可以参考一下. 以启动电脑上的 ...

  3. 利用itext将html转为pdf

    亲测代码没有问题,需要注意细节已经标注:需要jar包:iText-2.0.8.jar:core-renderer-R8.jar: core-renderer-R8.jar下载地址:http://cen ...

  4. Python——format()/str.format()函数

    格式化输出,除了类似于C语言的格式化输出外,还有str.format()方法,Python内建的format()函数,允许用户将待输出值以参数的形式,调用format()函数,在Python交互式sh ...

  5. .NET Core 2.0.5安装具体步骤

    .NET Core 2.0.5 comprises: .NET Core Runtime 2.0.5 .NET Core SDK 2.1.4   SDK Installer SDK Binaries ...

  6. Mybatis插入数据返回自增主键

    方法有很多,参考 mysql函数之六:mysql插入数据后返回自增ID的方法,last_insert_id(),selectkey 这里记录一下工作中自己用到的selectkey方法的详细过程. po ...

  7. 【JBPM4】流程任务变量存取

    任务变量与流程变量的操作相同,前者帮定任务ID,后者绑定流程ID. 添加任务变量 //创建流程引擎 ProcessEngine processEngine = Configuration.getPro ...

  8. js正则表达大合集【转载自:http://caibaojian.com】

    [注明原文链接吧]:http://caibaojian.com 1 用户名正则 //用户名正则,4到16位(字母,数字,下划线,减号) var uPattern = /^[a-zA-Z0-9_-]{4 ...

  9. CentOS7下Samba的安装与配置

    一.Samba简介 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共享 ...

  10. sonar rule

    bug类型: 1.".equals()" should not be used to test the values of "Atomic" classes.  ...