diff --git a/openVulkanoCpp/CMakeLists.txt b/openVulkanoCpp/CMakeLists.txt index ae21b7b..9992db6 100644 --- a/openVulkanoCpp/CMakeLists.txt +++ b/openVulkanoCpp/CMakeLists.txt @@ -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)