diff --git a/CMakeLists.txt b/CMakeLists.txt index a9ff2e9458..fbe2002045 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -155,7 +155,8 @@ option(YUZU_USE_QT_MULTIMEDIA "Use QtMultimedia for Camera" OFF) option(YUZU_USE_QT_WEB_ENGINE "Use QtWebEngine for web applet implementation" OFF) set(YUZU_QT_MIRROR "" CACHE STRING "What mirror to use for downloading the bundled Qt libraries") -option(ENABLE_CUBEB "Enables the cubeb audio backend" ON) +# FreeBSD doesn't have a cubeb port yet, vendoring it isn't required (it's optional anyways) +cmake_dependent_option(ENABLE_CUBEB "Enables the cubeb audio backend" ON "NOT PLATFORM_FREEBSD" OFF) set(EXT_DEFAULT OFF) if (MSVC OR ANDROID) @@ -166,12 +167,13 @@ option(YUZU_USE_CPM "Use CPM to fetch system dependencies (fmt, boost, etc) if n option(YUZU_USE_BUNDLED_FFMPEG "Download bundled FFmpeg" ${EXT_DEFAULT}) cmake_dependent_option(YUZU_USE_EXTERNAL_FFMPEG "Build FFmpeg from source" OFF "NOT WIN32 AND NOT ANDROID" OFF) -cmake_dependent_option(ENABLE_LIBUSB "Enable the use of LibUSB" ON "NOT ANDROID" OFF) +# Re-allow on FreeBSD once its on mainline ports +cmake_dependent_option(ENABLE_LIBUSB "Enable the use of LibUSB" ON "WIN32 OR PLATFORM_LINUX OR APPLE" OFF) cmake_dependent_option(ENABLE_OPENGL "Enable OpenGL" ON "NOT WIN32 OR NOT ARCHITECTURE_arm64" OFF) mark_as_advanced(FORCE ENABLE_OPENGL) -option(ENABLE_WEB_SERVICE "Enable web services (telemetry, etc.)" ON) +cmake_dependent_option(ENABLE_WEB_SERVICE "Enable web services (telemetry, etc.)" ON "WIN32 OR ANDROID OR PLATFORM_LINUX OR APPLE" OFF) option(ENABLE_WIFI_SCAN "Enable WiFi scanning" OFF) cmake_dependent_option(USE_DISCORD_PRESENCE "Enables Discord Rich Presence" OFF "ENABLE_QT" OFF) diff --git a/docs/Deps.md b/docs/Deps.md index 573d1fe14a..0f7f655631 100644 --- a/docs/Deps.md +++ b/docs/Deps.md @@ -144,32 +144,8 @@ brew install molten-vk vulkan-loader
FreeBSD -``` -devel/cmake -devel/sdl20 -devel/boost-libs -devel/catch2 -devel/libfmt -devel/nlohmann-json -devel/ninja -devel/nasm -devel/autoconf -devel/pkgconf -devel/qt6-base - -net/enet - -multimedia/ffnvcodec-headers -multimedia/ffmpeg - -audio/opus - -archivers/liblz4 - -lang/gcc12 - -graphics/glslang -graphics/vulkan-utility-libraries +```sh +sudo pkg install devel/cmake devel/sdl20 devel/boost-libs devel/catch2 devel/libfmt devel/nlohmann-json devel/ninja devel/nasm devel/autoconf devel/pkgconf devel/qt6-base devel/simpleini net/enet multimedia/ffnvcodec-headers multimedia/ffmpeg audio/opus archivers/liblz4 lang/gcc12 graphics/glslang graphics/vulkan-utility-libraries graphics/spirv-tools www/cpp-httplib devel/jwt-cpp devel/unordered-dense devel/zydis ``` If using FreeBSD 12 or prior, use `devel/pkg-config` instead. diff --git a/src/input_common/CMakeLists.txt b/src/input_common/CMakeLists.txt index d455323e05..3c6c618ad0 100644 --- a/src/input_common/CMakeLists.txt +++ b/src/input_common/CMakeLists.txt @@ -83,7 +83,7 @@ if (ENABLE_LIBUSB) drivers/gc_adapter.h ) target_link_libraries(input_common PRIVATE libusb::usb) - target_compile_definitions(input_common PRIVATE HAVE_LIBUSB) + target_compile_definitions(input_common PRIVATE ENABLE_LIBUSB) endif() create_target_directory_groups(input_common) diff --git a/src/input_common/main.cpp b/src/input_common/main.cpp index 62a7ae40f8..b41c36438c 100644 --- a/src/input_common/main.cpp +++ b/src/input_common/main.cpp @@ -19,7 +19,7 @@ #include "input_common/input_poller.h" #include "input_common/main.h" -#ifdef HAVE_LIBUSB +#ifdef ENABLE_LIBUSB #include "input_common/drivers/gc_adapter.h" #endif #ifdef HAVE_SDL2 @@ -76,7 +76,7 @@ struct InputSubsystem::Impl { RegisterEngine("keyboard", keyboard); RegisterEngine("mouse", mouse); RegisterEngine("touch", touch_screen); -#ifdef HAVE_LIBUSB +#ifdef ENABLE_LIBUSB RegisterEngine("gcpad", gcadapter); #endif RegisterEngine("cemuhookudp", udp_client); @@ -110,7 +110,7 @@ struct InputSubsystem::Impl { UnregisterEngine(keyboard); UnregisterEngine(mouse); UnregisterEngine(touch_screen); -#ifdef HAVE_LIBUSB +#ifdef ENABLE_LIBUSB UnregisterEngine(gcadapter); #endif UnregisterEngine(udp_client); @@ -145,7 +145,7 @@ struct InputSubsystem::Impl { auto android_devices = android->GetInputDevices(); devices.insert(devices.end(), android_devices.begin(), android_devices.end()); #endif -#ifdef HAVE_LIBUSB +#ifdef ENABLE_LIBUSB auto gcadapter_devices = gcadapter->GetInputDevices(); devices.insert(devices.end(), gcadapter_devices.begin(), gcadapter_devices.end()); #endif @@ -178,7 +178,7 @@ struct InputSubsystem::Impl { return android; } #endif -#ifdef HAVE_LIBUSB +#ifdef ENABLE_LIBUSB if (engine == gcadapter->GetEngineName()) { return gcadapter; } @@ -263,7 +263,7 @@ struct InputSubsystem::Impl { return true; } #endif -#ifdef HAVE_LIBUSB +#ifdef ENABLE_LIBUSB if (engine == gcadapter->GetEngineName()) { return true; } @@ -294,7 +294,7 @@ struct InputSubsystem::Impl { #ifdef ANDROID android->BeginConfiguration(); #endif -#ifdef HAVE_LIBUSB +#ifdef ENABLE_LIBUSB gcadapter->BeginConfiguration(); #endif udp_client->BeginConfiguration(); @@ -310,7 +310,7 @@ struct InputSubsystem::Impl { #ifdef ANDROID android->EndConfiguration(); #endif -#ifdef HAVE_LIBUSB +#ifdef ENABLE_LIBUSB gcadapter->EndConfiguration(); #endif udp_client->EndConfiguration(); @@ -343,7 +343,7 @@ struct InputSubsystem::Impl { std::shared_ptr virtual_amiibo; std::shared_ptr virtual_gamepad; -#ifdef HAVE_LIBUSB +#ifdef ENABLE_LIBUSB std::shared_ptr gcadapter; #endif