为深圳大学计算机图形学的实验代码提供基于 CMake 的构建方案
使用你的包管理器 (apt, pacman, ...) 安装如下的包
freeglut
>= 3glew
>= 2cmake
-
vcpkg
- 安装
vcpkg
(具体请见 vcpkg 的 github 主页) vcpkg install freeglut glew
- 安装
cmake
(具体请见 CMake 的官方页面)
- 安装
-
MSYS2
- 安装
MSYS2
(具体请见 msys2 的官方页面) pacman -S mingw-w64-x86_64-freeglut mingw-w64-x86_64-glew cmake mingw-w64-x86_64-toolchain
- 安装
欲知更多有关信息, 请参见 CMake 官方网站, 维基百科的构建自动化页面, 维基百科的 CMake 页面
cd OpenGL-SZU
cmake -B build
cd build
make
-
Visual Studio
-
进入此仓库的根目录
cd OpenGL-SZU
-
cmake -G "Visual Studio 14 2015 Win64" -B build
,这个命令会生成用于 VS2015 的工程文件, 如果要生成其他 VS 版本的工程文件, 请参照
cmake --help
的输出结果中 Generators 部分的内容, 对"Visual Studio 14 2015 Win64"
进行相应修改 -
打开
build/
目录下的.sln
文件
如果使用 Visual Studio 2019, 则可以省略以上步骤, 直接打开此仓库. 具体请见 Visual Studio 的这篇文档
-
-
Visual Studio Code
- 在 VSCode 中, 安装插件: C/C++, CMake Tools
- 在 VSCode 中打开此仓库
- 打开命令面板 (
Ctrl+Shift+P
), 运行 CMake: Select a Kit 来选择你喜欢的构建方式 - 点击下方的状态栏里的 build
-
CLion
- 在 Clion 中, 选择 File - Open, 选择此仓库的根目录 (具体请见 此页面)
- 此仓库默认的源文件可以经过编译得到一个俄罗斯方块游戏, 屏幕截图如下所示
- 不限于默认的俄罗斯方块游戏,这里提供的代码也可以构建生成其它程序,只需要进行很小的修改,具体请见下方的说明
- 默认情况下, 生成的可执行文件会位于构建目录 (
build
) 下的bin
文件夹中
- 将新的源文件放置在
src
文件夹下 - 在 CMakeList.txt 文件的
# add source files
部分中添加对应的条目
比如你添加了 src/camera.cpp
文件, 那么新的 CMakeLists
文件中有关源文件的部分应当如下:
# add source files
target_sources(main
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/src/main.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/Common/InitShader.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/camera.cpp) # 新加入的源文件在这里
- 将新的头文件放置在
include
文件夹下 - 在源文件中正确地进行引用
比如你添加了 include/camera.hpp
这个头文件.
如果要在源代码中引用此文件, 使用语句 #include <camera.hpp>
把你的资源文件 (例如 .glsl
, .jpg
) 放置在 resource
文件夹中,
所有位于 resource
文件夹中的文件都自动会被拷贝至可执行文件所在的目录
(bin
) 中