diff --git a/CMakeLists.txt b/CMakeLists.txt index 45dd691db..310cec594 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -189,13 +189,13 @@ if (Qt5_POSITION_INDEPENDENT_CODE) SET(CMAKE_POSITION_INDEPENDENT_CODE ON) endif() -# Find toml++ if(NOT Launcher_FORCE_BUNDLED_LIBS) + # Find toml++ find_package(tomlplusplus 3.2.0 QUIET) -endif() -# Workaround ghc::filesystem bug -set(GHC_FILESYSTEM_WITH_INSTALL OFF) + # Find ghc_filesystem + find_package(ghc_filesystem QUIET) +endif() ####################################### Program Info ####################################### @@ -326,7 +326,14 @@ endif() add_subdirectory(libraries/katabasis) # An OAuth2 library that tried to do too much add_subdirectory(libraries/gamemode) add_subdirectory(libraries/murmur2) # Hash for usage with the CurseForge API -add_subdirectory(libraries/filesystem) # Implementation of std::filesystem for old C++, for usage in old macOS +if (NOT ghc_filesystem_FOUND) + message(STATUS "Using bundled ghc_filesystem") + set(GHC_FILESYSTEM_WITH_INSTALL OFF) # Workaround ghc::filesystem bug + add_subdirectory(libraries/filesystem) # Implementation of std::filesystem for old C++, for usage in old macOS + add_library(ghcFilesystem::ghc_filesystem ALIAS ghc_filesystem) +else() + message(STATUS "Using system ghc_filesystem") +endif() ############################### Built Artifacts ############################### diff --git a/launcher/CMakeLists.txt b/launcher/CMakeLists.txt index d04f3e4da..c7d0d68cb 100644 --- a/launcher/CMakeLists.txt +++ b/launcher/CMakeLists.txt @@ -976,7 +976,7 @@ target_link_libraries(Launcher_logic BuildConfig Katabasis Qt${QT_VERSION_MAJOR}::Widgets - ghc_filesystem + ghcFilesystem::ghc_filesystem ) if (UNIX AND NOT CYGWIN AND NOT APPLE)