[cmake] fix issues when using CPMUTIL_FORCE_SYSTEM #399
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "marcin-serwin/eden:push-oxnknwkznumv"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
@ -479,6 +480,15 @@ else()
endif()
endif()
# Xbyak (also used by Dynarmic and video_core so needs to be added first)
This isn't needed; we should instead do a find_package(xbyak) in root to propagate the target
@ -0,0 +3,4 @@
include(FindPackageHandleStandardArgs)
find_package(PkgConfig QUIET)
Add MODULE to sirit find_args
@ -59,3 +62,3 @@
DESTINATION
${NX_TZDB_BASE_DIR})
else()
elseif(NOT EXISTS ${NX_TZDB_BASE_DIR})
This doesn't work since cpm uses a different src cache. It already doesn't download if it exists due to CPM
This is deliberate, I want to use predownloaded tzdb so I put it in this path before running configuration, I don't use CPM or its cache for this. This is similar to how this worked in yuzu. Perhaps a better way to do it would be some cmake option to set the path beforehand like
YUZU_PREDOWNLOADED_TZDB_PATH
and we only use CPM if it's undefined? WDYT?You can use a predownloaded tzdb with
tools/cpm-fetch.sh tzdb
But this involves running CPM and I want to avoid that.
The CPM fetch scripts are fully shell-based, they don't have any CMake going on. It's the same thing as predownloading with e.g wget, it just puts it in a place that CMake can use it.
This messes up hash of fixed output derivation in Nix and prevents reusing them between builds. I want to use the files predownloaded by Nix and not CPM or any bash script.
Ah, okay; then let's add a
set(YUZU_TZDB_PATH "" CACHE STRING "Path to a pre-downloaded timezone database")
, and in nx_tzdb do anif(YUZU_TZDB_PATH)
check before the MSVC checkDone
actually we may be able to move xbyak to dynarmic externals? need to check
4f6d635edd
to3f7c4927bc
3f7c4927bc
to9a9deced46
9a9deced46
to678cb591fd
@ -36,3 +36,1 @@
# TODO(crueter): This is a terrible solution, but MSVC fails to link without it
# Need to investigate further but I still can't reproduce...
if (MSVC)
if(NOT YUZU_TZDB_PATH STREQUAL "")
STREQUAL ""
is technically redundant,if
already handles this case, but not a huge deal tbhI've had issues with this before and official docs indicate that
if(<string>)
doesn't really work like that: https://cmake.org/cmake/help/latest/command/if.html#string