From 747c0db7910414d2797e38b5a00efbdb0c5ee6a1 Mon Sep 17 00:00:00 2001 From: Gary Wang Date: Sun, 2 Jun 2019 01:22:18 +0800 Subject: Basic CMake support --- .gitignore | 3 +++ CMakeLists.txt | 13 +++++++++++++ extensions/CMakeLists.txt | 10 ++++++++++ smelt/glfw/CMakeLists.txt | 30 ++++++++++++++++++++++++++++++ 4 files changed, 56 insertions(+) create mode 100644 CMakeLists.txt create mode 100644 extensions/CMakeLists.txt create mode 100644 smelt/glfw/CMakeLists.txt diff --git a/.gitignore b/.gitignore index 56466e7..f33f023 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,6 @@ +# Build dirs +build/ + *.o *.a .directory diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..44cd5b6 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,13 @@ +project (smelt) + +cmake_minimum_required(VERSION 3.11) + +option (BUILD_DUMB "Disable sound support" OFF) +option (BUILD_EXTENSIONS "Build extensions" ON) + +add_subdirectory(smelt/glfw) + +if (BUILD_EXTENSIONS) + add_subdirectory(extensions) +endif () + diff --git a/extensions/CMakeLists.txt b/extensions/CMakeLists.txt new file mode 100644 index 0000000..2c265ad --- /dev/null +++ b/extensions/CMakeLists.txt @@ -0,0 +1,10 @@ +find_package(Freetype REQUIRED) + +file (GLOB SMELTTEXT_CPP_FILES "*.cpp") + +include_directories( + ${FREETYPE_INCLUDE_DIRS} + ${CMAKE_CURRENT_SOURCE_DIR}/../include +) + +add_library(smelttext STATIC ${SMELTTEXT_CPP_FILES}) diff --git a/smelt/glfw/CMakeLists.txt b/smelt/glfw/CMakeLists.txt new file mode 100644 index 0000000..6785ca1 --- /dev/null +++ b/smelt/glfw/CMakeLists.txt @@ -0,0 +1,30 @@ +option(BUILD_DUMB "Disable sound support" OFF) + +find_package(PkgConfig REQUIRED) +find_package(GLEW REQUIRED) +find_package(OpenAL REQUIRED) + +pkg_search_module(GLFW REQUIRED glfw3) + +set (SMELT_GLFW_CPP_FILES + gfx_glfw.cpp + sfx_oal.cpp + inp_glfw.cpp + sys_glfw.cpp +) + +include_directories( + ${GLFW_INCLUDE_DIRS} + ${GLEW_INCLUDE_DIRS} +) + +add_library(smelt STATIC ${SMELT_GLFW_CPP_FILES}) + +if (BUILD_DUMB) + message (STATUS "") + message (STATUS "BUILD_DUMB build option enabled") + message (STATUS "") + target_compile_definitions(smelt PRIVATE + ENABLE_DUMB + ) +endif () -- cgit v1.2.3