diff options
| author | Oskari Timperi <oskari.timperi@iki.fi> | 2016-09-08 19:27:43 +0300 |
|---|---|---|
| committer | Oskari Timperi <oskari.timperi@iki.fi> | 2016-09-08 19:27:43 +0300 |
| commit | 5145705722c48dde7a2f19b2c1411ae783f600b7 (patch) | |
| tree | 2f45e24df8ceaab3209cd9ba1e6c52619f36c32f /src | |
| parent | 53056f3e7e84e18b8ebfc4a2ab2f7f1fbe7ae36c (diff) | |
| download | raylib-5145705722c48dde7a2f19b2c1411ae783f600b7.tar.gz raylib-5145705722c48dde7a2f19b2c1411ae783f600b7.zip | |
Make CMake build a bit better
Diffstat (limited to 'src')
| -rw-r--r-- | src/CMakeLists.txt | 62 | ||||
| -rw-r--r-- | src/external/CMakeLists.txt | 1 | ||||
| -rw-r--r-- | src/external/glfw3/CMakeLists.txt | 9 |
3 files changed, 58 insertions, 14 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index c094ad96..18778b08 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,32 +1,66 @@ -cmake_minimum_required (VERSION 3.0) -project (raylib) +ADD_SUBDIRECTORY(external) + 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_C_FLAGS "-O1 -Wall -std=gnu99 -fgnu89-inline -Wno-missing-braces") +SET(SOURCES + audio.c + camera.c + core.c + external/stb_vorbis.c + external/tinfl.c + gestures.c + models.c + rlgl.c + shapes.c + text.c + textures.c + utils.c +) + +ADD_LIBRARY(raylib STATIC ${SOURCES}) + +ADD_DEPENDENCIES(raylib glfw3) + +INSTALL(TARGETS raylib DESTINATION lib) +INSTALL(FILES raylib.h DESTINATION include) + +IF(CMAKE_COMPILER_IS_GNUCC) + TARGET_COMPILE_OPTIONS(raylib PRIVATE -O1 -Wall -std=gnu99 -fgnu89-inline + -Wno-missing-braces) +ELSEIF(MSVC) + # TODO: Set these to something that corresponds to the GCC flags? +ENDIF() IF(${PLATFORM_TO_USE} MATCHES "PLATFORM_DESKTOP") - add_definitions(-DPLATFORM_DESKTOP, -DGRAPHICS_API_OPENGL_33) - include_directories("." "external/" "external/openal_soft/include" "external/glfw3/include") + TARGET_COMPILE_DEFINITIONS(raylib PUBLIC -DPLATFORM_DESKTOP -DGRAPHICS_API_OPENGL_33) + TARGET_INCLUDE_DIRECTORIES(raylib PUBLIC + ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/external/openal_soft/include + ${CMAKE_INSTALL_PREFIX}/include) ENDIF() IF(${PLATFORM_TO_USE} MATCHES "PLATFORM_RPI") - add_definitions(-DPLATFORM_RPI, -GRAPHICS_API_OPENGL_ES2) - include_directories("." "external/" "/opt/vc/include" "/opt/vc/include/interface/vmcs_host/linux" "/opt/vc/include/interface/vcos/pthreads") + TARGET_COMPILE_DEFINITIONS(raylib PUBLIC -DPLATFORM_RPI -GRAPHICS_API_OPENGL_ES2) + TARGET_INCLUDE_DIRECTORIES( + ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/external + "/opt/vc/include" + "/opt/vc/include/interface/vmcs_host/linux" + "/opt/vc/include/interface/vcos/pthreads") ENDIF() IF(${PLATFORM_TO_USE} MATCHES "PLATFORM_WEB") - add_definitions(-DPLATFORM_WEB, -GRAPHICS_API_OPENGL_ES2) - include_directories("." "external/" "external/openal_soft/include" "external/glfw3/include") + TARGET_COMPILE_DEFINITIONS(raylib PUBLIC -DPLATFORM_WEB -GRAPHICS_API_OPENGL_ES2) + TARGET_INCLUDE_DIRECTORIES( + ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/external + ${CMAKE_CURRENT_SOURCE_DIR}/external/openal_soft/include + ${CMAKE_INSTALL_PREFIX}/include) ENDIF() - - -file(GLOB SOURCES "*.c" "external/*.c") -add_library(raylib STATIC ${SOURCES}) -install(TARGETS raylib DESTINATION ../lib/)
\ No newline at end of file diff --git a/src/external/CMakeLists.txt b/src/external/CMakeLists.txt new file mode 100644 index 00000000..1954053f --- /dev/null +++ b/src/external/CMakeLists.txt @@ -0,0 +1 @@ +ADD_SUBDIRECTORY(glfw3) diff --git a/src/external/glfw3/CMakeLists.txt b/src/external/glfw3/CMakeLists.txt new file mode 100644 index 00000000..9222b20d --- /dev/null +++ b/src/external/glfw3/CMakeLists.txt @@ -0,0 +1,9 @@ +INCLUDE(ExternalProject) + +ExternalProject_Add(glfw3 + GIT_REPOSITORY https://github.com/glfw/glfw.git + GIT_TAG 3.2.1 + CMAKE_ARGS -DGLFW_BUILD_EXAMPLES=OFF -DGLFW_BUILD_TESTS=OFF + -DGLFW_BUILD_DOCS=OFF + -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} +) |
