diff options
| author | Oskari Timperi <oskari.timperi@iki.fi> | 2016-09-25 22:25:20 +0300 |
|---|---|---|
| committer | Oskari Timperi <oskari.timperi@iki.fi> | 2016-09-26 19:58:48 +0300 |
| commit | 5c9651f7cd8fac15b374bee642d8436e32b2b49f (patch) | |
| tree | 3f267fc24d4b72a84fbff31d5b602e5907fdc324 | |
| parent | 5145705722c48dde7a2f19b2c1411ae783f600b7 (diff) | |
| download | raylib-5c9651f7cd8fac15b374bee642d8436e32b2b49f.tar.gz raylib-5c9651f7cd8fac15b374bee642d8436e32b2b49f.zip | |
Export raylib CMake configuration
| -rw-r--r-- | src/CMakeLists.txt | 51 | ||||
| -rw-r--r-- | src/raylibConfig.cmake.in | 1 |
2 files changed, 42 insertions, 10 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 18778b08..6f8fbc9c 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,8 +1,13 @@ -ADD_SUBDIRECTORY(external) +IF(BOOTSTRAP) + ADD_SUBDIRECTORY(external) + RETURN() +ENDIF() SET(PLATFORM_TO_USE "PLATFORM_DESKTOP" CACHE STRING "Platform to compile for") SET_PROPERTY(CACHE PLATFORM_TO_USE PROPERTY STRINGS PLATFORM_DESKTOP PLATFORM_RPI PLATFORM_WEB) +SET(CMAKE_INCLUDE_CURRENT_DIR ON) + SET(SOURCES audio.c camera.c @@ -20,10 +25,17 @@ SET(SOURCES ADD_LIBRARY(raylib STATIC ${SOURCES}) -ADD_DEPENDENCIES(raylib glfw3) +FIND_PACKAGE(glfw3 REQUIRED) +TARGET_LINK_LIBRARIES(raylib PUBLIC glfw) + +INSTALL(TARGETS raylib EXPORT raylibTargets + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib + RUNTIME DESTINATION bin + INCLUDES DESTINATION include +) -INSTALL(TARGETS raylib DESTINATION lib) -INSTALL(FILES raylib.h DESTINATION include) +INSTALL(FILES raylib.h raymath.h DESTINATION include/raylib) IF(CMAKE_COMPILER_IS_GNUCC) TARGET_COMPILE_OPTIONS(raylib PRIVATE -O1 -Wall -std=gnu99 -fgnu89-inline @@ -35,18 +47,23 @@ ENDIF() IF(${PLATFORM_TO_USE} MATCHES "PLATFORM_DESKTOP") TARGET_COMPILE_DEFINITIONS(raylib PUBLIC -DPLATFORM_DESKTOP -DGRAPHICS_API_OPENGL_33) - TARGET_INCLUDE_DIRECTORIES(raylib PUBLIC - ${CMAKE_CURRENT_SOURCE_DIR} + TARGET_INCLUDE_DIRECTORIES(raylib PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/external/openal_soft/include ${CMAKE_INSTALL_PREFIX}/include) + IF(CMAKE_SYSTEM_NAME STREQUAL "Linux") + TARGET_LINK_LIBRARIES(raylib PUBLIC m dl pthread X11 Xrandr Xinerama + Xi Xxf86vm Xcursor) + ELSEIF(CMAKE_SYSTEM_NAME STREQUAL "Windows") + TARGET_LINK_LIBRARIES(raylib PUBLIC gdi32) + ENDIF() + ENDIF() IF(${PLATFORM_TO_USE} MATCHES "PLATFORM_RPI") TARGET_COMPILE_DEFINITIONS(raylib PUBLIC -DPLATFORM_RPI -GRAPHICS_API_OPENGL_ES2) - TARGET_INCLUDE_DIRECTORIES( - ${CMAKE_CURRENT_SOURCE_DIR} + TARGET_INCLUDE_DIRECTORIES(raylib PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/external "/opt/vc/include" "/opt/vc/include/interface/vmcs_host/linux" @@ -57,10 +74,24 @@ ENDIF() IF(${PLATFORM_TO_USE} MATCHES "PLATFORM_WEB") TARGET_COMPILE_DEFINITIONS(raylib PUBLIC -DPLATFORM_WEB -GRAPHICS_API_OPENGL_ES2) - TARGET_INCLUDE_DIRECTORIES( - ${CMAKE_CURRENT_SOURCE_DIR} + TARGET_INCLUDE_DIRECTORIES(raylib PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/external ${CMAKE_CURRENT_SOURCE_DIR}/external/openal_soft/include ${CMAKE_INSTALL_PREFIX}/include) ENDIF() + +INCLUDE(CMakePackageConfigHelpers) +CONFIGURE_PACKAGE_CONFIG_FILE(raylibConfig.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/raylibConfig.cmake + INSTALL_DESTINATION lib/cmake/raylib +) + +INSTALL(EXPORT raylibTargets + DESTINATION lib/cmake/raylib +) + +INSTALL(FILES + ${CMAKE_CURRENT_BINARY_DIR}/raylibConfig.cmake + DESTINATION lib/cmake/raylib +) diff --git a/src/raylibConfig.cmake.in b/src/raylibConfig.cmake.in new file mode 100644 index 00000000..09a4fdb4 --- /dev/null +++ b/src/raylibConfig.cmake.in @@ -0,0 +1 @@ +INCLUDE(${CMAKE_CURRENT_LIST_DIR}/raylibTargets.cmake) |
