summaryrefslogtreecommitdiffhomepage
path: root/utils.cmake
diff options
context:
space:
mode:
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()