入門級編寫一——同一目錄,單個文件
一個典型的CMakeLists.txt
文件信息如下:
# CMake 最低版本號要求
cmake_minimum_required (VERSION 2.8)
# 項目信息
project(test_cmake)
# 指定生成目標,test即為生成的可執(zhí)行文件
add_executable(test test_cmake.c)
將CMakeLists.txt
與test_cmake.c
放在同一目錄下。
建議:
在使用cmake命令前,在CMakeLists.txt
所在的目錄下先建一個build/
的文件夾,進入build/
文件夾,然后再bash命令行下輸入:$ cmake ..
回車,然后輸入$ make
,在build/
文件夾下將有可執(zhí)行文件test
,然后運行$ ./test
即可完成任務。
入門級編寫二——同一目錄,多個文件
CMakeLists.txt
文件信息更改如下:
# CMake 最低版本號要求
cmake_minimum_required (VERSION 2.8)
# 項目信息
project(test_cmake)
# 查找當前目錄下的所有源文件
# 并將名稱保存到 DIR_SRCS 變量
aux_source_directory(. DIR_SRCS) #增加的部分
# 指定生成目標
add_executable(test ${DIR_SRCS})
入門級編寫三——多個目錄,多個文件
文件路徑:
./Demo3
|
+--- main.cc
|
+--- math/
|
+--- MathFunctions.cc
|
+--- MathFunctions.h
對于這種情況,需要分別在項目根目錄 Demo3 和 math 目錄里各編寫一個 CMakeLists.txt 文件。為了方便,我們可以先將 math 目錄里的文件編譯成靜態(tài)庫再由 main 函數(shù)調用.
根目錄CMakeLists.txt
文件信息更改如下:
# CMake 最低版本號要求
cmake_minimum_required (VERSION 2.8)
# 項目信息
project(test_cmake)
# 查找當前目錄下的所有源文件
# 并將名稱保存到 DIR_SRCS 變量
aux_source_directory(. DIR_SRCS)
# 添加 math 子目錄
add_subdirectory(math)
# 指定生成目標
add_executable(test main.cc)
# 添加鏈接庫
target_link_libraries(Demo MathFunctions)
子目錄中的 CMakeLists.txt:
# 查找當前目錄下的所有源文件
# 并將名稱保存到 DIR_LIB_SRCS 變量
aux_source_directory(. DIR_LIB_SRCS)
# 生成鏈接庫
add_library (MathFunctions ${DIR_LIB_SRCS})
在該文件中使用命令 add_library 將 src 目錄中的源文件編譯為靜態(tài)鏈接庫。
高級設置
暫時用不上,就先不研究了。研究了之后再更新