Merge pull request 'CMake cache checks' (#149) from cmake-cache-checks into master
Reviewed-on: https://git.madvoxel.net/OpenVulkano/OpenVulkano/pulls/149 Reviewed-by: Georg Hagen <georg.hagen@madvoxel.com>
This commit is contained in:
@@ -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}}
|
||||||
@@ -68,9 +85,6 @@ jobs:
|
|||||||
overwrite: true
|
overwrite: true
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
build_iOS:
|
build_iOS:
|
||||||
name: Build iOS
|
name: Build iOS
|
||||||
runs-on: mac_arm
|
runs-on: mac_arm
|
||||||
|
|||||||
3
.gitmodules
vendored
3
.gitmodules
vendored
@@ -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
|
||||||
|
|||||||
6
3rdParty/msdf/CMakeLists.txt
vendored
6
3rdParty/msdf/CMakeLists.txt
vendored
@@ -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()
|
||||||
|
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
1
cmake/cmake-checks-cache
Submodule
1
cmake/cmake-checks-cache
Submodule
Submodule cmake/cmake-checks-cache added at fa345a9dbd
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user