summaryrefslogtreecommitdiffhomepage
path: root/cmake
AgeCommit message (Collapse)Author
2021-06-09There no longer is a library glfw_objlib and now it is only glfw. (#1818)Hristo Stamenov
2021-05-25Bumped minimum GLFW vers in cmake (#1788)Ben Beshara
2021-04-09Enable DRM platform cross compilation support (#1717)Jon
* Log a warning if chdir failed, use agnostic CHDIR instead of chdir * Only include libdrm directory explicitly when not cross compiling
2021-03-08Added SUPPORT_STANDARD_FILEIO flag support for the CMake build system (#1638)Kirottu
* Update CMakeOptions.txt * Update config.h.in * Added SUPPORT_STANDARD_FILEIO to CMakeOptions.txt * Fixed typo * Added SUPPORT_STANDARD_FILEIO to CompileDefinitions.cmake Co-authored-by: KirottuM <[email protected]>
2021-01-26Documentation cmake (#1549)hristo
* Documenting the compiler flags * Moved some android compiler flags and added documentation on them too. * Some more restructuring. Removed unnecessary comments that were self described by the code. Added some more explanations around certain parts of CMake and especially around compiler flags.
2021-01-25Removing config.h.in file (#1546)hristo
CMake relied on this file for configurations and also was interfering in the regular config.h by having a separate definition if building with CMake. This was not entirely correct so instead we will define compile time definitions separately through CMake (CompileDefinitions.cmake) and also will use the provided EXTERNAL_CONFIG_FLAGS that I found that will not use config.h in through the build process. I also introduced a new compiler option (CUSTOMIZE_BUILD) that when OFF will use the default config.h and when ON will show other options for redefining your own options. Fixed an error in rlgl.h where if you have both RLGL_STANDALONE and SUPPORT_VR_SIMULATOR you get a compile time error.
2021-01-25Removing test file. (#1545)hristo
This test file is just testing compilation with the library works correctly but is no longer needed because: - it is not cross platform - it taps into the CTest system which is better suited for real unit/integration tests - it can be incorporated into the pipeline of github actions instead in the future
2021-01-22Fix issue when trying to build raylib statically (#1544)Nikolas
2021-01-22Remove STATIC and SHARED variables. (#1542)hristo
As described in the official documentation https://cmake.org/cmake/help/v3.0/variable/BUILD_SHARED_LIBS.html this flag is global by default and controls if the library will be built as a shared or a static library allowing us to define only one call to the add_library function (without specifying its type). It is also added as an option to be visible in CMake GUI applications.
2021-01-13Big cmake changes (#1514)hristo
* Delete emscripten.cmake This file is not needed at this point. EMSDK provides a toolchain file that has a lot more things in it and is better supported. Project currently works fine with the documentation provided in Emscripten SDK on how to build projects. * First pass file separation. The main two files are cleaner now. Only important things can be seen. Major changes include: - raylib_static is now the alias instead of raylib - Repeating segments are removed and pulled into separate files into <root>/cmake - File is reordered to make more sense - Installs are better structured - Library is build into an output directory "raylib" instead of "src" - All public header files are now set as a public header file - Source files need to be listed (it is a bad practice to capture them using wildcards and file globs) - CMakeLists are better commented * Second pass on the example dirs. They are quite complex so I'm more hesitant to do major changes. Also it works pretty well. Noticed that I forgot one of the seperated files and added it into src/CMakeLists.txt. * Returned the header copy as it was convenient to have the public headers copied. * A better description to the variable RAYLIB_IS_MAIN Co-authored-by: Rob Loach <[email protected]> * Remove debug message Co-authored-by: Rob Loach <[email protected]> * Improvements based on review. * Simplify the install condition to not be platform specific as it was before. Co-authored-by: Alexander Neumann <[email protected]> * Remove some CMAKE variables as they don't affect the build in any way Co-authored-by: Alexander Neumann <[email protected]> Co-authored-by: Rob Loach <[email protected]> Co-authored-by: Alexander Neumann <[email protected]>
2020-12-13Fixed the build for web using CMake. (#1452)hristo
* Fixed the build for web using CMake. I found that the build for me was failing and I added some if defined checks in the core.c file where the glfwSetWindowAttrib was used. (error: implicit declaration of function 'glfwSetWindowAttrib' is invalid in C99 [-Werror,-Wimplicit-function-declaration]) I also changed some values in the toolchain file so that it correctly uses the .bat files when on windows. * Cleaned up the additional variables (they are not important) * Added more improvements to cmakelists Added the option to use the system provided Emscripten toolchain to be more uniform with other libraries. Fixed and issue which prevented example being built from cmake and also building with html extensions properly. * Fixed ENUM to STRING because of a missed warning
2020-09-25Add join_paths and join prefix with include/lib dirs (#1383)Adam Griffiths
Fixes #1380: incorrect usage of CMake paths which causes issues on some more complicated environments (NixOS especially).
2020-04-08Revert "CMake: Don't create symlinks on unsupporting file systems (#539)"Ahmad Fatoum
As noted in #539, the symlink check was to support compiling raylib on VirtualBox vboxfs as no symlinks are supported there. With me using Linux as daily driver outside VirtualBox now, this 'feature' is most likely unused by anyone, but still annoys other users (#791). Just revert it and be done with it. If there are really others building raylib on vboxfs or a similarly crippled file system under Linux, they should now step forward when their build breaks. This reverts commit b8ca51fd01a68b9b6040f8c3c631eedefd7d7735.
2020-04-08ignore symlink creation failure errorShy
2019-07-24CMake: fix dependency build with -Draylib_USE_STATIC_LIBS=ONAhmad Fatoum
Fixes #899, which made apparent three issues with how static libraries are handled in raylib-config.cmake: - XPREFIX is set before pkg_check_modules, which causes a duplicate STATIC in variables, e.g. PC_RAYLIB_STATIC_STATIC_.* - raylib_static is searched for, but no library exists with that name - raylib_LDFLAGS isn't populated properly This commit fixes these.
2019-04-09Take care of raylib_USE_STATIC_LIBS when calling find_librarymyd7349
2019-04-09Fix CMake support on Win32myd7349
2018-07-29CMake: Major cleanup to support find_package(raylib)Ahmad Fatoum
Remove that link_libraries_to_executable() hack and defines a proper raylib target that can be used with target_link_libraries. The same target is also available for external (user) code by using find_package(raylib). This results in: - Remove hardcoded build directories from examples and games CMakeLists.txt - Allow rlgl_standalone and other special examples to be built easily - Allow CMake projects to find_package(raylib instead of fiddling with pkg-config - Makes code a little more maintainable - Fixes #471, #606. - Makes code less confusing by removing the double use of PLATFORM (#584). Note that this is still not _The Right Way_(TM), because normally raylib-config.cmake (or its includes) would be automatically generated. I didn't manage to get that to work though, so I went the easier route of just wrapping pkg_check_modules for consumption by find_package.
2018-07-29Travis CI: Add OpenAL-ConfigurationAhmad Fatoum
2018-07-23CMake: Fail when -D{PLATFORM,OPENGL_VERSION}=INVALID_VALUEAhmad Fatoum
as well as -DUSE_EXTERNAL_GLFW. Nips issues like #584 in the bud.
2018-07-03Travis CI: Add test case for pkg-configAhmad Fatoum
2018-07-03CMake: Reuse libraries found by glfw CMake configAhmad Fatoum
if (${PLATFORM} MATCHES "Desktop") target_link_libraries(${RAYLIB}_shared glfw ${GLFW_LIBRARIES}) was never true because PLATFORM STREQUAL "PLATFORM_DESKTOP"... This fixes #551 and makes the changes suggested in #552 (commited as 965cc8ab) unnecessary.
2018-06-23Added support DragonFly os from BSD family[email protected]
2018-05-26CMake: Fix cannot find -lX11 (#552)M
Temporary measure to fix a breakage on FreeBSD. See #551 for more details.
2018-05-21cmake: Fix PLATFORM_WEB buildAhmad Fatoum
Did this ever work? Surely, doesn't look like it...
2018-05-21CMake: Fix (Add?) Android supportAhmad Fatoum
Not sure if this ever worked, but now it at least compiles.
2018-05-21CMake: Move reusable code to new cmake/ directoryAhmad Fatoum
2018-05-21CMake: Add default build type if none specifiedAhmad Fatoum
Release, unless we are in a Git repo, then it's Debug.
2018-05-21Move utils.cmake to separate cmake/ directoryAhmad Fatoum