summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt33
-rw-r--r--src/CMakeLists.txt17
2 files changed, 50 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..77539bb
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,33 @@
+# Copyright 2017 Edward O'Callaghan <funfunctor@folklore1984.net>
+
+cmake_minimum_required(VERSION 3.0.1)
+
+project(bare_gl)
+
+# Add local repository for FindXXX.cmake modules.
+SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake_modules/" ${CMAKE_MODULE_PATH})
+
+# Look for GLEW.
+find_package(GLEW REQUIRED)
+include_directories(${GLEW_INCLUDE_DIR})
+find_package(LibDRM REQUIRED)
+include_directories(${LIBDRM_INCLUDE_DIR})
+find_package(GBM REQUIRED)
+include_directories(${GBM_INCLUDE_DIR})
+find_package(EGL REQUIRED)
+include_directories(${EGL_INCLUDE_DIR})
+
+# Set necessary libs.
+set(REQUIRED_EXTERNAL_LIBS
+ ${GLEW_LIBRARIES}
+ ${LIBDRM_LIBRARIES}
+ ${GBM_LIBRARIES}
+ ${EGL_LIBRARIES}
+)
+
+# Global setting: build everything position independent
+set(CMAKE_POSITION_INDEPENDENT_CODE ON)
+
+add_definitions("-g")
+
+add_subdirectory(src)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
new file mode 100644
index 0000000..4c50340
--- /dev/null
+++ b/src/CMakeLists.txt
@@ -0,0 +1,17 @@
+# Copyright 2017 Edward O'Callaghan <funfunctor@folklore1984.net>
+
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/)
+
+add_library(baregl_lib
+ modesetting.c
+ framebuffer.c
+ egl.c
+)
+add_library(gl_app SHARED
+ gl_example.c
+)
+
+add_executable(${PROJECT_NAME} main.c)
+target_link_libraries(${PROJECT_NAME} ${REQUIRED_EXTERNAL_LIBS})
+target_link_libraries(${PROJECT_NAME} baregl_lib)
+target_link_libraries(${PROJECT_NAME} gl_app)