Why is my variable at the top most cmakelist not propogating to an add_subdirectory

Hi all

In my top most CMakeList.txt, I have defined a a varible as \
set(PICO_SDK_PATH "H:/pico_sdk" CACHE PATH "Path to the Raspberry Pi Pico SDK" FORCE)

and have called an add_subdirectory(Pico-PIO-USB)

and have defined this set(include_dir ${PICO_SDK_PATH}/src/rp2_common/hardware_pio/include)

However, when I debug it via message, I get C:/Users as my root path, which isn’t where I wanted it to begin from. And I have no idea why that is because I thought that the variables defined in the topmost CMakeLists.txt are supposed to go to the add_subdirectory ones.

Any help would be appreciated

Kind regards

Is there perhaps an ordinary (non-cache) set(PICO_SDK_PATH ...) somewhere in the Pico-PIO-USB/CMakeLists.txt (or anywhere before the add_subdirectory(), for that matter) which would thus shadow the cache variable?