diff options
| author | Ahmad Fatoum <[email protected]> | 2018-05-10 22:51:17 +0200 |
|---|---|---|
| committer | Ahmad Fatoum <[email protected]> | 2018-05-11 01:24:27 +0200 |
| commit | 0adb4b67de6dfe3f7a0a557130dffc3b8f4d6a43 (patch) | |
| tree | 9b3d09d7b5cdfd816191582b5f0802d9226fbacb /src/CMakeLists.txt | |
| parent | 0df501be91a09af6b4b06bf44df86d8d06cdcada (diff) | |
| download | raylib-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.txt | 36 |
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) |
