CMakeLists.txt例子

# 需求的最低的cmake程序版本
cmake_minimum_required(VERSION 3.12)

# 本工程的名字
project(OpenGLTEST1)

# 本工程支持的C++版本
set(CMAKE_CXX_STANDARD 17)

# 指定 GLFW 和 GLEW 的头文件目录


# 定义 GLEW_STATIC
add_definitions(-DGLEW_STATIC)

# 将funcs文件夹纳入到编译系统
#add_subdirectory(funcs)

# 搜索所有cpp文件并加入到变量中
aux_source_directory(. SRCS)
message(STATUS "Source files: ${SRCS}")

# 生成可执行文件
add_executable(glStudy ${SRCS})
# 链接库文件

 

#把需要拷贝的资源路径都放到ASSETS里面
file(GLOB ASSETS "./assets""thirdpart/")
#把Assets指代的目录集合的内容,都拷贝到可执行文件目录下
file(COPY $(ASSETS) DESTINATION $(CMAKE_BINARY_DIR)

  

#递归将文件夹下面所有的CPP放入到FUNCS中
file(GLOB_RECURSE FUNCS ./ *.cpp)
#将FUNCS中的所有CPP编译为FUNCS这个LIB库
add_library(funcs $(funcs))

  

cmake_minimum_required(VERSION 2.8)

project(waterpro)
set(CMAKE_INCLUDE_CURRENT_DIR ON)

if(${CMAKE_MAJOR_VERSION} LESS 3 OR (${CMAKE_MAJOR_VERSION} EQUAL 3 AND ${CMAKE_MINOR_VERSION} LESS 16))
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g")
    message(STATUS "Adding -g to CXX_FLAGS because CMake is less than 3.16")
endif()

add_executable(${PROJECT_NAME} "main.cpp")

  

posted @ 2025-01-09 10:46  飞雪飘鸿  阅读(4)  评论(0编辑  收藏  举报
https://damo.alibaba.com/ https://tianchi.aliyun.com/course?spm=5176.21206777.J_3941670930.5.87dc17c9BZNvLL