From 69e147417b68c4d650e0a87be07bc7d96824229b Mon Sep 17 00:00:00 2001 From: Ahmad Fatoum Date: Fri, 27 Jul 2018 18:17:18 +0200 Subject: Travis CI: Add OpenAL-Configuration --- src/CMakeLists.txt | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 05e3c0d2..e6cfe8b1 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -40,10 +40,16 @@ endif() include(utils) if(USE_AUDIO) + if (NOT USE_OPENAL_BACKEND) + file(GLOB mini_al external/mini_al.c) + MESSAGE(STATUS "Audio Backend: mini_al") + else() + MESSAGE(STATUS "Audio Backend: OpenAL") + endif() file(GLOB stb_vorbis external/stb_vorbis.c) - file(GLOB mini_al external/mini_al.c ${stb_vorbis}) - set(sources ${raylib_sources} ${mini_al}) + set(sources ${raylib_sources} ${mini_al} ${stb_vorbis}) else() + MESSAGE(STATUS "Audio Backend: None (-DUSE_AUDIO=OFF)") set(INCLUDE_AUDIO_MODULE 0) list(REMOVE_ITEM raylib_sources ${CMAKE_CURRENT_SOURCE_DIR}/audio.c) set(sources ${raylib_sources}) -- cgit v1.2.3 From 3e5093eab0ef4949e9e08fda5de0cd3d31b7e2c1 Mon Sep 17 00:00:00 2001 From: Ahmad Fatoum Date: Fri, 27 Jul 2018 18:28:37 +0200 Subject: CI: Build with all optional formats enabled also makes one configuration shared-only dr_flac is not built on i386, because GCC 4.8 complains about asm("cpuid" clobbering ebx, as it's using ebx for PIC. Instead of downloading a newer GCC (and multilib), disable FLAC for that one configuration... --- src/CMakeOptions.txt | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/CMakeOptions.txt b/src/CMakeOptions.txt index a9cd4354..5fab1cab 100644 --- a/src/CMakeOptions.txt +++ b/src/CMakeOptions.txt @@ -23,6 +23,9 @@ if(UNIX AND NOT APPLE) option(USE_WAYLAND "Use Wayland for window creation" OFF) endif() +option(INCLUDE_EVERYTHING "Include everything disabled by default (for CI usage" OFF) +set(OFF ${INCLUDE_EVERYTHING} CACHE INTERNAL "Replace any OFF by default with \${OFF} to have it covered by this option") + # core.c option(SUPPORT_BUSY_WAIT_LOOP "Use busy wait loop for timing sync instead of a high-resolution timer" ON) @@ -48,13 +51,13 @@ option(SUPPORT_FILEFORMAT_DDS "Support loading DDS as textures" ON) option(SUPPORT_FILEFORMAT_HDR "Support loading HDR as textures" ON) option(SUPPORT_FILEFORMAT_KTX "Support loading KTX as textures" ON) option(SUPPORT_FILEFORMAT_ASTC "Support loading ASTC as textures" ON) -option(SUPPORT_FILEFORMAT_BMP "Support loading BMP as textures" OFF) -option(SUPPORT_FILEFORMAT_TGA "Support loading TGA as textures" OFF) -option(SUPPORT_FILEFORMAT_JPG "Support loading JPG as textures" OFF) -option(SUPPORT_FILEFORMAT_GIF "Support loading GIF as textures" OFF) -option(SUPPORT_FILEFORMAT_PSD "Support loading PSD as textures" OFF) -option(SUPPORT_FILEFORMAT_PKM "Support loading PKM as textures" OFF) -option(SUPPORT_FILEFORMAT_PVR "Support loading PVR as textures" OFF) +option(SUPPORT_FILEFORMAT_BMP "Support loading BMP as textures" ${OFF}) +option(SUPPORT_FILEFORMAT_TGA "Support loading TGA as textures" ${OFF}) +option(SUPPORT_FILEFORMAT_JPG "Support loading JPG as textures" ${OFF}) +option(SUPPORT_FILEFORMAT_GIF "Support loading GIF as textures" ${OFF}) +option(SUPPORT_FILEFORMAT_PSD "Support loading PSD as textures" ${OFF}) +option(SUPPORT_FILEFORMAT_PKM "Support loading PKM as textures" ${OFF}) +option(SUPPORT_FILEFORMAT_PVR "Support loading PVR as textures" ${OFF}) # models.c option(SUPPORT_FILEFORMAT_OBJ "Support loading OBJ file format" ON) @@ -66,11 +69,11 @@ option(SUPPORT_FILEFORMAT_WAV "Support loading WAV for sound" ON) option(SUPPORT_FILEFORMAT_OGG "Support loading OGG for sound" ON) option(SUPPORT_FILEFORMAT_XM "Support loading XM for sound" ON) option(SUPPORT_FILEFORMAT_MOD "Support loading MOD for sound" ON) -option(SUPPORT_FILEFORMAT_FLAC "Support loading FLAC for sound" OFF) +option(SUPPORT_FILEFORMAT_FLAC "Support loading FLAC for sound" ${OFF}) # utils.c option(SUPPORT_SAVE_PNG "Support saving image data in PNG file format" ON) -option(SUPPORT_SAVE_BMP "Support saving image data in BMP file format" OFF) +option(SUPPORT_SAVE_BMP "Support saving image data in BMP file format" ${OFF}) option(SUPPORT_TRACELOG "Show TraceLog() output messages. NOTE: By default LOG_DEBUG traces not shown" ON) option(SUPPORT_FILEFORMAT_FNT "Support loading fonts in FNT format" ON) -- cgit v1.2.3 From 3f097263310c3993a742891bce4dc00892aa5c3d Mon Sep 17 00:00:00 2001 From: Ahmad Fatoum Date: Sat, 28 Jul 2018 16:08:41 +0200 Subject: 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. --- src/CMakeLists.txt | 203 +++++++++++++++++++++++++++++++++------------------ src/CMakeOptions.txt | 2 +- 2 files changed, 131 insertions(+), 74 deletions(-) (limited to 'src') diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index e6cfe8b1..ceee761f 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -5,20 +5,28 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../cmake") set(PROJECT_VERSION 2.0.0) set(API_VERSION 2) -set(RAYLIB raylib) # Name of the generated library include("CMakeOptions.txt") include(BuildType) configure_file(config.h.in ${CMAKE_BINARY_DIR}/cmake/config.h) -include_directories(${CMAKE_BINARY_DIR}) -include_directories(SYSTEM .) +include_directories(${CMAKE_BINARY_DIR} .) # Get the sources together file(GLOB raylib_sources *.c) list(REMOVE_ITEM raylib_sources ${CMAKE_CURRENT_SOURCE_DIR}/rglfw.c) +if(USE_EXTERNAL_GLFW STREQUAL "ON") + find_package(glfw3 3.2.1 REQUIRED) +elseif(USE_EXTERNAL_GLFW STREQUAL "IF_POSSIBLE") + find_package(glfw3 3.2.1 QUIET) +endif() +if (glfw3_FOUND) + set(LIBS_PRIVATE ${LIBS_PRIVATE} glfw) +endif() + # Explicitly check against "ON", because USE_EXTERNAL_GLFW is a tristate option if(NOT glfw3_FOUND AND NOT USE_EXTERNAL_GLFW STREQUAL "ON" AND "${PLATFORM}" MATCHES "Desktop") + MESSAGE(STATUS "Using raylib's GLFW") set(GLFW_BUILD_DOCS OFF CACHE BOOL "" FORCE) set(GLFW_BUILD_TESTS OFF CACHE BOOL "" FORCE) set(GLFW_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE) @@ -30,20 +38,22 @@ if(NOT glfw3_FOUND AND NOT USE_EXTERNAL_GLFW STREQUAL "ON" AND "${PLATFORM}" MAT endif() add_subdirectory(external/glfw) - include_directories(external/glfw/include) + include_directories(BEFORE SYSTEM external/glfw/include) list(APPEND raylib_sources $) else() + MESSAGE(STATUS "Using external GLFW") set(GLFW_PKG_DEPS glfw) endif() -include(utils) +add_definitions("-DRAYLIB_CMAKE=1") if(USE_AUDIO) if (NOT USE_OPENAL_BACKEND) file(GLOB mini_al external/mini_al.c) MESSAGE(STATUS "Audio Backend: mini_al") else() + find_package(OpenAL REQUIRED) MESSAGE(STATUS "Audio Backend: OpenAL") endif() file(GLOB stb_vorbis external/stb_vorbis.c) @@ -55,35 +65,36 @@ else() set(sources ${raylib_sources}) endif() -include(AddIfFlagCompiles) - ### Config options ### # Translate the config options to what raylib wants if(${PLATFORM} MATCHES "Desktop") - set(PLATFORM "PLATFORM_DESKTOP") - - # OpenGL version - if (${OPENGL_VERSION} MATCHES "3.3") - set(GRAPHICS "GRAPHICS_API_OPENGL_33") - elseif (${OPENGL_VERSION} MATCHES "2.1") - set(GRAPHICS "GRAPHICS_API_OPENGL_21") - elseif (${OPENGL_VERSION} MATCHES "1.1") - set(GRAPHICS "GRAPHICS_API_OPENGL_11") - elseif (${OPENGL_VERSION} MATCHES "ES 2.0") - set(GRAPHICS "GRAPHICS_API_OPENGL_ES2") - endif() + set(PLATFORM_CPP "PLATFORM_DESKTOP") if(APPLE) # Need to force OpenGL 3.3 on OS X # See: https://github.com/raysan5/raylib/issues/341 set(GRAPHICS "GRAPHICS_API_OPENGL_33") + find_library(OPENGL_LIBRARY OpenGL) + set(LIBS_PRIVATE ${OPENGL_LIBRARY}) link_libraries("${LIBS_PRIVATE}") elseif(WIN32) add_definitions(-D_CRT_SECURE_NO_WARNINGS) + else() + find_library(pthread NAMES pthread) + find_package(OpenGL QUIET) + if ("${OPENGL_LIBRARIES}" STREQUAL "") + set(OPENGL_LIBRARIES "GL") + endif() + + if ("${CMAKE_SYSTEM_NAME}" MATCHES "(Net|Open)BSD") + find_library(OSS_LIBRARY ossaudio) + endif() + + set(LIBS_PRIVATE m pthread ${OPENGL_LIBRARIES} ${OSS_LIBRARY}) endif() elseif(${PLATFORM} MATCHES "Web") - set(PLATFORM "PLATFORM_WEB") + set(PLATFORM_CPP "PLATFORM_WEB") set(GRAPHICS "GRAPHICS_API_OPENGL_ES2") set(CMAKE_C_FLAGS "-s USE_GLFW=3 -s ASSERTIONS=1 --profiling") @@ -91,8 +102,9 @@ elseif(${PLATFORM} MATCHES "Web") # Change the name of the output library elseif(${PLATFORM} MATCHES "Android") - set(PLATFORM "PLATFORM_ANDROID") + set(PLATFORM_CPP "PLATFORM_ANDROID") set(GRAPHICS "GRAPHICS_API_OPENGL_ES2") + include(AddIfFlagCompiles) add_if_flag_compiles(-ffunction-sections CMAKE_C_FLAGS) add_if_flag_compiles(-funwind-tables CMAKE_C_FLAGS) add_if_flag_compiles(-fstack-protector-strong CMAKE_C_FLAGS) @@ -103,94 +115,139 @@ elseif(${PLATFORM} MATCHES "Android") include_directories(external/android/native_app_glue) set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--exclude-libs,libatomic.a -Wl,--build-id -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -Wl,--warn-shared-textrel -Wl,--fatal-warnings -uANativeActivity_onCreate") + find_library(OPENGL_LIBRARY OpenGL) + set(LIBS_PRIVATE m log android EGL GLESv2 OpenSLES atomic c) + elseif(${PLATFORM} MATCHES "Raspberry Pi") - set(PLATFORM "PLATFORM_RPI") + set(PLATFORM_CPP "PLATFORM_RPI") set(GRAPHICS "GRAPHICS_API_OPENGL_ES2") + endif() -if(${SHARED}) - add_library(${RAYLIB}_shared SHARED ${sources}) +if (${OPENGL_VERSION}) + set(${SUGGESTED_GRAPHICS} "${GRAPHICS}") + if (${OPENGL_VERSION} MATCHES "3.3") + set(GRAPHICS "GRAPHICS_API_OPENGL_33") + elseif (${OPENGL_VERSION} MATCHES "2.1") + set(GRAPHICS "GRAPHICS_API_OPENGL_21") + elseif (${OPENGL_VERSION} MATCHES "1.1") + set(GRAPHICS "GRAPHICS_API_OPENGL_11") + elseif (${OPENGL_VERSION} MATCHES "ES 2.0") + set(GRAPHICS "GRAPHICS_API_OPENGL_ES2") + endif() + if (${SUGGESTED_GRAPHICS} AND NOT "${SUGGESTED_GRAPHICS}" STREQUAL "${GRAPHICS}") + message(WARNING "You are overriding the suggested GRAPHICS=${SUGGESTED_GRAPHICS} with ${GRAPHICS}! This may fail") + endif() +endif() + +if(NOT GRAPHICS) + set(GRAPHICS "GRAPHICS_API_OPENGL_33") +endif() - target_compile_definitions(${RAYLIB}_shared - PUBLIC ${PLATFORM} +include_directories(${OPENGL_INCLUDE_DIR} ${OPENAL_INCLUDE_DIR}) +set(LIBS_PRIVATE ${LIBS_PRIVATE} ${OPENAL_LIBRARY}) +include(LibraryPathToLinkerFlags) +library_path_to_linker_flags(__PKG_CONFIG_LIBS_PRIVATE "${LIBS_PRIVATE}") + +if(STATIC) + if(${PLATFORM} MATCHES "Web") + set(CMAKE_STATIC_LIBRARY_SUFFIX ".bc") + endif() + + add_library(raylib_static STATIC ${sources}) + + target_compile_definitions(raylib_static + PUBLIC ${PLATFORM_CPP} + PUBLIC ${GRAPHICS} + ) + + set(PKG_CONFIG_LIBS_PRIVATE ${__PKG_CONFIG_LIBS_PRIVATE} ${GLFW_PKG_LIBS}) + string (REPLACE ";" " " PKG_CONFIG_LIBS_PRIVATE "${PKG_CONFIG_LIBS_PRIVATE}") + if (${PLATFORM} MATCHES "Desktop") + target_link_libraries(raylib_static glfw ${GLFW_LIBRARIES} ${LIBS_PRIVATE}) + endif() + + if (WITH_PIC) + set_property(TARGET raylib_static PROPERTY POSITION_INDEPENDENT_CODE ON) + endif() + set_target_properties(raylib_static PROPERTIES PUBLIC_HEADER "raylib.h") + if(NOT WIN32) # Keep lib*.(a|dll) name, but avoid *.lib files overwriting each other on Windows + set_target_properties(raylib_static PROPERTIES OUTPUT_NAME raylib) + endif() + install( + TARGETS raylib_static + ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" + PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" + ) +set_target_properties(raylib_static PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_BINARY_DIR}/release") + + add_test("pkg-config--static" ${PROJECT_SOURCE_DIR}/../cmake/test-pkgconfig.sh --static) +endif(STATIC) + + +if(SHARED) + add_library(raylib SHARED ${sources}) + + target_compile_definitions(raylib + PUBLIC ${PLATFORM_CPP} PUBLIC ${GRAPHICS} ) set(PKG_CONFIG_LIBS_EXTRA "") - set_property(TARGET ${RAYLIB}_shared PROPERTY POSITION_INDEPENDENT_CODE ON) + set_property(TARGET raylib PROPERTY POSITION_INDEPENDENT_CODE ON) set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_LIBDIR}") set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) set(CMAKE_MACOSX_RPATH ON) - target_link_libraries(${RAYLIB}_shared ${LIBS_PRIVATE}) - if (${PLATFORM} MATCHES "PLATFORM_DESKTOP") - target_link_libraries(${RAYLIB}_shared glfw) + target_link_libraries(raylib ${LIBS_PRIVATE}) + if (${PLATFORM} MATCHES "Desktop") + target_link_libraries(raylib glfw) endif() if (UNIX AND ${FILESYSTEM_LACKS_SYMLINKS}) MESSAGE(WARNING "Can't version UNIX shared library on file system without symlink support") else() - set_target_properties(${RAYLIB}_shared PROPERTIES + set_target_properties(raylib PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION ${API_VERSION} ) endif() - set_target_properties(${RAYLIB}_shared PROPERTIES + set_target_properties(raylib PROPERTIES PUBLIC_HEADER "raylib.h" ) - if(WIN32) + + if (WIN32) install( - TARGETS ${RAYLIB}_shared - RUNTIME DESTINATION lib - PUBLIC_HEADER DESTINATION include + TARGETS raylib + RUNTIME DESTINATION "lib" + PUBLIC_HEADER DESTINATION "include" ) - else() # Keep lib*.(a|dll) name, but avoid *.lib files overwriting each other on Windows - set_target_properties(${RAYLIB}_shared PROPERTIES OUTPUT_NAME ${RAYLIB}) + else() install( - TARGETS ${RAYLIB}_shared - LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" - PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" + TARGETS raylib + LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" + PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" ) endif() + set_target_properties(raylib PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_BINARY_DIR}/release") add_test("pkg-config" ${PROJECT_SOURCE_DIR}/../cmake/test-pkgconfig.sh) -endif(${SHARED}) - -if(${STATIC}) - if(${PLATFORM} MATCHES "PLATFORM_WEB") - set(CMAKE_STATIC_LIBRARY_SUFFIX ".bc") - endif() - - add_library(${RAYLIB} STATIC ${sources}) - - target_compile_definitions(${RAYLIB} - PUBLIC ${PLATFORM} - PUBLIC ${GRAPHICS} - ) - - set(PKG_CONFIG_LIBS_PRIVATE ${__PKG_CONFIG_LIBS_PRIVATE} ${GLFW_PKG_LIBS}) - string (REPLACE ";" " " PKG_CONFIG_LIBS_PRIVATE "${PKG_CONFIG_LIBS_PRIVATE}") - if (${PLATFORM} MATCHES "PLATFORM_DESKTOP") - target_link_libraries(${RAYLIB} glfw ${GLFW_LIBRARIES}) - endif() - - if (WITH_PIC) - set_property(TARGET ${RAYLIB} PROPERTY POSITION_INDEPENDENT_CODE ON) - endif() - set_target_properties(${RAYLIB} PROPERTIES PUBLIC_HEADER "raylib.h") - install(TARGETS ${RAYLIB} - ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" - PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" - ) - - add_test("pkg-config--static" ${PROJECT_SOURCE_DIR}/../cmake/test-pkgconfig.sh --static) -endif(${STATIC}) +else(SHARED) + add_library(raylib ALIAS raylib_static) +endif(SHARED) if (NOT DEFINED PKG_CONFIG_LIBS_EXTRA) set(PKG_CONFIG_LIBS_EXTRA "${PKG_CONFIG_LIBS_PRIVATE}") endif() configure_file(../raylib.pc.in raylib.pc @ONLY) install(FILES ${CMAKE_BINARY_DIR}/release/raylib.pc DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") +configure_file(../cmake/raylib-config-version.cmake raylib-config-version.cmake @ONLY) +install(FILES ${CMAKE_BINARY_DIR}/release/raylib-config-version.cmake DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/raylib") +install(FILES ${PROJECT_SOURCE_DIR}/../cmake/raylib-config.cmake DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/raylib") + +# populates raylib_{FOUND, INCLUDE_DIRS, LIBRARIES, LDFLAGS, DEFINITIONS} +include(PopulateConfigVariablesLocally) +populate_config_variables_locally(raylib) # Copy the header files to the build directory file(COPY "raylib.h" DESTINATION ".") @@ -201,7 +258,7 @@ file(COPY "audio.h" DESTINATION ".") # Print the flags for the user message(STATUS "Compiling with the flags:") -message(STATUS " PLATFORM=" ${PLATFORM}) +message(STATUS " PLATFORM=" ${PLATFORM_CPP}) message(STATUS " GRAPHICS=" ${GRAPHICS}) # Packaging diff --git a/src/CMakeOptions.txt b/src/CMakeOptions.txt index 5fab1cab..f3851487 100644 --- a/src/CMakeOptions.txt +++ b/src/CMakeOptions.txt @@ -4,7 +4,7 @@ include(EnumOption) enum_option(PLATFORM "Desktop;Web;Android;Raspberry Pi" "Platform to build for.") -enum_option(OPENGL_VERSION "3.3;2.1;1.1;ES 2.0" "OpenGL Version to build raylib with") +enum_option(OPENGL_VERSION "OFF;3.3;2.1;1.1;ES 2.0" "Force a specific OpenGL Version?") # Shared library is always PIC. Static library should be PIC too if linked into a shared library option(WITH_PIC "Compile static library as position-independent code" OFF) -- cgit v1.2.3 From 4d209d45aaf65c9a957a41ba57a19496cb9d9364 Mon Sep 17 00:00:00 2001 From: Ahmad Fatoum Date: Sun, 29 Jul 2018 07:51:17 +0200 Subject: core: Don't use GLFW_TRANSPARENT_FRAMEBUFFER with older GLFWs PLATFORM_WEB is not the only platform that doesn't define GLFW_TRANSPARENT_FRAMEBUFFER, it's also recent enough that it's not included in the most recent GLFW 3.2.1 release, so this error can creep up when using USE_EXTERNAL_GLFW. --- src/core.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/core.c b/src/core.c index 6939b844..aa76e88c 100644 --- a/src/core.c +++ b/src/core.c @@ -1915,14 +1915,14 @@ static bool InitGraphicsDevice(int width, int height) if (configFlags & FLAG_WINDOW_UNDECORATED) glfwWindowHint(GLFW_DECORATED, GL_FALSE); // Border and buttons on Window else glfwWindowHint(GLFW_DECORATED, GL_TRUE); // Decorated window - -#if !defined(PLATFORM_WEB) // FLAG_WINDOW_TRANSPARENT not supported on HTML5 + // FLAG_WINDOW_TRANSPARENT not supported on HTML5 and not included in any released GLFW version yet +#if defined(GLFW_TRANSPARENT_FRAMEBUFFER) if (configFlags & FLAG_WINDOW_TRANSPARENT) glfwWindowHint(GLFW_TRANSPARENT_FRAMEBUFFER, GLFW_TRUE); // Transparent framebuffer else glfwWindowHint(GLFW_TRANSPARENT_FRAMEBUFFER, GLFW_FALSE); // Opaque framebuffer #endif if (configFlags & FLAG_MSAA_4X_HINT) glfwWindowHint(GLFW_SAMPLES, 4); // Tries to enable multisampling x4 (MSAA), default is 0 - + // NOTE: When asking for an OpenGL context version, most drivers provide highest supported version // with forward compatibility to older OpenGL versions. // For example, if using OpenGL 1.1, driver can provide a 4.3 context forward compatible. -- cgit v1.2.3 From 2ae6df47fcdfd5a2bd63d48feaa0c577965ae7ab Mon Sep 17 00:00:00 2001 From: Ahmad Fatoum Date: Sun, 29 Jul 2018 08:04:42 +0200 Subject: CMake: Set -DMACOS_FATLIB=OFF by default Homebrew doesn't ship 32-bit libraries anymore, so using both -DUSE_EXTERNAL_GLFW and -DMACOS_FATLIB with a Homebrew GLFW would fail. With -DUSE_EXTERNAL_GLFW=OFF, this is not a problem, but I think keeping it off by default makes more sense. If someone wants universal libraries, they can just toggle it. --- src/CMakeOptions.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/CMakeOptions.txt b/src/CMakeOptions.txt index f3851487..79f09414 100644 --- a/src/CMakeOptions.txt +++ b/src/CMakeOptions.txt @@ -10,7 +10,7 @@ enum_option(OPENGL_VERSION "OFF;3.3;2.1;1.1;ES 2.0" "Force a specific OpenGL Ver option(WITH_PIC "Compile static library as position-independent code" OFF) option(SHARED "Build raylib as a dynamic library" OFF) option(STATIC "Build raylib as a static library" ON) -option(MACOS_FATLIB "Build fat library for both i386 and x86_64 on macOS" ON) +option(MACOS_FATLIB "Build fat library for both i386 and x86_64 on macOS" OFF) option(USE_AUDIO "Build raylib with audio module" ON) if(${PLATFORM} MATCHES "Web") cmake_dependent_option(USE_OPENAL_BACKEND "Link raylib with openAL instead of mini-al" ON "USE_AUDIO" OFF) -- cgit v1.2.3