目标 Targets

构造目标 Constructor

创建库, add_library() 接受一个参数, STATIC/SHARED/INTERFACE 等用于指定该库的类型:

  • STATIC, 生成静态库
  • SHARED, 生成动态库
  • INTERFACE, 用于处理只包含头文件的库, 这种库不需要编译操作.

创建可执行文件, add_executable().

创建自定义目标, add_custom_target().

add_library(Foo foo.cpp)
target_link_libraries(Foo PRIVATE Bar::Bar)

if (WIN32) 
  target_source(Foo PRIVATE foo_win32.cpp)
  target_link_libraries(Foo PRIVATE Bar::Win32Support)
endif()