CMake Intro - CMakeLists.txt

Notes:  directory structure:  cmake, cmake/Tutorial, cmake/Tutorial/MathLibs

1. File lists in cmake/Tutorial

CMakeLists.txt

TutorialConfig.h.in

tutorial.cxx

2. File lists in cmake/Tutorial/MathLibs

CMakeLists.txt

MathLibs.h

mysqrt.cxx

3. cmake/Tutorial/CMakeLists.txt

cmake_minimum_required (VERSION 2.6)

project (Tutorial)

# The version number.

set (Tutorial_VERSION_MAJOR 1)

set (Tutorial_VERSION_MINOR 0)

set(CMAKE_BUILD_TYPE DEBUG)

set(CMAKE_C_FLAGS "-O0 -ggdb")

set(CMAKE_C_FLAGS_DEBUG "-O0 -ggdb")

set(CMAKE_C_FLAGS_RELEASE "-O3")

set(CMAKE_CXX_FLAGS "-O0 -ggdb")

set(CMAKE_CXX_FLAGS_DEBUG "-O0 -ggdb")

set(CMAKE_CXX_FLAGS_RELEASE "-O3")

# configure a header file to pass some of the CMake settings

# to the source code

configure_file (

"${PROJECT_SOURCE_DIR}/TutorialConfig.h.in"

"${PROJECT_SOURCE_DIR}/TutorialConfig.h"

)

# add the binary tree to the search path for include files

# so that we will find TutorialConfig.h

include_directories("${PROJECT_SOURCE_DIR}")

# should we use our own math functions?

option (USE_MYMATH

"Use tutorial provided math implementation" ON)

# add the MathFunctions library?

#

if (USE_MYMATH)

include_directories ("${PROJECT_SOURCE_DIR}/MathLibs")

add_subdirectory (MathLibs)

set (EXTRA_LIBS ${EXTRA_LIBS} MathLibs)

endif (USE_MYMATH)

# add the executable

add_executable (Tutorial.x tutorial.cxx)

target_link_libraries (Tutorial.x  ${EXTRA_LIBS})

4. cmake/Tutorial/MathLibs/CMakeLists.txt

add_library(MathLibs mysqrt.cxx)

5. Configure and Compile

do so  in cmake directory as the followings

cmake -DUSE_MYMATH=on Tutorial

make



时间: 2024-10-12 03:04:20

CMake Intro - CMakeLists.txt的相关文章

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(${

QT static link App cmake CMakeLists.txt

project(ovw) cmake_minimum_required(VERSION 2.8) # turn on show compile cmd line SET( CMAKE_VERBOSE_MAKEFILE on ) SET(CMAKE_PREFIX_PATH "F:/Qt5.3.1/win32_static_2013") # Set source dir of cpp SET(SRC_DIR ${PROJECT_SOURCE_DIR}/..) SET(QTLIB_DIR &

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

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

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 文件来产生特定平台的标准的构建

ROS中的CMakeLists.txt

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

CMakeLists.txt编辑器--emacs

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

CMakeLists.txt

CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程).他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake. CMake 使用方法 CMake的所有的语句都写在一个叫:CMakeLists.txt的文件中.当CMakeLists.txt文件确定后,可以用ccmake命令对相关 的变量值进行配置.这个命令必须指向CMakeLists.txt所在的目录.配置完成之后,应用cmake命令生成相

gcc/g++/make/cmake/makefile/cmakelists的恩恩怨怨

以前在windows下用VS写代码,不管有多少个文件夹,有多少个文件,写完以后只需要一键就什么都搞定了.但是当移步linux下时,除非你使用图形界面,并且使用Qt creater这类的IDE时,才可以继续像windows下一样一键搞定所有事情,否则就不得不接触gcc/g++/make/cmake/makefile/cmakelists这些东西了,那他们是干什么的呢?彼此之间又是什么关系呢? 1.gcc/g++ gcc是GNU Compiler Collection的全称,是一个编译套件.通过gc

CMakeLists.txt实例运用

在一个项目文件夹下面建立如图所示的文件和文件夹 include文件夹下放.h文件,内容为声明一个函数: 1 #pragma once 2 3 void helloslam(); src下面放源码文件,对应的内容如下 1 /*sayHello.cpp文件内容*/ 2 3 #include<sayHello.h> 4 #include<iostream> 5 6 using namespace std; 7 8 void helloslam() 9 { 10 cout<<&