Cmake 学习笔记
set( CMAKE_INSTALL_PREFIX ./_install)
configure_file (
"${PROJECT_SOURCE_DIR}/TutorialConfig.h.in"
"${PROJECT_BINARY_DIR}/TutorialConfig.h"
)
add_executable(Tutorial tutorial.c)
set(SRC_FILES avl.c rb.c splay.c)
add_executable(Tutorial ${SRC_FILES})
add_library(MathFunctions mysqrt.cxx)
add_library(tree SHARED ${SRC_TREE_FILES})
add_library(tree_static STATIC ${SRC_TREE_FILES})
target_link_libraries (Tutorial MathFunctions)
LINK_LIBRARIES(-lpthread -lm)
include (CheckFunctionExists)
check_function_exists (log HAVE_LOG)
check_function_exists (exp HAVE_EXP)
#cmakedefine HAVE_LOG
#cmakedefine HAVE_EXP
include_directories ("${PROJECT_BINARY_DIR}")
target_include_directories(os_demo
PRIVATE
${CMAKE_SOURCE_DIR}
${CMAKE_SOURCE_DIR}/inc
)
SET(CMAKE_C_FLAGS "-O3 -ffast-math -Wall -std=gnu99 -fPIC")
-- This is the engine CMAKE_CURRENT_BINARY_DIR: /home/xxxx/engine/build.tx1
-- This is the engine PROJECT_SOURCE_DIR: /home/xxxx/engine
-- This is the engine PROJECT_BINARY_DIR: /home/xxxx/build.tx1
cmake .. -DCMAKE_TOOLCHAIN_FILE=../tx1.toolchain.cmake
# this is required
SET(CMAKE_SYSTEM_NAME Linux) # specify the cross compiler
SET(CMAKE_C_COMPILER /opt/nvidia/gcc-linaro-5.3.-2016.05-x86_64_aarch64-linux-gnu//bin/aarch64-linux-gnu-gcc)
SET(CMAKE_CXX_COMPILER /opt/nvidia/gcc-linaro-5.3.-2016.05-x86_64_aarch64-linux-gnu//bin/aarch64-linux-gnu-g++) # where is the target environment
SET(CMAKE_FIND_ROOT_PATH /opt/nvidia/gcc-linaro-5.3.-2016.05-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/5.3.) # search for programs in the build host directories (not necessary)
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
# for libraries and headers in the target directories
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
Cmake 学习笔记的更多相关文章
- cmake学习笔记(五)
在cmake 学习笔记(三) 中简单学习了 find_package 的 model 模式,在cmake 学习笔记(四)中了解一个CMakeCache相关的东西.但靠这些知识还是不能看懂PySide使 ...
- cmake 学习笔记(三)
转自:http://blog.csdn.net/dbzhang800/article/details/6329314 接前面的 Cmake学习笔记(一) 与 Cmake学习笔记(二) 继续学习 cma ...
- cmake 学习笔记(二)
在 Cmake学习笔记一 中通过一串小例子简单学习了cmake 的使用方式. 这次应该简单看看语法和常用的命令了. 简单的语法 注释 # 我是注释 命令语法 COMMAND(参数1 参数2 ...) ...
- cmake 学习笔记(三) (转)
接前面的 Cmake学习笔记(一) 与 Cmake学习笔记(二) 继续学习 cmake 的使用. 学习一下cmake的 finder. finder是神马东西? 当编译一个需要使用第三方库的软件时,我 ...
- CMake学习笔记四:usb_cam的CMakeLists解析
最近在学习cmake,在完整看了<cmake实践>一书后,跟着书上例程敲了跑了一遍,也写了几篇相关读书笔记,算是勉强基本入门了.所以找了usb_cam软件包的CMakeLists.txt来 ...
- cmake 学习笔记(六)
希望这是现阶段阻碍阅读shiboken和PySide源码的涉及cmake的最后一个障碍 ^ _^ 学习 cmake 的单元测试部分 ctest. 简单使用 最简单的使用ctest的方法,就是在 CMa ...
- cmake 学习笔记(四)
接前面的一二三,学习一下 CMakeCache.txt 相关的东西. CMakeCache.txt 可以将其想象成一个配置文件(在Unix环境下,我们可以认为它等价于传递给configure的参数). ...
- cmake 学习笔记(一)
最大的Qt4程序群(KDE4)采用cmake作为构建系统 Qt4的python绑定(pyside)采用了cmake作为构建系统 开源的图像处理库 opencv 采用cmake 作为构建系统 ... 看 ...
- cmake学习笔记之add_library、target_link_libraries和link_directories
cmake是Linux(这里默认是Ubuntu系统)下常使用的编译C++的工具,而使用cmake就需要先在CmakeLists.txt文件中对编译规则进行.这里介绍常用的三种指令add_library ...
- CMake学习笔记
C++开发者必备技能CMake 先简单介绍一下,CMake是一个跨平台的编译工具,它可以根据不用的平台,不同的编译环境,生成不同的MakeFile,从而控制编译的过程. 使用CMake的步骤: 1. ...
随机推荐
- MySQL类型float double decimal的区别
语法 MySQL 浮点型和定点型可以用类型名称后加(M,D)来表示,M表示该值的总共长度,D表示小数点后面的长度,M和D又称为精度和标度,如float(7,4)的 可显示为-999.9999,MySQ ...
- spring+activemq中多个consumer同时处理消息时遇到的性能问题
最近在做数据对接的工作,用到了activemq,我需要从activemq中接收消息并处理,但是我处理数据的步骤稍微复杂,渐渐的消息队列中堆的数据越来越多,就想到了我这边多开几个线程来处理消息. 可是会 ...
- Idea的一些调试技巧
程序员的工作内容,除了大部分时间写代码之外,因为有不少的时间是用在调试代码上.甚至说不是在调试代码,就是即将调试代码. :) 今天我们来谈谈调试代码的一些技巧,在使用IDE提供的debugger时一些 ...
- 静态资源压缩(GZIP) 专题
1.开GZIP有什么好处?答:Gzip开启以后会将输出到用户浏览器的数据进行压缩的处理,这样就会减小通过网络传输的数据量,提高浏览的速度.Tips:如果网站的用户分布比较分散,并且静态文件过大,可以将 ...
- vue2.0组件通信小总结
1.父组件->子组件 父组件 <parent> <child :child-msg="msg"></child>//这里必须要用 - 代替 ...
- openfire推送离线聊天信息的插件
插件说明 在手机的聊天应用中,经常出现的一个需求就是把用户的离线消息通过推送系统推送到用户的手机上,为了实现这个功能,本人就开发了本插件,这个openfire 插件是拦截了发给openfire用户的离 ...
- windows 搭建 IBM Hyperledger Fabric(超级账本)开发环境
一.概述 Hyperledge fabric项目是IBM开源的区块链项目.Github地址:https://github.com/hyperledger/fabric 想对fabric有具体的认识,可 ...
- teeporxy.go
package,, { cer, err := tls.LoadX509KeyPair(*tlsCertificate, *tlsPrivateKey) if err ...
- config.go 源码阅读
package main import ( "io/ioutil" "launchpad.net/goyaml" ) // ProxyConfi ...
- 数据保存策略(Retention Policies)
数据保存策略(Retention Policies) InfluxDB没有提供直接删除Points的方法,但是它提供了Retention Policies.主要用于指定数据的保留时间:当数据超过了指定 ...