mirror of
				https://github.com/raysan5/raylib.git
				synced 2025-10-26 12:27:01 +00:00 
			
		
		
		
	 47137b1489
			
		
	
	47137b1489
	
	
	
		
			
			Fixes #899, which made apparent three issues with how static libraries are handled in raylib-config.cmake: - XPREFIX is set before pkg_check_modules, which causes a duplicate STATIC in variables, e.g. PC_RAYLIB_STATIC_STATIC_.* - raylib_static is searched for, but no library exists with that name - raylib_LDFLAGS isn't populated properly This commit fixes these.
		
			
				
	
	
		
			77 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
| # - Try to find raylib
 | |
| # Options:
 | |
| #   raylib_USE_STATIC_LIBS - OFF 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
 | |
| 
 | |
| 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}
 | |
| )
 | |
| 
 | |
| set(RAYLIB_NAMES raylib)
 | |
| 
 | |
| if (raylib_USE_STATIC_LIBS)
 | |
|     set(RAYLIB_NAMES libraylib.a raylib.lib ${RAYLIB_NAMES})
 | |
| endif()
 | |
| 
 | |
| find_library(raylib_LIBRARY
 | |
|     NAMES ${RAYLIB_NAMES}
 | |
|     HINTS ${${XPREFIX}_LIBRARY_DIRS}
 | |
| )
 | |
| 
 | |
| set(raylib_LIBRARIES    ${raylib_LIBRARY})
 | |
| set(raylib_LIBRARY_DIRS ${${XPREFIX}_LIBRARY_DIRS})
 | |
| set(raylib_LIBRARY_DIR  ${raylib_LIBRARY_DIRS})
 | |
| 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}"
 | |
|   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()
 |