* 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.
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.
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
* Added a windows and linux simple compile with cmake
Will expand on the file but it will be nice to know if they are some extremely breaking changes in the future. cmake.yml will run two task one for linux build and one for windows build essentially checking that both are working. We can add all platforms later.
* Renaming the task to "CMake Builds" and removing the test step.
Commented out the test step as I don't yet know what the two bash files are doing but they are failing the build.
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.
* Better ignore support for idea projects.
Added a wildcard at the end because different configurations would have a diffeerent build directory.
* Removed external from being a relative include directory for target raylib.
Fixes#1533
* 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>
* simple_game: Configure Make and makefile for Linux environments
* simple_game: Fix build issues on Android plaform with Linux HOST
The Makefile.Android.linux file was out of date with the rest of the
project, so this commit updates the paths, as well as leaving some as
optional, if it is already configured as an environment variable.
In addition, it corrects the build error related to static raylib:
the makefile was trying to generate libmain.so using the path of the
NDK libraries, instead of using those of the Android system, which
resulted in crashes in the generated apk.
* Don't create an ortho matrix when the viewport is 0 in any axis.
Not all compilers divide by 0 and return inf, some segfault.
The matrix is not used by anything when minimized, so it just needs to not be called.
* Better fix that always ensures the rlgl matrix is always valid
* Better fix that always ensures the rlgl matrix is always valid