Browse Source

Merge branch 'master' of https://github.com/raysan5/raylib

Ray 5 days ago
parent
commit
8d48a12306
4 changed files with 15 additions and 85 deletions
  1. 1 1
      CMakeLists.txt
  2. 10 1
      cmake/InstallConfigurations.cmake
  3. 2 81
      cmake/raylib-config.cmake
  4. 2 2
      src/CMakeLists.txt

+ 1 - 1
CMakeLists.txt

@@ -29,7 +29,7 @@ include(CompilerFlags)
 # Registers build options that are exposed to cmake
 include(CMakeOptions.txt)
 
-if (UNIX AND NOT APPLE AND NOT "${PLATFORM}" MATCHES "DRM")
+if (UNIX AND NOT APPLE AND NOT "${PLATFORM}" MATCHES "DRM" AND NOT "${PLATFORM}" MATCHES "Web")
   if (NOT GLFW_BUILD_WAYLAND AND NOT GLFW_BUILD_X11)
     MESSAGE(FATAL_ERROR "Cannot disable both Wayland and X11")
   endif()

+ 10 - 1
cmake/InstallConfigurations.cmake

@@ -19,9 +19,18 @@ join_paths(libdir_for_pc_file "\${exec_prefix}" "${CMAKE_INSTALL_LIBDIR}")
 join_paths(includedir_for_pc_file "\${prefix}" "${CMAKE_INSTALL_INCLUDEDIR}")
 configure_file(../raylib.pc.in raylib.pc @ONLY)
 configure_file(../cmake/raylib-config-version.cmake raylib-config-version.cmake @ONLY)
+configure_file(../cmake/raylib-config.cmake raylib-config.cmake @ONLY)
 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/raylib.pc DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/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")
+install(FILES
+        "${CMAKE_CURRENT_BINARY_DIR}/raylib-config-version.cmake"
+        "${CMAKE_CURRENT_BINARY_DIR}/raylib-config.cmake"
+        DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/raylib
+)
+install(EXPORT raylib-targets
+        FILE raylib-targets.cmake
+        DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/raylib
+)
 
 # populates raylib_{FOUND, INCLUDE_DIRS, LIBRARIES, LDFLAGS, DEFINITIONS}
 include(PopulateConfigVariablesLocally)

+ 2 - 81
cmake/raylib-config.cmake

@@ -1,81 +1,2 @@
-# - Try to find raylib
-# Options:
-#   raylib_USE_STATIC_LIBS - ON by default
-#   raylib_VERBOSE         - OFF by default
-# Once done, this defines a raylib target that can be passed to
-# target_link_libraries as well as following variables:
-#
-#   raylib_FOUND - System has raylib installed
-#   raylib_INCLUDE_DIRS - The include directories for the raylib header(s)
-#   raylib_LIBRARIES - The libraries needed to use raylib
-#   raylib_LDFLAGS - The linker flags needed with raylib
-#   raylib_DEFINITIONS - Compiler switches required for using raylib
-
-option(raylib_USE_STATIC_LIBS "Use static libs" ON)
-option(raylib_VERBOSE "Show raylib verbose messages" OFF)
-
-if (NOT TARGET raylib)
-    set(XPREFIX PC_RAYLIB)
-
-    find_package(PkgConfig QUIET)
-    pkg_check_modules(${XPREFIX} QUIET raylib)
-
-    if (raylib_USE_STATIC_LIBS)
-        set(XPREFIX ${XPREFIX}_STATIC)
-    endif()
-
-    set(raylib_DEFINITIONS ${${XPREFIX}_CFLAGS})
-
-    find_path(raylib_INCLUDE_DIR
-        NAMES raylib.h
-        HINTS ${${XPREFIX}_INCLUDE_DIRS} ${raylib_DIR}/../../../include/
-    )
-
-
-    if (raylib_USE_STATIC_LIBS)
-        set(RAYLIB_NAMES libraylib.a raylib.lib)
-    else ()
-        set(RAYLIB_NAMES raylib)
-    endif ()
-
-    find_library(raylib_LIBRARY
-        NAMES ${RAYLIB_NAMES}
-        HINTS ${${XPREFIX}_LIBRARY_DIRS} ${raylib_DIR}/../../
-    )
-
-    set(raylib_LIBRARIES    ${raylib_LIBRARY})
-    set(raylib_INCLUDE_DIRS ${raylib_INCLUDE_DIR})
-    set(raylib_LDFLAGS      ${${XPREFIX}_LDFLAGS})
-
-    include(FindPackageHandleStandardArgs)
-    find_package_handle_standard_args(raylib DEFAULT_MSG
-        raylib_LIBRARY
-        raylib_INCLUDE_DIR
-    )
-
-    mark_as_advanced(raylib_LIBRARY raylib_INCLUDE_DIR)
-
-    if (raylib_USE_STATIC_LIBS)
-      add_library(raylib STATIC IMPORTED GLOBAL)
-    else()
-      add_library(raylib SHARED IMPORTED GLOBAL)
-    endif()
-    string (REPLACE ";" " " raylib_LDFLAGS "${raylib_LDFLAGS}")
-
-    set_target_properties(raylib
-      PROPERTIES
-      IMPORTED_LOCATION             "${raylib_LIBRARIES}"
-      IMPORTED_IMPLIB               "${raylib_LIBRARIES}"
-      INTERFACE_INCLUDE_DIRECTORIES "${raylib_INCLUDE_DIRS}"
-      INTERFACE_LINK_LIBRARIES      "${raylib_LDFLAGS}"
-      INTERFACE_COMPILE_OPTIONS     "${raylib_DEFINITIONS}"
-    )
-
-    if (raylib_VERBOSE)
-      message(STATUS "raylib_FOUND: ${raylib_FOUND}")
-      message(STATUS "raylib_INCLUDE_DIRS: ${raylib_INCLUDE_DIRS}")
-      message(STATUS "raylib_LIBRARIES: ${raylib_LIBRARIES}")
-      message(STATUS "raylib_LDFLAGS: ${raylib_LDFLAGS}")
-      message(STATUS "raylib_DEFINITIONS: ${raylib_DEFINITIONS}")
-    endif()
-endif()
+@PACKAGE_INIT@
+include("${CMAKE_CURRENT_LIST_DIR}/raylib-targets.cmake")

+ 2 - 2
src/CMakeLists.txt

@@ -69,7 +69,7 @@ else()
 endif()
 
 if (${PLATFORM} MATCHES "Web")
-    target_link_options(raylib PUBLIC "-sUSE_GLFW=3")
+    target_link_options(raylib PUBLIC "-sUSE_GLFW=3" -sEXPORTED_RUNTIME_METHODS=ccall -sASYNCIFY)
     if(${GRAPHICS} MATCHES "GRAPHICS_API_OPENGL_ES3")
         target_link_options(raylib PUBLIC "-sMIN_WEBGL_VERSION=2")
         target_link_options(raylib PUBLIC "-sMAX_WEBGL_VERSION=2")
@@ -91,7 +91,7 @@ if (BUILD_SHARED_LIBS)
     set_property(TARGET raylib PROPERTY C_VISIBILITY_PRESET hidden)
 endif ()
 
-target_link_libraries(raylib "${LIBS_PRIVATE}")
+target_link_libraries(raylib PRIVATE $<BUILD_INTERFACE:${LIBS_PRIVATE}>)
 
 # Sets some compile time definitions for the pre-processor
 # If CUSTOMIZE_BUILD option is on you will not use config.h by default