本文只是給出一個大概的說明,命令的詳細用法以官方的參考手冊爲準
命令 |
說明 |
project(name) |
指定當前項目的名稱,一般是第一句 |
cmake_minimum_required(VERSION 3.4.1) |
指定最低版本,可選的 |
add_library(name SHARED|STATIC src_file_path...) |
添加一個庫 |
include_directories(dir_path...) |
爲了找到庫的頭文件,該命令指定頭文件目錄 |
target_link_libraries(target_name lib_name ...) |
對於靜態鏈接的庫,要指定它鏈接到哪裏 |
add_library(name SHARED|STATIC IMPORTED) |
導入一個已經編譯好的庫 |
set_target_properties(name PROPERTIES IMPORTED_LOCATION lib_path) |
對於導入的庫,需要指定它的位置 |
find_library(variable_name lib_name) |
搜索庫,並賦給變量 |
find_package(name COMPONENTS components REQUIRED) |
搜索包(如 wxWidgets),而且是必須找到 |
if(UNIX) , endif() |
判斷當前系統是否是 Unix/Linux |
if(WIN32) , endif() |
判斷當前系統是否是 Windows |
set(variable_name value ...) |
給變量賦值 |
message(STATUS msg_text) |
輸出狀態信息 |
aux_source_directory(src DIR_PATH) |
把一個目錄中的所有文件視爲源文件加入到項目 |
configure_file(input_file output_file) |
指定一個配置文件(.in 文件) |
list(APPEND variable_name value) |
給列表加入一個項目 |
add_executable(target WIN32 sources) |
添加一個可執行文件(Win32) |
install(TARGETS ${TARGT} RUNTIME DESTINATION dest_dir) |
安裝命令,把編譯後的文件複製到該文件夾下,參數較多請看官方文檔 |
add_custom_command(...) |
添加編譯後要執行的自定義命令,參數較多請看官方文檔 |
變量 |
說明 |
CMAKE_CXX_STANDARD |
C++ 標準,如 11 |
CMAKE_CXX_STANDARD_REQUIRED |
設置 ON |
CMAKE_CXX_FLAGS_DEBUG |
C++ 調試編譯時使用的標誌 |
CMAKE_CXX_FLAGS_RELEASE |
C++ 發行編譯時使用的標誌 |
CMAKE_BUILD_TYPE |
編譯類型,Debug 、Release 、MinSizeRel 、RelWithDebInfo 四種 |
CMAKE_INSTALL_PREFIX |
安裝目錄前綴 |
TARGET |
目標文件 |
SOURCES |
源文件 |
PROJECT_SOURCE_DIR |
項目源文件路徑(默認就是 CMakeList.txt 所在路徑) |
PROJECT_BINARY_DIR |
項目二進制文件路徑(默認就是 CMakeList.txt 所在路徑) |