CMake常用命令

152 阅读2分钟

CMake是一个跨平台的构建工具,它可以自动生成Makefile或者项目文件,从而方便地管理和构建项目。

  1.  cmake_minimum_required(VERSION x.y.z)
     
    

    这个命令指定了最低CMake版本的要求。如果当前的CMake版本低于指定版本,则会报错退出。

  2.  project(project_name [CXX] [C] [Java])
     
    

    这个命令定义了一个项目的名称,可以在构建和安装过程中使用。

  3.  add_executable(executable_name source_file1 [source_file2 ...])
     
    

    这个命令用来添加可执行文件。后面跟着的是可执行文件的名称和源代码文件的列表。例如:add_executable(hello_world main.cpp)

  4.  add_library(library_name STATIC/SHARED source_file1 [source_file2 ...])
    

    这个命令用来添加静态或动态库。后面跟着的是库的名称、库的类型(STATIC或SHARED)和源代码文件的列表。例如:add_library(my_lib STATIC lib.cpp)

  5.  target_link_libraries(target_name lib1 [lib2 ...])
     
    

    这个命令用来链接目标文件和库文件。后面跟着的是目标文件的名称和需要链接的库文件的列表。例如:target_link_libraries(my_prog my_lib)

  6.  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
    

     这个命令用来设置编译器选项。例如,设置编译器标志为-Wall。这个命令还可以用来设置其他的选项,如编译器路径、编译器版本等等。

  7.  include_directories(directory1 [directory2 ...])
     
    

    这个命令用来添加头文件搜索路径。后面跟着的是需要添加的目录列表。例如:include_directories(include)

  8.  link_directories(directory1 [directory2 ...])
     
    

    这个命令用来添加库文件搜索路径。后面跟着的是需要添加的目录列表。例如:link_directories(lib)

  9.  add_definitions(-DDEBUG)
     
    

    这个命令用来定义预处理器变量。例如,定义DEBUG变量。这个命令还可以用来设置其他的预处理器选项,如宏定义、条件编译等等。

  10.  install(TARGETS target_name DESTINATION directory)
    

    这个命令用来安装目标文件和库文件。后面跟着的是目标文件的名称和安装目录。例如:install(TARGETS my_prog DESTINATION bin)

  11.  install(FILES file1 [file2 ...] DESTINATION directory)
    

    这个命令用来安装文件。后面跟着的是需要安装的文件列表和安装目录。例如:install(FILES readme.txt DESTINATION doc)