编程苦手 Pixhawk 受难录 二: CMake 教程翻译(1-3)

PX4使用 CMake 编译,编程苦手有心无力,仅翻译部分官网教程,渣水平请轻喷,有问题还请指教

以下是一个囊括通用编译系统的 CMake 教程

  • 一个简单的起点(第一步)
最简单的工程就是直接从源码编译.对于这样的工程一个两行的 CMakeLists 文件就足够了.如:
cmake_minimum_required (VERSION 2.6)
project (Tutorial)
add_executable(Tutorial tutorial.cxx)

可以看到在这个 CMakeLists 文件当中我们使用了小写字母作为指令. CMake 支持大写,小写以及混合输入方式.
下面这份代码(tutorial.cxx)负责计算二次方根,它的第一个版本是十分简单的:
// A simple program that computes the square root of a number
#include 
#include 
#include 
int main (int argc, char *argv[])
{
  if (argc < 2)
    {
    fprintf(stdout,"Usage: %s number\n",argv[0]);
    return 1;
    }
  double inputValue = atof(argv[1]);
  double outputValue = sqrt(inputValue);
  fprintf(stdout,"The square root of %g is %g\n",
          inputValue, outputValue);
  return 0;
}

添加版本号和配置好的头文件

我们的第一个特性就是提供一个 executable 和一个带有版本号的工程.当然,你可以直接在源码中完成这项任务,但是通过修改 CMakeLists 可以获得更好的灵活性,如:
cmake_minimum_required (VERSION 2.6)
project (Tutorial)
# The version number.
set (Tutorial_VERSION_MAJOR 1)
set (Tutorial_VERSION_MINOR 0)
 
# configure a header file to pass some of the CMake settings
# to the source code
configure_file (
  "${PROJECT_SOURCE_DIR}/TutorialConfig. h.in"
  "${PROJECT_BINARY_DIR}/TutorialConfig.h"
  )
 
# add the binary tree to the search path for include files
# so that we will find TutorialConfig.h
include_directories("${PROJECT_BINARY_DIR}&

你可能感兴趣的:(Pixhawk,PX4,Pixhawk,cmake)