summaryrefslogtreecommitdiffhomepage
path: root/utils.cmake
diff options
context:
space:
mode:
authorRay <[email protected]>2018-01-19 11:41:51 +0100
committerGitHub <[email protected]>2018-01-19 11:41:51 +0100
commit750323da53dd34cb02d2919066259da7ab7dc7a9 (patch)
tree43104b379b10760c79c7531a9140406c32dc62ac /utils.cmake
parentf818ec0e05ebc2d1292b56281d4c4291f0514539 (diff)
parent5931bd501cb671854a85b4312bd4da614b6c8797 (diff)
downloadraylib-750323da53dd34cb02d2919066259da7ab7dc7a9.tar.gz
raylib-750323da53dd34cb02d2919066259da7ab7dc7a9.zip
Merge branch 'develop' into testing_uwp
Diffstat (limited to 'utils.cmake')
-rw-r--r--utils.cmake78
1 files changed, 43 insertions, 35 deletions
diff --git a/utils.cmake b/utils.cmake
index c902f60e..d2c82cd1 100644
--- a/utils.cmake
+++ b/utils.cmake
@@ -1,49 +1,57 @@
# All sorts of things that we need cross project
-cmake_minimum_required(VERSION 3.0)
+cmake_minimum_required(VERSION 2.8.0)
-# Detect linux
-if(UNIX AND NOT APPLE)
- set(LINUX TRUE)
+if(CMAKE_SYSTEM_NAME STREQUAL Linux)
+ set(LINUX TRUE)
endif()
-# Need GLFW 3.2.1
-find_package(glfw3 3.2.1 REQUIRED)
-
-
# Linking for OS X -framework options
# Will do nothing on other OSes
-function(link_os_x_frameworks binary)
- if(APPLE)
- find_library(OPENGL_LIBRARY OpenGL)
- find_library(OPENAL_LIBRARY OpenAL)
- find_library(COCOA_LIBRARY Cocoa)
-
- set(OSX_FRAMEWORKS ${OPENGL_LIBRARY} ${OPENAL_LIBRARY} ${COCOA_LIBRARY})
- target_link_libraries(${binary} ${OSX_FRAMEWORKS})
- endif()
-endfunction()
+if(APPLE)
+ find_library(OPENGL_LIBRARY OpenGL)
+ find_library(OPENAL_LIBRARY OpenAL)
+ find_library(COCOA_LIBRARY Cocoa)
+ find_library(IOKIT_LIBRARY IOKit)
+ find_library(COREFOUNDATION_LIBRARY CoreFoundation)
+ find_library(COREVIDEO_LIBRARY CoreVideo)
+
+ set(LIBS_PRIVATE ${OPENGL_LIBRARY} ${OPENAL_LIBRARY} ${COCOA_LIBRARY}
+ ${IOKIT_LIBRARY} ${COREFOUNDATION_LIBRARY} ${COREVIDEO_LIBRARY})
+endif()
+
+if(CMAKE_SYSTEM_NAME STREQUAL Linux)
+ # Elsewhere (such as Linux), need `-lopenal -lGL`, etc...
+ set(LIBS_PRIVATE
+ m pthread dl
+ GL
+ X11 Xrandr Xinerama Xi Xxf86vm Xcursor) # X11 stuff
+endif()
+if(CMAKE_SYSTEM_NAME STREQUAL FreeBSD)
+ find_package(OpenGL REQUIRED)
+ find_package(OpenAL REQUIRED)
+ include_directories(${OPENGL_INCLUDE_DIR} ${OPENAL_INCLUDE_DIR})
+
+ find_package(X11 REQUIRED)
+ find_library(OpenAL REQUIRED)
+ find_library(pthread NAMES pthread)
+ find_library(Xrandr NAMES Xrandr)
+ find_library(Xi NAMES Xi)
+ find_library(Xinerama NAMES Xinerama)
+ find_library(Xxf86vm NAMES Xxf86vm)
+ find_library(Xcursor NAMES Xcursor)
+
+ set(LIBS_PRIVATE m ${pthread} ${OPENAL_LIBRARY} ${X11_LIBRARIES} ${Xrandr} ${Xinerama} ${Xi} ${Xxf86vm} ${Xcursor})
+endif()
+
+# TODO Support Windows
# Do the linking for executables that are meant to link raylib
function(link_libraries_to_executable executable)
- # Link the libraries
- if(APPLE)
- # OS X, we use frameworks
- link_os_x_frameworks(${executable})
- elseif(LINUX)
- # Elsewhere (such as Linux), need `-lopenal -lGL`, etc...
- target_link_libraries(${executable} m pthread dl)
- target_link_libraries(${executable} openal)
- target_link_libraries(${executable} GL)
- target_link_libraries(${executable} X11 Xrandr Xinerama Xi Xxf86vm Xcursor) # X11 stuff
- else()
- # TODO windows
- endif()
-
- # Add in GLFW as a linking target
- target_link_libraries(${executable} glfw)
-
# And raylib
target_link_libraries(${executable} raylib)
+
+ # Link the libraries
+ target_link_libraries(${executable} ${LIBS_PRIVATE})
endfunction()