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")