Skip to content
Use CMake to create a project with GLFW - Multi-platform Windows, Linux and MacOS.
CMake C++
Branch: master
Clone or download

Latest commit

Latest commit 033c8c3 Feb 10, 2020

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github
glfw @ d973acc
.gitignore
.gitmodules
CMakeLists.txt
README.md
main.cpp

README.md

Support our work through GitHub Sponsors or Patreon

Become a Patron

GLFW CMake starter

This starter project shows how to use CMake to create a project with GLFW. The code is multi-platform and runs on Windows, Linux and MacOS.

GLFW homepage: glfw.org
GLFW on GitHub: github.com/glfw/glfw

Getting the code

The easiest way to get hold of the starter code is to run the following command using a shell you can run git from:

git clone --recursive https://github.com/juliettef/GLFW-CMake-starter

If you are on Windows you can download git from git-scm.com/download/win and use the right click menu in Windows File Explorer to "Git Bash here" and then run git commands.

This will create the directory GLFW-CMake-starter and get the latest source code, using the --recursive option to download the GLFW code which is included in the repository as a submodule. If you want to run further git commands from the command line you'll need to cd into the directory:

cd GLFW-CMake-starter

Alternatively you can use a git GUI program such as Fork to get the code. Most of these will automatically download the git submodules.

If you download the code from GitHub via the "Download ZIP" approach, you'll also need to download GLFW into the glfw folder. The correct version can be found by clicking on the glfw folder you see on the front page of the GLFW-CMake-starter GitHub repository.

Using CMake to create the project

From a command prompt in the GLFW-CMake-starter directory:

  1. mkdir build
  2. cd build
  3. cmake ..
  4. Either run make all or for Visual Studio open GLFW-CMake-starter.sln

The GLFW-CMake-starter Window should open.

You can’t perform that action at this time.