跳至主要內容

07.CMakeLists文件编写

约 265 字小于 1 分钟

# 指定Cmake 版本号
cmake_minimum_required(VERSION 3.15)

# 设置项目名   project(项目名 语言)
project(projectName C)


# 设置C编译版本
set(CMAKE_C_STANDARD 11)

# 生成执行文件  add_executable(执行文件 源文件)
add_executable(test main.c)


# 添加头文件
include_directories(../include)

# 添加源文件
set(SOURCES aaaa.cpp  bbb.cpp ccc.cpp)
FILE(GLOB SRCS "*.cpp" "*.h")

# 生成一个库
add_library(
    srt-lib
    SRCS

    aaaa.cpp
)

# 搜索一个库
find_library(
    log-lib
    log
)

# 导入预构建库
add_library(ssl aa SRCS)
set_target_properties(srt sss ssss.a sss.so)

# 连接库
target_link_libraries(
    test
    log-lib
)


# 设置库的输出目录
set_target_properties(test sss bbb abcc)

if

# 设置变量
set(BT FALSE)
set(TEST TRUE)
##################   if 判断
if(${BT})
    message("if BT is true")
elseif(${TEST})
    message("if TEST is true")
else()
    message("else else else")
endif()

for

set(array_list 1 2 3 4 5 6 7 8 9)

############# 第一种
foreach(i ${array_list})
    message("i = ${i}")
endforeach()

############# 第二种
foreach(i IN LISTS array_list)
    message("i = ${i}")
endforeach()

############# 第三种
foreach(i RANGE 1 10 2)
    message("i = ${i}")
endforeach()

############# 第四种
foreach(i RANGE 10)
    message("i = ${i}")
endforeach()

############# 第五种
foreach(i 1 2 3 4 5 6 7 8 9 10)
    message("i = ${i}")
endforeach()

while

while(NOT a STREQUAL "xxxx")
        set(a "${a}x")
        message(">>>>>>>>> a = ${a}")
endwhile()