單個源文件ui
# CMake 最低版本號要求 cmake_minimum_required (VERSION 3.11) # 項目信息 project (Demo) # 指定生成目標 add_executable(Demo main.cc)
cmake_minimum_required:指定運行此配置文件所需的 CMake 的最低版本;spa
project:參數值是 Demo,該命令表示項目的名稱是 Demo。debug
add_executable: 將名爲 main.cc 的源文件編譯成一個名稱爲 Demo 的可執行文件server
# CMake 最低版本號要求 cmake_minimum_required (VERSION 3.11) # 項目信息 project (Demo) # 查找當前目錄下的全部源文件 # 並將名稱保存到 DIR_SRCS 變量 aux_source_directory(. DIR_SRCS) # 指定生成目標 add_executable(Demo ${DIR_SRCS}) #或者:add_executable(Demo main.cc math_function.cc math_function.h)
aux_source_directory: 查找指定目錄下的全部源文件,而後將結果存進指定變量名.xml
# CMake 最低版本號要求 cmake_minimum_required (VERSION 3.11) # 項目信息 project (Demo) # 查找當前目錄下的全部源文件 # 並將名稱保存到 DIR_SRCS 變量 aux_source_directory(. DIR_SRCS) # 添加 math 子目錄 add_subdirectory(math) # 指定生成目標 add_executable(Demo ${DIR_SRCS}) # 添加連接庫 target_link_libraries(Demo MathFunctions)
# 查找當前目錄下的全部源文件 # 並將名稱保存到 DIR_LIB_SRCS 變量 aux_source_directory(. DIR_LIB_SRCS) # 生成連接庫,庫名爲MathFunctions add_library (MathFunctions ${DIR_LIB_SRCS})
add_subdirectory:指明本項目包含一個子目錄 math,這樣math目錄下的文件纔會被處理 blog
target_link_libraries:指明可執行文件 main 須要鏈接一個名爲 MathFunctions 的連接庫。get
cmake_minimum_required(VERSION 3.11) PROJECT (Notepad) # Require "qa" and "xml" for debug report. if(MSVC) find_package(wxWidgets REQUIRED COMPONENTS core base qa xml) else() # Require "net" for create server/client between two instances. find_package(wxWidgets REQUIRED COMPONENTS core base net qa xml) endif() include(${wxWidgets_USE_FILE}) set(Boost_USE_STATIC_LIBS ON) find_package(Boost) if(Boost_FOUND) include_directories(${Boost_INCLUDE_DIRS}) endif() include_directories(${PROJECT_SOURCE_DIR}/src) add_subdirectory(src)
add_subdirectory(notepad)
aux_source_directory(. DIR_SRCS) set(TARGET_NAME notepad) add_executable(${TARGET_NAME} WIN32 ${DIR_SRCS}) target_link_libraries(${TARGET_NAME} ${wxWidgets_LIBRARIES})