Installing the GLFW library in Mac OS X and Linux
The installation procedures for Mac and Linux are essentially identical using the command-line interface. To simplify the process, we recommend that you use MacPorts for Mac users.
Getting ready
We assume that you have successfully installed the basic development tools, including CMake, as described in the earlier section. For maximum flexibility, we can compile the library directly from the source code (refer to http://www.glfw.org/docs/latest/compile.html and http://www.glfw.org/download.html).
How to do it...
For Mac users, enter the following command in a terminal to install GLFW using MacPorts:
sudo port install glfw
For Linux users (or Mac users who would like to practice using the command-line tools), here are the steps to compile and install the GLFW source package directly with the command-line interface:
- Create a new folder called
opengl_dev
and change the current directory to the new path:mkdir ~/opengl_dev cd ~/opengl_dev
- Obtain a copy of the GLFW source package (
glfw-3.0.4
) from the official repository: http://sourceforge.net/projects/glfw/files/glfw/3.0.4/glfw-3.0.4.tar.gz. - Extract the package.
tar xzvf glfw-3.0.4.tar.gz
- Perform the compilation and installation:
cd glfw-3.0.4 mkdir build cd build cmake ../ make && sudo make install
How it works...
The first set of commands create a new working directory to store the new files retrieved using the wget
command, which downloads a copy of the GLFW library to the current directory. The tar xzvf
command extracts the compressed packages and creates a new folder with all the contents.
Then, the cmake
command automatically generates the necessary build files that are needed for the compilation process to the current build
directory. This process also checks for missing dependencies and verifies the versioning of the applications.
The make
command then takes all instructions from the Makefile script that is generated automatically and compiles the source code into libraries.
The sudo make install
command installs the library header files as well as the static or shared libraries onto your machine. As this command requires writing to the root directory, the sudo
command is needed to grant such permissions. By default, the files will be copied to the /usr/local
directory. In the rest of the book, we will assume that the installations follow these default paths.
For advanced users, we can optimize the compilation by configuring the packages with the CMake GUI (cmake-gui
).
For example, you can enable the BUILD_SHARED_LIBS
option if you are planning to compile the GLFW library as a shared library. In this book, we will not explore the full functionality of the GLFW library, but these options can be useful to developers who are looking for further customizations. Additionally, you can customize the installation prefix (CMAKE_INSTALL_PREFIX
) if you would like to install the library files at a separate location.