diff --git a/.github/workflows/build-os.yml b/.github/workflows/build-os.yml index 3d4b267..c122aad 100644 --- a/.github/workflows/build-os.yml +++ b/.github/workflows/build-os.yml @@ -74,6 +74,13 @@ jobs: cmake -S . -B build-cmake \ -DCMAKE_BUILD_TYPE=Release \ -DNO_COLOR=1 \ + -DCC=gcc \ + -DKERNEL_CXX=g++ \ + -DLD=ld.lld \ + -DUSER_CC=cc \ + -DUSER_LD=ld.lld \ + -DNM=llvm-nm \ + -DADDR2LINE=llvm-addr2line \ -DLIMINE_REPO=https://github.com/limine-bootloader/limine.git - name: Build ISO diff --git a/CMakeLists.txt b/CMakeLists.txt index a1abf84..6ae5e08 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -56,16 +56,20 @@ function(resolve_tool_with_fallback VAR_NAME) endif() set(_resolved "${_requested}") else() + unset(_requested_path CACHE) + unset(_requested_path) find_program(_requested_path NAMES "${_requested}") if(_requested_path) - set(_resolved "${_requested}") + set(_resolved "${_requested_path}") else() set(_resolved "") foreach(_cand IN LISTS _fallbacks) + unset(_cand_path CACHE) + unset(_cand_path) find_program(_cand_path NAMES "${_cand}") if(_cand_path) cl_log_warn("${VAR_NAME} '${_requested}' not found; fallback to '${_cand}'") - set(_resolved "${_cand}") + set(_resolved "${_cand_path}") break() endif() endforeach()