diff --git a/.gitignore b/.gitignore index 3a3ac58e04a7850a08816fe4d90a9d86cfc51d48..dddc9b566ab3904f05859e55862ded661f12216f 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 0000000000000000000000000000000000000000..165726c55de527350183f979034a1888f7916b98 --- /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 0000000000000000000000000000000000000000..c5194b7438cd4c3a19f1784ce672cf3e8c9af48e --- /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 0000000000000000000000000000000000000000..f1af6478d637ea415b2a15d5dfd6466d10ce9ab6 --- /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 0000000000000000000000000000000000000000..5c47899901e477a57393e18c8784e5a615fea806 --- /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 0000000000000000000000000000000000000000..0534d3276b3966e87abacd163f757454b6fcf724 --- /dev/null +++ b/build-aux/shared-modules @@ -0,0 +1 @@ +Subproject commit 0534d3276b3966e87abacd163f757454b6fcf724 diff --git a/fggl/CMakeLists.txt b/fggl/CMakeLists.txt index f2f20eaab7856a81db6686d7c52599ef88c21737..a5307366f53b3c20986a6cf37c5066c4f06e5b9c 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 26447b98baf15632f9bfa140363c6d1a005ecea8..2ea02a987b482d0f4443aa7864ff6980e7e30d0b 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)