CMakeLists.txt例子

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# 需求的最低的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})<br># 链接库文件

 

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

  

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

  

1
2
3
4
5
6
7
8
9
10
11
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 @   飞雪飘鸿  阅读(3)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
https://damo.alibaba.com/ https://tianchi.aliyun.com/course?spm=5176.21206777.J_3941670930.5.87dc17c9BZNvLL
点击右上角即可分享
微信分享提示