GLFW-CMake-starter 项目使用教程
1. 项目的目录结构及介绍
GLFW-CMake-starter/
├── CMakeLists.txt
├── README.md
├── licence.txt
├── main.cpp
└── glfw/
├── include/
├── src/
└── CMakeLists.txt
- CMakeLists.txt: 顶层CMake配置文件,用于配置整个项目。
- README.md: 项目说明文档。
- licence.txt: 项目许可证文件。
- main.cpp: 项目的主程序文件。
- glfw/: 包含GLFW库的文件夹,包括头文件、源文件和GLFW的CMake配置文件。
2. 项目的启动文件介绍
main.cpp:
#include <GLFW/glfw3.h>
#include <iostream>
int main() {
if (!glfwInit()) {
std::cerr << "Failed to initialize GLFW" << std::endl;
return -1;
}
GLFWwindow* window = glfwCreateWindow(640, 480, "GLFW Window", nullptr, nullptr);
if (!window) {
std::cerr << "Failed to create GLFW window" << std::endl;
glfwTerminate();
return -1;
}
glfwMakeContextCurrent(window);
while (!glfwWindowShouldClose(window)) {
glClear(GL_COLOR_BUFFER_BIT);
glfwSwapBuffers(window);
glfwPollEvents();
}
glfwDestroyWindow(window);
glfwTerminate();
return 0;
}
- main.cpp 是项目的入口文件,负责初始化GLFW、创建窗口并进入主循环。
3. 项目的配置文件介绍
CMakeLists.txt:
cmake_minimum_required(VERSION 3.0)
project(GLFW-CMake-starter)
set(GLFW_SOURCE_DIR ${CMAKE_SOURCE_DIR}/glfw)
add_subdirectory(${GLFW_SOURCE_DIR})
find_package(OpenGL REQUIRED)
add_executable(GLFW-CMake-starter main.cpp)
target_link_libraries(GLFW-CMake-starter ${OPENGL_LIBRARIES} glfw)
target_include_directories(GLFW-CMake-starter PRIVATE ${GLFW_SOURCE_DIR}/deps)
if(MSVC)
if(${CMAKE_VERSION} VERSION_LESS "3.6.0")
message(
"\n\t[ WARNING ]\n\n\tCMake version lower than 3.6 \n\n\t - Please update CMake and rerun OR\n\t - Manually set 'GLFW-CMake-starter' as StartUp Project in Visual Studio \n"
)
else()
set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT GLFW-CMake-starter)
endif()
endif()
- CMakeLists.txt 是项目的CMake配置文件,定义了项目的基本信息、依赖项和编译选项。
- 它指定了GLFW库的路径,并链接了OpenGL库。
- 还包含了针对Visual Studio的特定配置,确保项目能够正确启动。