mirror of
https://github.com/raysan5/raylib.git
synced 2025-12-25 10:22:33 -05:00
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.
This commit is contained in:
@ -1,18 +1,13 @@
|
||||
# Setup the project and settings
|
||||
cmake_minimum_required(VERSION 2.6)
|
||||
project(drturtle)
|
||||
|
||||
include("../../cmake/utils.cmake")
|
||||
|
||||
|
||||
# Make sure raylib has been built
|
||||
# TODO `build` directory should maybe be something else...
|
||||
include_directories("../../build/release")
|
||||
|
||||
# Executable & linking
|
||||
add_executable(drturtle 06_drturtle_final.c)
|
||||
link_libraries_to_executable(drturtle)
|
||||
add_executable(${PROJECT_NAME} 06_drturtle_final.c)
|
||||
if (NOT TARGET raylib)
|
||||
find_package(raylib 2.0 REQUIRED)
|
||||
endif()
|
||||
target_link_libraries(${PROJECT_NAME} raylib)
|
||||
|
||||
# Resources
|
||||
# Copy all of the resource files to the destination
|
||||
file(COPY "resources/" DESTINATION "resources/")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user