Merge branch 'master' of git.madvoxel.net:OpenVulkano/OpenVulkano

This commit is contained in:
Georg Hagen
2024-10-25 08:44:30 +02:00
6 changed files with 41 additions and 10 deletions

View File

@@ -34,10 +34,27 @@ jobs:
run: > run: >
sudo apt update && sudo apt install -y extra-cmake-modules libwayland-dev libxkbcommon-dev xorg-dev libarchive-dev libassimp-dev ninja-build glslang-tools glslang-dev unzip zip libcurl4-openssl-dev libfreetype-dev libjpeg-turbo8-dev nasm sudo apt update && sudo apt install -y extra-cmake-modules libwayland-dev libxkbcommon-dev xorg-dev libarchive-dev libassimp-dev ninja-build glslang-tools glslang-dev unzip zip libcurl4-openssl-dev libfreetype-dev libjpeg-turbo8-dev nasm
&& sudo wget https://sourceforge.net/projects/bin2c/files/1.1/bin2c-1.1.zip && sudo unzip bin2c-1.1.zip && cd bin2c && sudo gcc -o bin2c bin2c.c && sudo mv bin2c /usr/bin && sudo wget https://sourceforge.net/projects/bin2c/files/1.1/bin2c-1.1.zip && sudo unzip bin2c-1.1.zip && cd bin2c && sudo gcc -o bin2c bin2c.c && sudo mv bin2c /usr/bin
- name: Get cmake checks from cache
uses: actions/cache@v4
id: cache
with:
path: |
${{github.workspace}}/build/cmake_checks_cache.txt
${{github.workspace}}/build/CMakeFiles/**/CMake*.cmake
key: ${{runner.os}}-cmake-checks
- name: Configure CMake - name: Configure CMake
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DDEPENDENCY_MIRROR_FILE="${{github.workspace}}/.gitea/workflows/DependencyMirrors.txt" shell: bash
run: |
if [ "${{ steps.cache.outputs.cache-hit }}" != "true" ]; then
cmake -B "${{github.workspace}}/build" -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DDEPENDENCY_MIRROR_FILE="${{github.workspace}}/.gitea/workflows/DependencyMirrors.txt"
else
cmake -B "${{github.workspace}}/build" -C ${{github.workspace}}/build/cmake_checks_cache.txt -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DDEPENDENCY_MIRROR_FILE="${{github.workspace}}/.gitea/workflows/DependencyMirrors.txt"
fi
- name: Build - name: Build
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} shell: bash
run: cmake --build "${{github.workspace}}/build" --config ${{env.BUILD_TYPE}}
- name: Test - name: Test
working-directory: ${{github.workspace}}/build working-directory: ${{github.workspace}}/build
run: ctest -C ${{env.BUILD_TYPE}} run: ctest -C ${{env.BUILD_TYPE}}
@@ -67,9 +84,6 @@ jobs:
retention-days: 30 retention-days: 30
overwrite: true overwrite: true
build_iOS: build_iOS:
name: Build iOS name: Build iOS

3
.gitmodules vendored
View File

@@ -1,3 +1,6 @@
[submodule "doc"] [submodule "doc"]
path = doc path = doc
url = git@git.madvoxel.net:OpenVulkano/OpenVulkano.wiki.git url = git@git.madvoxel.net:OpenVulkano/OpenVulkano.wiki.git
[submodule "cmake/cmake-checks-cache"]
path = cmake/cmake-checks-cache
url = https://github.com/cristianadam/cmake-checks-cache.git

View File

@@ -12,12 +12,13 @@ if (ENABLE_MSDF)
if(NOT DEFINED FREETYPE_REPO) if(NOT DEFINED FREETYPE_REPO)
set(FREETYPE_REPO https://github.com/freetype/freetype.git) set(FREETYPE_REPO https://github.com/freetype/freetype.git)
endif() endif()
if (NOT DEFINED FREETYPE_BUILT_FROM_SOURCES)
unset(freetype_FOUND) unset(freetype_FOUND)
endif()
if (NOT IOS) if (NOT IOS)
find_package(freetype QUIET) find_package(freetype QUIET)
endif () endif ()
if (NOT freetype_FOUND OR NOT EXISTS "${CMAKE_BINARY_DIR}/_deps/freetype-src/build") if (NOT freetype_FOUND AND NOT FREETYPE_BUILT_FROM_SOURCES)
message("Installing freetype from sources") message("Installing freetype from sources")
FetchContent_Declare( FetchContent_Declare(
freetype freetype
@@ -55,6 +56,7 @@ if (ENABLE_MSDF)
endif() endif()
set(FREETYPE_INCLUDE_DIR "${FT_SRC_DIR}/freetype-install/include/freetype2" CACHE INTERNAL "ft include dir" FORCE) set(FREETYPE_INCLUDE_DIR "${FT_SRC_DIR}/freetype-install/include/freetype2" CACHE INTERNAL "ft include dir" FORCE)
set(FREETYPE_BUILT_FROM_SOURCES ON CACHE BOOL "ft built from sources" FORCE) set(FREETYPE_BUILT_FROM_SOURCES ON CACHE BOOL "ft built from sources" FORCE)
set(freetype_FOUND ON CACHE BOOL "" FORCE)
list(APPEND CMAKE_PREFIX_PATH "${FT_SRC_DIR}/freetype-install") list(APPEND CMAKE_PREFIX_PATH "${FT_SRC_DIR}/freetype-install")
endif() endif()

View File

@@ -15,7 +15,9 @@ if(LINUX)
find_package(ECM REQUIRED NO_MODULE) find_package(ECM REQUIRED NO_MODULE)
set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH}) set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
endif() endif()
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules" "${CMAKE_CURRENT_SOURCE_DIR}/cmake/functions") set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake/cmake-checks-cache/CMakeChecksCache"
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules"
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/functions")
include(VarsFromFile) include(VarsFromFile)
include(SetCompilerSettings) include(SetCompilerSettings)

View File

@@ -1,7 +1,16 @@
cmake_minimum_required(VERSION 3.28 FATAL_ERROR) cmake_minimum_required(VERSION 3.28 FATAL_ERROR)
set(BASH_EXECUTABLE "" CACHE FILEPATH "Path to bash executable") set(BASH_EXECUTABLE "" CACHE FILEPATH "Path to bash executable")
if(WIN32)
# prefer using git's bash over WSL's(if it exists) under System32 since it leads to wrong shader generation
find_program(GIT_PROGRAM git NO_CACHE REQUIRED)
get_filename_component(GIT_DIR ${GIT_PROGRAM} DIRECTORY)
get_filename_component(GIT_BASE_DIR ${GIT_DIR} DIRECTORY)
find_program(BASH_PROGRAM bash HINTS "${GIT_BASE_DIR}/bin" NO_CACHE NO_DEFAULT_PATH QUIET)
if (BASH_PROGRAM)
set(BASH_EXECUTABLE ${BASH_PROGRAM} CACHE FILEPATH "Path to bash executable" FORCE)
endif()
endif()
if ("${BASH_EXECUTABLE}" STREQUAL "") if ("${BASH_EXECUTABLE}" STREQUAL "")
find_program(BASH_PROGRAM bash NO_CACHE REQUIRED) find_program(BASH_PROGRAM bash NO_CACHE REQUIRED)
set(BASH_EXECUTABLE ${BASH_PROGRAM} CACHE FILEPATH "Path to bash executable" FORCE) set(BASH_EXECUTABLE ${BASH_PROGRAM} CACHE FILEPATH "Path to bash executable" FORCE)