Build cglm¶
NOTE: If you only need to inline versions, you don’t need to build cglm, you don’t need to link it to your program. Just import cglm to your project as dependency / external lib by copy-paste then use it as usual
CMake (All platforms):¶
1 2 3 4 5 | $ mkdir build
$ cd build
$ cmake .. # [Optional] -DCGLM_SHARED=ON
$ make
$ sudo make install # [Optional]
|
make will build cglm to build folder. If you don’t want to install cglm to your system’s folder you can get static and dynamic libs in this folder.
CMake Options:
1 2 3 4 | option(CGLM_SHARED "Shared build" ON)
option(CGLM_STATIC "Static build" OFF)
option(CGLM_USE_C99 "" OFF) # C11
option(CGLM_USE_TEST "Enable Tests" OFF) # for make check - make test
|
Use as header-only library with your CMake project example This requires no building or installation of cglm.
1 2 3 4 5 6 7 8 9 | cmake_minimum_required(VERSION 3.8.2)
project(<Your Project Name>)
add_executable(${PROJECT_NAME} src/main.c)
target_link_libraries(${LIBRARY_NAME} PRIVATE
cglm_headers)
add_subdirectory(external/cglm/ EXCLUDE_FROM_ALL)
|
Use with your CMake project example
1 2 3 4 5 6 7 8 9 | cmake_minimum_required(VERSION 3.8.2)
project(<Your Project Name>)
add_executable(${PROJECT_NAME} src/main.c)
target_link_libraries(${LIBRARY_NAME} PRIVATE
cglm)
add_subdirectory(external/cglm/)
|
Unix (Autotools):¶
1 2 3 4 5 | $ sh autogen.sh
$ ./configure
$ make
$ make check # run tests (optional)
$ [sudo] make install # install to system (optional)
|
make will build cglm to .libs sub folder in project folder. If you don’t want to install cglm to your system’s folder you can get static and dynamic libs in this folder.
Windows (MSBuild):¶
Windows related build files, project files are located in win folder, make sure you are inside in cglm/win folder.
Code Analysis are enabled, it may take awhile to build.
1 2 | $ cd win
$ .\build.bat
|
if msbuild is not worked (because of multi versions of Visual Studio) then try to build with devenv:
1 | $ devenv cglm.sln /Build Release
|
Currently tests are not available on Windows.
Documentation (Sphinx):¶
cglm uses sphinx framework for documentation, it allows lot of formats for documentation. To see all options see sphinx build page:
https://www.sphinx-doc.org/en/master/man/sphinx-build.html
Example build:
1 2 | $ cd cglm/docs
$ sphinx-build source build
|