From 57bcc77d37c57c3d50a2764301d86d12d52c5708 Mon Sep 17 00:00:00 2001 From: Joseph Walton-Rivers <joseph@walton-rivers.uk> Date: Fri, 17 Dec 2021 17:33:46 +0000 Subject: [PATCH] first attempt at flatpak support --- .gitignore | 1 + .gitmodules | 3 +++ build-aux/com.fossgalaxy.fggl.demo.yml | 25 +++++++++++++++++++++++++ build-aux/modules/glm-0.9.9.8.json | 22 ++++++++++++++++++++++ build-aux/modules/googletest.yml | 6 ++++++ build-aux/shared-modules | 1 + fggl/CMakeLists.txt | 5 ++++- tests/CMakeLists.txt | 3 +++ 8 files changed, 65 insertions(+), 1 deletion(-) create mode 100644 .gitmodules create mode 100644 build-aux/com.fossgalaxy.fggl.demo.yml create mode 100644 build-aux/modules/glm-0.9.9.8.json create mode 100644 build-aux/modules/googletest.yml create mode 160000 build-aux/shared-modules diff --git a/.gitignore b/.gitignore index 3a3ac58..dddc9b5 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ builds/ cmake-build-debug/ cmake-build-debug-coverage/ imgui.ini +.flatpak-builder/ # dotfiles .idea/ diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..165726c --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "build-aux/shared-modules"] + path = build-aux/shared-modules + url = https://github.com/flathub/shared-modules.git diff --git a/build-aux/com.fossgalaxy.fggl.demo.yml b/build-aux/com.fossgalaxy.fggl.demo.yml new file mode 100644 index 0000000..c5194b7 --- /dev/null +++ b/build-aux/com.fossgalaxy.fggl.demo.yml @@ -0,0 +1,25 @@ +app-id: com.fossgalaxy.fggl.demo +runtime: org.freedesktop.Platform.GL.default +runtime-version: '21.08' +sdk: org.freedesktop.Sdk +command: fggl-demo +modules: + - name: glfw + buildsystem: cmake-ninja + builddir: true + sources: + - type: archive + url: https://github.com/glfw/glfw/releases/download/3.3.4/glfw-3.3.4.zip + sha256: bbd2c42c660b725e9755eb417e40b373f0d4c03138c9b2e210d02cd308bd99cd + cleanup: + - /include + - /lib/pkgconfig + - modules/glm-0.9.9.8.json + - shared-modules/glew/glew.json + - shared-modules/glu/glu-9.json + - modules/googletest.yml + - name: fggl + buildsystem: cmake + sources: + - type: dir + path: ../ diff --git a/build-aux/modules/glm-0.9.9.8.json b/build-aux/modules/glm-0.9.9.8.json new file mode 100644 index 0000000..f1af647 --- /dev/null +++ b/build-aux/modules/glm-0.9.9.8.json @@ -0,0 +1,22 @@ +{ + "name": "glm", + "buildsystem": "simple", + "build-commands": [ + "mkdir -p /app/include/", + "cp -vr glm /app/include/", + "rm -v /app/include/glm/CMakeLists.txt", + "mkdir -p /app/lib/", + "cp -vr cmake /app/lib/" + ], + "sources": [ + { + "type": "git", + "url": "https://github.com/g-truc/glm.git", + "tag": "0.9.9.8" + } + ], + "cleanup": [ + "/include", + "/lib/cmake" + ] +} diff --git a/build-aux/modules/googletest.yml b/build-aux/modules/googletest.yml new file mode 100644 index 0000000..5c47899 --- /dev/null +++ b/build-aux/modules/googletest.yml @@ -0,0 +1,6 @@ +name: googletest +buildsystem: cmake +sources: + - type: archive + url: https://github.com/google/googletest/archive/refs/tags/release-1.11.0.zip + sha256: 353571c2440176ded91c2de6d6cd88ddd41401d14692ec1f99e35d013feda55a diff --git a/build-aux/shared-modules b/build-aux/shared-modules new file mode 160000 index 0000000..0534d32 --- /dev/null +++ b/build-aux/shared-modules @@ -0,0 +1 @@ +Subproject commit 0534d3276b3966e87abacd163f757454b6fcf724 diff --git a/fggl/CMakeLists.txt b/fggl/CMakeLists.txt index f2f20ea..a530736 100644 --- a/fggl/CMakeLists.txt +++ b/fggl/CMakeLists.txt @@ -1,6 +1,9 @@ configure_file(FgglConfig.h.in FgglConfig.h) -set(CMAKE_CXX_CLANG_TIDY clang-tidy -checks=*,-llvmlibc-*,-fuchsia-*,-cppcoreguidelines-*,-llvm-*) +find_program(CLANG_TIDY_FOUND clang-tidy) +if ( CLANG_TIDY_FOUND ) + set(CMAKE_CXX_CLANG_TIDY clang-tidy -checks=*,-llvmlibc-*,-fuchsia-*,-cppcoreguidelines-*,-llvm-*) +endif() add_library(fggl fggl.cpp ecs/ecs.cpp diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 26447b9..2ea02a9 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -1,6 +1,8 @@ find_package(Threads REQUIRED) # GTest Dependency +find_package(GTest) +if ( NOT GTest_FOUND ) include(FetchContent) FetchContent_Declare( googletest @@ -9,5 +11,6 @@ FetchContent_Declare( # For Windows: Prevent overriding the parent project's compiler/linker settings set(gtest_force_shared_crt ON CACHE BOOL "" FORCE) FetchContent_MakeAvailable(googletest) +endif () add_subdirectory(testfggl) -- GitLab