zoukankan      html  css  js  c++  java
  • [cmake] Basic Tutorial

    Basic Project

    The most basic porject is an executable built from source code file. 

    CMakeLists.txt

    cmake_minimum_required (version 2.6)
    project (Tutorial)
    add_executable(Tutorial tutorial.cxx)

    tutorial.cxx 

    #include <stdio.h>
    
    int main(int argc, char* argv[])
    {
      fprintf(stdout, "hello world");
      return 0;
    }

    Project files:

    .
    ├── CMakeLists.txt
    └── tutorial.cxx

    Upper, lower, and mixed case cammonds are supported by CMake.

    Adding a library

     

    ├── CMakeLists.txt
    ├── MathFunctions
    │   ├── CMakeLists.txt
    │   ├── MathFunctions.h
    │   └── mysqrt.cxx
    └── tutorial.cxx

    In MathFunctions/CMakeLists.txt

    add_library(MathFunctions mysqrt.cxx)

    add_library: create a library, static or dynamic library.

    In ./CMakeList.txt

    cmake_minimum_required (VERSION 2.6)
    project (Tutorial)
    
    # add the binary tree to the search path for include files
    # so that we will find TutorialConfig.h
    include_directories ("${PROJECT_BINARY_DIR}")
    include_directories ("${PROJECT_SOURCE_DIR}/MathFunctions")
    
    add_subdirectory (MathFunctions)
    
    # add the executable
    add_executable (Tutorial tutorial.cxx)
    target_link_libraries (Tutorial  MathFunctions)

    include_directories: to find the header files

    add_executable: to create executable

    target_link_libraries: add the library to the executable

    Reference:

    cmake tutorial, cmake.org

  • 相关阅读:
    中文简体汉字
    文件下载
    javaBean
    servlet和JSP笔记(EL表达式、javabean、jsp九大内置对象等)
    Http请求和响应
    Eclipse快捷键(可更新)
    反射笔记①
    泛型, 枚举,单例模式
    Ubuntu 14.04 安装 A卡HD7750 官方闭源 显卡驱动
    C语言--二维数组,字符串数组,多维数组
  • 原文地址:https://www.cnblogs.com/TonyYPZhang/p/8453711.html
Copyright © 2011-2022 走看看