Commit Graph

35 Commits

Author SHA1 Message Date
Stan
234576da71
Removed raylib_opengl_interop.c from PLATFORM=Web build (#2682) 2022-09-02 09:13:35 +02:00
archie2x
e87caa2687
Fix #2621: Set CMP0054 policy to NEW and appropriately quote ${PLATFORM} (#2622) 2022-08-09 09:52:56 +02:00
Richard Smith
3c3f08c416
Fix CMake build on Raspberry Pi OS Bullseye (#2548) 2022-06-24 10:50:24 +02:00
raysan5
9a568654be REMOVED: EXAMPLE: models_material_pbr 2021-10-12 12:46:41 +02:00
procfxgen
dfc465ca6d
new models_magicavoxel_loading example (#1940)
* new models_magicavoxel_loading example

* Portable header-only file "magicavoxel_loader.h" for MagicaVoxel loader example.

* models_magicavoxel_loading example added to CMakeLists.txt and Makefile

* fix models_magicavoxel_loading example for linux.

* * vox_loader into "src/external/vox_loader.h"
 * vox file support for "models.c"
 * updated example "models/models_magicavoxel_loading.c"

* * Fix Vox_FreeArrays (removed memory leak)

* * removed magicavoxel_loader.h

* * Revert vs2019 solution
2021-09-04 19:55:09 +02:00
hristo
88a6f16c9a
Documentation cmake (#1549)
* 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-26 14:34:27 +01:00
hristo
9821725c6b
Big cmake changes (#1514)
* 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 <robloach@gmail.com>

* Remove debug message

Co-authored-by: Rob Loach <robloach@gmail.com>

* Improvements based on review.

* Simplify the install condition to not be platform specific as it was before.

Co-authored-by: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com>

* Remove some CMAKE variables as they don't affect the build in any way

Co-authored-by: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com>

Co-authored-by: Rob Loach <robloach@gmail.com>
Co-authored-by: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com>
2021-01-13 23:10:02 +01:00
hristo
6e79476650
Fixed the build for web using CMake. (#1452)
* 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-12-13 20:29:47 +01:00
ivn
b73e7372d8
Fix for building examples with latest emsk (LLVM): remove EMTERPRETIFY, add ASYNCIFY (#1215) 2020-04-23 15:45:26 +02:00
Ahmad Fatoum
eb6f8bd0ba
Revert "Always use latest raylib version for cmake (#1123)" (#1126)
We didn't use the latest version, but a compatible version, which is established by raylib-config-version.cmake.

It's ok to have a minimal version, so revert b7c0d5b6dd.
2020-03-09 08:29:47 +01:00
G3bE
b7c0d5b6dd
Always use latest raylib version for cmake (#1123)
* Always use latest raylib version

* Always use latest raylib version

* Always use latest raylib version
2020-03-08 18:04:29 +01:00
Pablo Marcos Oltra
5d9df629d7 Fix generation of web examples (#1007)
At least on Linux, CMake seems to add automatically
the '-rdynamic' flag. As a result, Emscripten
generates a fat HTML file that does not work.
Removing it allows HTML+JS+WASM generation.
2019-11-01 19:09:38 +01:00
Aldrin Martoq
e19616592d Adding solar system examples. (#900) 2019-07-15 18:26:47 +02:00
Ray
9c991bd079 Remove example from Android building 2019-06-14 13:35:42 +02:00
Ray
be7e56f51e Move emscripten web shell to src 2019-05-22 10:40:51 +02:00
Ahmad Fatoum
0467f32cc1
examples: CMake: restrict OpenGL deprecation warnings to macOS 2019-05-15 08:13:20 +02:00
Ahmad Fatoum
43bfb979e5
examples: CMake: warn once only about macOS OpenGL deprecation
Otherwise compiling rlgl is too spammy. While at it remove
the now unneeded CheckIncludeFiles.
2019-05-04 23:05:30 +02:00
Ahmad Fatoum
2cda760312
examples: CMake: don't build core_loading_thread if no pthreads
The example requires pthreads and now C11 <stdatomic.h>, thus skip it
if either isn't available.

This also fixes the current Travis CI build failure for the
Windows configuration.
2019-05-04 21:23:41 +02:00
raysan5
55cb13f1b8 Remove example on Android 2019-04-28 15:46:08 +02:00
Ray
94335e30df Avoid example on Android 2019-04-08 12:50:09 +02:00
Piotr Balcer
3065cbbce9 cmake: preload resources into web examples
No examples built for the Web platform functioned properly due to lack
of resources in the virtual file system provided by emscripten.

This patch addresses this problem by adding
'--preload-file local_path/resources@resources' emcc option to link
flags whenever necessary.
2019-01-20 15:24:30 +01:00
Piotr Balcer
1bfa1b8696 cmake: use ALLOW_MEMORY_GROWTH=1 for web examples
The default memory limit for emscripten applications is 16 mergabytes,
which might be to little for some examples, especially given that the
resources are also included in that limit.

Normally, using this option disables some asm.js optimizations, but
there's no such cost for WebAssembly.
2019-01-20 14:49:22 +01:00
Marco Lizza
0fe56b1674 Adding basic palette-switching example using uniform arrays. 2019-01-09 16:20:56 +01:00
Ray
788bb78989 Some tweaks 2018-12-20 10:40:28 +01:00
Ray
5a9e03fddf Avoid example on Android compilation 2018-12-18 01:00:39 +01:00
Ahmad Fatoum
5a94a280d0
CMake: include rlgl_standalone in -DBUILD_EXAMPLES
With the recent CMake cleanup, getting raylib's dependencies for use
when building rlgl_standalone is quite straight forward, so lets enable
it again.

Fixes #508, just properly this time. :)
2018-07-29 12:35:36 +02:00
Ahmad Fatoum
3f09726331
CMake: Major cleanup to support find_package(raylib)
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-29 12:35:35 +02:00
Ahmad Fatoum
184e6de775
CMake: Don't build rlgl_standalone as part of the examples
Closes #588.
2018-07-25 00:51:42 +02:00
Pablo Marcos Oltra
fa0de480f0 Fix HTML5 examples and games using CMake (#589)
Mimic the Makefile by outputting html + js instead of LLVM IR.
2018-07-25 00:39:17 +02:00
Ray
98273f0152 Reviewed compilation options 2018-07-16 18:43:24 +02:00
Ahmad Fatoum
bd2300fed3
CMake+Android: Skip tests with SetCameraMode
src/core.c does explicitly skip including <camera.h> on Android
and tests fail. Therefore skip these failing tests.

Closes #507.
2018-05-21 01:17:13 +02:00
Ahmad Fatoum
20ddc6a2bb
Move utils.cmake to separate cmake/ directory 2018-05-21 01:08:28 +02:00
kai
bdb61306ac CMake: build shape and texture examples (#432) 2018-01-17 20:14:14 +01:00
Ahmad Fatoum
f991a075e1 Build examples and games on Travis CI
They were disabled because they failed to build,
but this patch set fixes the build on Linux and macOS.

This doesn't apply to the AppVeyor build on Windows yet;
it currently fails at linking with OpenAL.
2017-11-25 21:45:31 +01:00
ASDF
e173db19f7 CMake based build system.
Some people might find this handly
2017-08-27 13:28:02 -04:00