add_libraries, add_executable, target_link_libraries, link_libraries用法

相关命令用法

add_libraries将指定的源文件生成库文件
add_executable将指定的源文件生成可执行文件
target_link_libraries跟在add_xxxx后,表示在上述两命令生成的文件后进行外部库的链接。
link_libraries已弃用,用法是在上述两add前进行外部库链接,不需要写target。

示例:

cmake_minimum_required(VERSION 3.20)
project(getStatus)

set(CMAKE_CXX_STANDARD 14)

set(SOURCE_FILES getStatus.cpp)

add_library(${PROJECT_NAME} SHARED ${SOURCE_FILES})

target_link_libraries(${PROJECT_NAME} HD)

参考来源

多文件目录

外层目录需要用add_subdirectory()包含子目录,才可检测到子目录的CMAKELISTS;

CMAKE_MINIMUM_REQUIRED(VERSION 3.20)
project(TouchX_Status)

set(CMAKE_CXX_STANDARD 14)
message(${PROJECT_SOURCE_DIR})
add_subdirectory(${PROJECT_SOURCE_DIR}/src)
#include_directories(${PROJECT_SOURCE_DIR}/src)

add_executable(${PROJECT_NAME} main.cpp)
target_link_libraries(${PROJECT_NAME} getStatus)