use git's bash version over wsl's by default on windows

This commit is contained in:
ohyzha
2024-10-21 17:55:05 +03:00
parent 03d8a65e96
commit 5a74052c04

View File

@@ -1,10 +1,18 @@
cmake_minimum_required(VERSION 3.28 FATAL_ERROR)
set(BASH_EXECUTABLE "" CACHE FILEPATH "Path to bash executable")
if ("${BASH_EXECUTABLE}" STREQUAL "")
find_program(BASH_PROGRAM bash NO_CACHE REQUIRED)
set(BASH_EXECUTABLE ${BASH_PROGRAM} CACHE FILEPATH "Path to bash executable" FORCE)
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 REQUIRED)
set(BASH_EXECUTABLE ${BASH_PROGRAM} CACHE FILEPATH "Path to bash executable")
else()
set(BASH_EXECUTABLE "" CACHE FILEPATH "Path to bash executable")
if ("${BASH_EXECUTABLE}" STREQUAL "")
find_program(BASH_PROGRAM bash NO_CACHE REQUIRED)
set(BASH_EXECUTABLE ${BASH_PROGRAM} CACHE FILEPATH "Path to bash executable" FORCE)
endif()
endif()
# go from openVulkano/OpenVulkanoCpp to openVulkano
cmake_path(GET CMAKE_CURRENT_SOURCE_DIR PARENT_PATH ROOT_FOLDER)