# cmake 最低版本需求
cmake_minimum_required(VERSION 3.13)
# 工程名稱
project(cmake_study LANGUAGES CXX)
# 設置
set(CMAKE_CXX_STANDARD 11)
# cmake subdirectory
# add_subdirectory(lib)
# cmake build library
# add_library(fun1 SHARED lib/fun1.cpp)
# target_include_directories(fun1 PUBLIC inc)
# 編譯源碼生成目標
add_executable(main src/main.cpp)
target_include_directories(main PUBLIC inc)
target_link_libraries(
main
PUBLIC
/mnt/d/linux_codes/cpp/lib/libfun1.so)
添加頭文件和庫依賴
# third party include and library
include_directories(/mnt/d/linux_codes/cpp/inc)
link_directories(/mnt/d/linux_codes/cpp/lib)
target_link_libraries(main PUBLIC libfun1.so)
example 2
# cmake 最低版本需求
cmake_minimum_required(VERSION 2.8)
# 工程名稱
project(main LANGUAGES CXX)
# export CC=/usr/bin/gcc
# export CXX=/usr/bin/gcc
set(CMAKE_CXX_COMPILER "gcc")
set(CMAKE_CC_COMPILER "gcc")
add_compile_options(-std=c++11)
# 編譯源碼生成目標
add_executable(main main.cpp)
target_include_directories(main PUBLIC inc)
target_link_libraries(
main
PUBLIC
/usr/local/xx/libruntime.so)
參考
https://cliutils.gitlab.io/modern-cmake/modern-cmake.pdf
https://cmake.org/cmake/help/latest/guide/tutorial/index.html