9821725c6b
* 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>
40 lines
1.3 KiB
CMake
40 lines
1.3 KiB
CMake
if(NOT (STATIC OR SHARED))
|
|
message(FATAL_ERROR "Nothing to do if both -DSHARED=OFF and -DSTATIC=OFF...")
|
|
endif()
|
|
|
|
if (DEFINED BUILD_SHARED_LIBS)
|
|
set(SHARED ${BUILD_SHARED_LIBS})
|
|
if (${BUILD_SHARED_LIBS})
|
|
set(STATIC OFF)
|
|
else()
|
|
set(STATIC ON)
|
|
endif()
|
|
endif()
|
|
if(DEFINED SHARED_RAYLIB)
|
|
set(SHARED ${SHARED_RAYLIB})
|
|
message(DEPRECATION "-DSHARED_RAYLIB is deprecated. Please use -DSHARED instead.")
|
|
endif()
|
|
if(DEFINED STATIC_RAYLIB)
|
|
set(STATIC ${STATIC_RAYLIB})
|
|
message(DEPRECATION "-DSTATIC_RAYLIB is deprecated. Please use -DSTATIC instead.")
|
|
endif()
|
|
|
|
if(${PLATFORM} MATCHES "Desktop" AND APPLE)
|
|
if(MACOS_FATLIB)
|
|
if (CMAKE_OSX_ARCHITECTURES)
|
|
message(FATAL_ERROR "User supplied -DCMAKE_OSX_ARCHITECTURES overrides -DMACOS_FATLIB=ON")
|
|
else()
|
|
set(CMAKE_OSX_ARCHITECTURES "x86_64;i386")
|
|
endif()
|
|
endif()
|
|
endif()
|
|
|
|
# This helps support the case where emsdk toolchain file is used
|
|
# either by setting it with -DCMAKE_TOOLCHAIN_FILE=<path_to_emsdk>/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake
|
|
# or by using "emcmake cmake -B build -S ." as described in https://emscripten.org/docs/compiling/Building-Projects.html
|
|
if(EMSCRIPTEN)
|
|
SET(PLATFORM Web CACHE STRING "Forcing PLATFORM_WEB because EMSCRIPTEN was detected")
|
|
endif()
|
|
|
|
# vim: ft=cmake
|