mirror of
				https://github.com/raysan5/raylib.git
				synced 2025-10-26 12:27:01 +00:00 
			
		
		
		
	 3f09726331
			
		
	
	3f09726331
	
	
	
		
			
			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.
		
			
				
	
	
		
			25 lines
		
	
	
		
			720 B
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			720 B
		
	
	
	
		
			CMake
		
	
	
	
	
	
| function(library_path_to_linker_flags LD_FLAGS LIB_PATHS)
 | |
|   foreach(L ${LIB_PATHS})
 | |
|     get_filename_component(DIR  ${L} PATH)
 | |
|     get_filename_component(LIBFILE ${L} NAME_WE)
 | |
|     STRING(REGEX REPLACE "^lib" "" FILE ${LIBFILE})
 | |
| 
 | |
|     if (${L} MATCHES "[.]framework$")
 | |
|         set(FILE_OPT "-framework ${FILE}")
 | |
|         set(DIR_OPT  "-F${DIR}")
 | |
|     else()
 | |
|         set(FILE_OPT "-l${FILE}")
 | |
|         set(DIR_OPT  "-L${DIR}")
 | |
|     endif()
 | |
| 
 | |
|     if ("${DIR}" STREQUAL "" OR "${DIR}" STREQUAL "${LASTDIR}")
 | |
|         set (DIR_OPT "")
 | |
|     endif()
 | |
| 
 | |
|     set(LASTDIR ${DIR})
 | |
| 
 | |
|     set(${LD_FLAGS} ${${LD_FLAGS}} ${DIR_OPT} ${FILE_OPT} PARENT_SCOPE)
 | |
|     string (REPLACE ";" " " ${LD_FLAGS} "${${LD_FLAGS}}")
 | |
|   endforeach()
 | |
| endfunction()
 |