Lines Matching +full:cmake +full:- +full:version
11 @section compile_cmake Using CMake
13 GLFW uses [CMake](http://www.cmake.org/) to generate project files or makefiles
14 for a particular development environment. If you are on a Unix-like system such
16 Homebrew, you can simply install its CMake package. If not, you can download
17 installers for Windows and OS X from the [CMake website](http://www.cmake.org/).
19 @note CMake only generates project files or makefiles. It does not compile the
27 Once you have installed CMake, make sure that all other dependencies are
36 contains all the necessary headers, link libraries and tools except for CMake.
40 @subsubsection compile_deps_mingw Dependencies for MinGW or MinGW-w64 on Windows
42 Both the MinGW and the MinGW-w64 packages already contain all the necessary
43 headers, link libraries and tools except for CMake. Move on to @ref
47 @subsubsection compile_deps_mingw_cross Dependencies for MinGW or MinGW-w64 cross-compilation
49 Both Cygwin and many Linux distributions have MinGW or MinGW-w64 packages. For
50 example, Cygwin has the `mingw64-i686-gcc` and `mingw64-x86_64-gcc` packages
51 for 32- and 64-bit version of MinGW-w64, while Debian GNU/Linux and derivatives
52 like Ubuntu have the `mingw-w64` package for both.
54 GLFW has CMake toolchain files in the `CMake/` directory that allow for easy
55 cross-compilation of Windows binaries. To use these files you need to add a
59 cmake -DCMAKE_TOOLCHAIN_FILE=<toolchain-file> .
63 MinGW-w64 binaries on your system. You can usually see this in the /usr
64 directory. For example, both the Debian/Ubuntu and Cygwin MinGW-w64 packages
65 have `/usr/x86_64-w64-mingw32` for the 64-bit compilers, so the correct
69 cmake -DCMAKE_TOOLCHAIN_FILE=CMake/x86_64-w64-mingw32.cmake .
73 [CMake Cross Compiling](http://www.paraview.org/Wiki/CMake_Cross_Compiling) on
74 the CMake wiki.
81 Xcode comes with all necessary tools except for CMake. The required headers
92 distributions based on Debian GNU/Linux, you need to install the `xorg-dev`
99 @subsection compile_generate Generating build files with CMake
102 files or makefiles for your development environment. CMake needs to know two
105 compiled binaries. If these are the same, it is called an in-tree build,
106 otherwise it is called an out-of-tree build.
108 One of several advantages of out-of-tree builds is that you can generate files
115 @subsubsection compile_generate_cli Generating files with the CMake command-line tool
117 To make an in-tree build, enter the _root_ directory of the GLFW source tree
118 (i.e. _not_ the `src` subdirectory) and run CMake. The current directory is
123 cd <glfw-root-dir>
124 cmake .
127 To make an out-of-tree build, make a directory outside of the source tree, enter
128 it and run CMake with the (relative or absolute) path to the root of the source
132 mkdir glfw-build
133 cd glfw-build
134 cmake <glfw-root-dir>
141 @subsubsection compile_generate_gui Generating files with the CMake GUI
143 If you are using the GUI version, choose the root of the GLFW source tree as
162 @subsection compile_options CMake options
164 The CMake files for GLFW provide a number of options, although not all are
166 among projects using CMake and so have no `GLFW_` prefix.
168 If you are using the GUI version of CMake, these are listed and can be changed
169 from there. If you are using the command-line version of CMake you can use the
172 `cmake-curses-gui` package.
174 Finally, if you don't want to use any GUI, you can set options from the `cmake`
175 command-line with the `-D` flag.
178 cmake -DBUILD_SHARED_LIBS=ON .
182 @subsubsection compile_options_shared Shared CMake options
204 @subsubsection compile_options_osx OS X specific CMake options
216 @subsubsection compile_options_win32 Windows specific CMake options
218 `USE_MSVC_RUNTIME_LIBRARY_DLL` determines whether to use the DLL version or the
219 static library version of the Visual C++ runtime library. If set to `ON`, the
220 DLL version of the Visual C++ library is used.
224 high-performance GPU on Nvidia Optimus and AMD PowerXpress systems. These symbols
231 If you wish to compile GLFW without its CMake build environment then you will
234 being compiled for and also has optional, platform-specific ones for various
237 When building with CMake, the `glfw_config.h` configuration header is generated
238 based on the current platform and CMake options. The GLFW CMake environment
241 macros to be defined on the command-line.
246 - `_GLFW_COCOA` to use the Cocoa frameworks
247 - `_GLFW_WIN32` to use the Win32 API
248 - `_GLFW_X11` to use the X Window System
249 - `_GLFW_WAYLAND` to use the Wayland API (experimental and incomplete)
250 - `_GLFW_MIR` to use the Mir API (experimental and incomplete)
257 external version.
261 - `_GLFW_USE_EGLPLATFORM_H` to use `EGL/eglplatform.h` for native handle
267 - `_GLFW_HAS_XF86VM` to use Xxf86vm as a fallback when RandR gamma is broken
273 - `_GLFW_USE_CHDIR` to `chdir` to the `Resources` subdirectory of the
275 - `_GLFW_USE_MENUBAR` to create and populate the menu bar when the first window
277 - `_GLFW_USE_RETINA` to have windows use the full resolution of Retina displays