理解Linux||C++中build system

  • Overview

    Wikipedia : Build automation

    Build automation is the process of automating the creation of a software build and the associated processes including :

    • compiling computer source code into bianry code
    • packaging binary code
    • running automated tests
  • Software build (wikipedia)

    In software development, a build is the process of converting source code files into standalone software artifacts that can be run on a computer, or the result of doing so.

    Building software is an end-to-end process that involves many distinct functions. Some of these funtions are described below:

    1. Version Control

      The version control function carries out activities such as workspace creation and updating, baselining and reporting.

    2. Code Quality

      Also known as static program analysis/static code analysis this function is responsible for checking developers have adhered to the seven axes of code quality :

      • comments
      • unit tests
      • duplication
      • complexity
      • coding rules
      • potential buys
      • architecture & design
    3. Compilation

      This is only a small feature of managing the build process.

      The compilation function turns source files into directly executable or intermediate objects.

  • Software artifacts (wikipedia)

    An artifact is one of many kinds of tangible by-products produced during the development of software.

  • Some Build Systems

    List of build automation software

    1. Make
    2. Autotools
    3. SCons
    4. Permake
    5. Cmake
    6. Ninja
    7. Meson
    8. FASTbuild
    9. Sharpmake
    10. Maven
    11. Ant
    12. Gradle
  • References

  1. An overview of build systems (mostly for C++ projects)
  2. Understanding the modern C++ build environment
  3. CPP / C++ - Building Systems and Build Automation
  4. Build System Essentials : C++ Build System

猜你喜欢

转载自blog.csdn.net/The_Time_Runner/article/details/107295537