summaryrefslogtreecommitdiffhomepage
path: root/src/CMakeLists.txt
diff options
context:
space:
mode:
authorAhmad Fatoum <[email protected]>2018-05-10 22:51:17 +0200
committerAhmad Fatoum <[email protected]>2018-05-11 01:24:27 +0200
commit0adb4b67de6dfe3f7a0a557130dffc3b8f4d6a43 (patch)
tree9b3d09d7b5cdfd816191582b5f0802d9226fbacb /src/CMakeLists.txt
parent0df501be91a09af6b4b06bf44df86d8d06cdcada (diff)
downloadraylib-0adb4b67de6dfe3f7a0a557130dffc3b8f4d6a43.tar.gz
raylib-0adb4b67de6dfe3f7a0a557130dffc3b8f4d6a43.zip
CMake: Build glfw separately with CMake
Makes it easier to support Wayland later on.
Diffstat (limited to 'src/CMakeLists.txt')
-rwxr-xr-x[-rw-r--r--]src/CMakeLists.txt36
1 files changed, 20 insertions, 16 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index f04e88f3..98b6b0e9 100644..100755
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -10,16 +10,28 @@ include("CMakeOptions.txt")
configure_file(config.h.in ${CMAKE_BINARY_DIR}/cmake/config.h)
include_directories(${CMAKE_BINARY_DIR})
+if(MACOS_FATLIB)
+ if (CMAKE_OSX_ARCHITECTURES)
+ message(FATAL_ERROR "User supplied -DCMAKE_OSX_ARCHITECTURES overrides -DMACOS_FATLIB=ON")
+ else()
+ SET(CMAKE_OSX_ARCHITECTURES "x86_64;i386")
+ endif()
+endif()
+
+if(NOT glfw3_FOUND)
+ set(GLFW_BUILD_DOCS OFF CACHE BOOL "" FORCE)
+ set(GLFW_BUILD_TESTS OFF CACHE BOOL "" FORCE)
+ set(GLFW_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)
+ set(GLFW_USE_WAYLAND ${USE_WAYLAND} CACHE BOOL "" FORCE)
+
+ add_subdirectory(external/glfw)
+endif()
+
include("../utils.cmake")
# Get the sources together
file(GLOB raylib_sources *.c)
-
-if(glfw3_FOUND)
- list(REMOVE_ITEM raylib_sources ${CMAKE_CURRENT_SOURCE_DIR}/rglfw.c)
-else()
- include_directories(external/glfw/include)
-endif()
+list(REMOVE_ITEM raylib_sources ${CMAKE_CURRENT_SOURCE_DIR}/rglfw.c)
if(USE_AUDIO)
file(GLOB stb_vorbis external/stb_vorbis.c)
@@ -51,7 +63,6 @@ if(${PLATFORM} MATCHES "Desktop")
# See: https://github.com/raysan5/raylib/issues/341
if(APPLE)
set(GRAPHICS "GRAPHICS_API_OPENGL_33")
- set_source_files_properties(rglfw.c PROPERTIES COMPILE_FLAGS "-x objective-c")
link_libraries("${LIBS_PRIVATE}")
elseif(WIN32)
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
@@ -76,14 +87,6 @@ elseif(${PLATFORM} MATCHES "Raspberry Pi")
set(GRAPHICS "GRAPHICS_API_OPENGL_ES2")
endif()
-if(MACOS_FATLIB)
- if (CMAKE_OSX_ARCHITECTURES)
- message(FATAL_ERROR "User supplied -DCMAKE_OSX_ARCHITECTURES overrides -DMACOS_FATLIB=ON")
- else()
- SET(CMAKE_OSX_ARCHITECTURES "x86_64;i386")
- endif()
-endif()
-
# Which platform?
if(${PLATFORM} MATCHES "PLATFORM_DESKTOP")
@@ -100,7 +103,7 @@ if(${PLATFORM} MATCHES "PLATFORM_DESKTOP")
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
set(CMAKE_MACOSX_RPATH ON)
- target_link_libraries(${RAYLIB}_shared ${LIBS_PRIVATE})
+ target_link_libraries(${RAYLIB}_shared ${LIBS_PRIVATE} glfw)
if (UNIX AND ${FILESYSTEM_LACKS_SYMLINKS})
MESSAGE(WARNING "Can't version UNIX shared library on file system without symlink support")
else()
@@ -137,6 +140,7 @@ if(${PLATFORM} MATCHES "PLATFORM_DESKTOP")
)
set(PKG_CONFIG_LIBS_PRIVATE ${__PKG_CONFIG_LIBS_PRIVATE})
+ target_link_libraries(${RAYLIB} glfw)
if (WITH_PIC)
set_property(TARGET ${RAYLIB} PROPERTY POSITION_INDEPENDENT_CODE ON)