CMake备忘录

在使用CMake之前,我完全没想过会遇到那么多棘手的问题。官方文档叙述的相当隐晦,网络上流传的很多用法都过时了。

首先CMakeList.txt是必要的。

project(nt VERSION 1.0.0 LANGUAGES CXX)
add_executable(nt src/main.cc)

add_library(futils src/futils.cc)

target_include_directories(futils
  PUBLIC
    $
    $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
  PRIVATE
    ${CMAKE_CURRENT_SOURCE_DIR}/src
)
target_link_libraries(nt futils)
target_compile_options(nt PRIVATE -Werror)
target_compile_features(nt PRIVATE cxx_std_17)

这是个最简易的模板,后续想到什么再补充。

Leave a Reply

Your email address will not be published. Required fields are marked *