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" ) |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通