cmake簡單案例

# 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://aiden-dong.github.io/2019/07/20/CMake%E6%95%99%E7%A8%8B%E4%B9%8BCMake%E4%BB%8E%E5%85%A5%E9%97%A8%E5%88%B0%E5%BA%94%E7%94%A8/

https://cmake.org/cmake/help/latest/guide/tutorial/index.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章