From baf7afe6bd88b9c6f1e2037e2713f872ab8044a7 Mon Sep 17 00:00:00 2001 From: Jenny White Date: Fri, 27 Apr 2018 11:36:55 +0300 Subject: [PATCH] basic CMakeLists --- .gitignore | 3 ++- CMakeLists.txt | 24 ++++++++++++++++++++++++ ftgl/CMakeLists.txt | 32 ++++++++++++++++++++++++++++++++ include/CMakeLists.txt | 4 ++++ include/internal/CMakeLists.txt | 5 +++++ src/CMakeLists.txt | 6 ++++++ 6 files changed, 73 insertions(+), 1 deletion(-) create mode 100644 CMakeLists.txt create mode 100644 ftgl/CMakeLists.txt create mode 100644 include/CMakeLists.txt create mode 100644 include/internal/CMakeLists.txt create mode 100644 src/CMakeLists.txt diff --git a/.gitignore b/.gitignore index df27c9b..28e1c94 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ bin* *.o -.settings* \ No newline at end of file +.settings* +build \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..04f798b --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,24 @@ +# This builds a 32-bit version of library, building 64 bit is not supported yet. + +cmake_minimum_required(VERSION 3.0) +project(glez VERSION 0.0.1 DESCRIPTION "Basic OpenGL primitive + text drawing using freetype-gl") + +find_package(Freetype REQUIRED) +find_package(PNG REQUIRED) +find_package(GLEW REQUIRED) + +add_library(glez SHARED "") + +set_target_properties(glez PROPERTIES COMPILE_FLAGS "-m32" LINK_FLAGS "-m32") + +target_include_directories(glez PUBLIC include) +target_include_directories(glez PRIVATE ftgl) +target_include_directories(glez PRIVATE ${FREETYPE_INCLUDE_DIRS} ${PNG_INCLUDE_DIR} ${GLEW_INCLUDE_DIRS}) + +target_compile_definitions(glez PRIVATE ${PNG_DEFINITIONS}) + +target_link_libraries(glez ${FREETYPE_LIBRARIES} ${PNG_LIBRARIES} ${GLEW_LIBRARIES}) + +add_subdirectory(include) +add_subdirectory(src) +add_subdirectory(ftgl) \ No newline at end of file diff --git a/ftgl/CMakeLists.txt b/ftgl/CMakeLists.txt new file mode 100644 index 0000000..5352103 --- /dev/null +++ b/ftgl/CMakeLists.txt @@ -0,0 +1,32 @@ +target_sources(glez PRIVATE + "${CMAKE_CURRENT_LIST_DIR}/distance-field.h" + "${CMAKE_CURRENT_LIST_DIR}/edtaa3func.h" + "${CMAKE_CURRENT_LIST_DIR}/font-manager.h" + "${CMAKE_CURRENT_LIST_DIR}/freetype-gl.h" + "${CMAKE_CURRENT_LIST_DIR}/markup.h" + "${CMAKE_CURRENT_LIST_DIR}/mat4.h" + "${CMAKE_CURRENT_LIST_DIR}/opengl.h" + "${CMAKE_CURRENT_LIST_DIR}/platform.h" + "${CMAKE_CURRENT_LIST_DIR}/text-buffer.h" + "${CMAKE_CURRENT_LIST_DIR}/texture-atlas.h" + "${CMAKE_CURRENT_LIST_DIR}/texture-font.h" + "${CMAKE_CURRENT_LIST_DIR}/utf8-utils.h" + "${CMAKE_CURRENT_LIST_DIR}/vec234.h" + "${CMAKE_CURRENT_LIST_DIR}/vector.h" + "${CMAKE_CURRENT_LIST_DIR}/vertex-attribute.h" + "${CMAKE_CURRENT_LIST_DIR}/vertex-buffer.h") + +target_sources(glez PRIVATE + "${CMAKE_CURRENT_LIST_DIR}/distance-field.c" + "${CMAKE_CURRENT_LIST_DIR}/edtaa3func.c" + "${CMAKE_CURRENT_LIST_DIR}/font-manager.c" + "${CMAKE_CURRENT_LIST_DIR}/makefont.c" + "${CMAKE_CURRENT_LIST_DIR}/mat4.c" + "${CMAKE_CURRENT_LIST_DIR}/platform.c" + "${CMAKE_CURRENT_LIST_DIR}/text-buffer.c" + "${CMAKE_CURRENT_LIST_DIR}/texture-atlas.c" + "${CMAKE_CURRENT_LIST_DIR}/texture-font.c" + "${CMAKE_CURRENT_LIST_DIR}/utf8-utils.c" + "${CMAKE_CURRENT_LIST_DIR}/vector.c" + "${CMAKE_CURRENT_LIST_DIR}/vertex-attribute.c" + "${CMAKE_CURRENT_LIST_DIR}/vertex-buffer.c") \ No newline at end of file diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt new file mode 100644 index 0000000..9869a07 --- /dev/null +++ b/include/CMakeLists.txt @@ -0,0 +1,4 @@ +target_sources(glez PUBLIC + "${CMAKE_CURRENT_LIST_DIR}/glez.h") + +add_subdirectory(internal) \ No newline at end of file diff --git a/include/internal/CMakeLists.txt b/include/internal/CMakeLists.txt new file mode 100644 index 0000000..79ae3c8 --- /dev/null +++ b/include/internal/CMakeLists.txt @@ -0,0 +1,5 @@ +target_sources(glez PRIVATE + "${CMAKE_CURRENT_LIST_DIR}/draw.h" + "${CMAKE_CURRENT_LIST_DIR}/fonts.h" + "${CMAKE_CURRENT_LIST_DIR}/program.h" + "${CMAKE_CURRENT_LIST_DIR}/textures.h") \ No newline at end of file diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt new file mode 100644 index 0000000..bc1b40e --- /dev/null +++ b/src/CMakeLists.txt @@ -0,0 +1,6 @@ +target_sources(glez PRIVATE + "${CMAKE_CURRENT_LIST_DIR}/draw.c" + "${CMAKE_CURRENT_LIST_DIR}/fonts.c" + "${CMAKE_CURRENT_LIST_DIR}/glez.c" + "${CMAKE_CURRENT_LIST_DIR}/program.c" + "${CMAKE_CURRENT_LIST_DIR}/textures.c") \ No newline at end of file