Browse Source

[cmake, doc] update freebsd docs & fix ext and bundled defaults

Signed-off-by: crueter <crueter@eden-emu.dev>
pull/386/head
crueter 6 months ago
parent
commit
ab25ac62f5
No known key found for this signature in database GPG Key ID: 425ACD2D4830EBC6
  1. 10
      CMakeLists.txt
  2. 5
      CMakeModules/CPMUtil.cmake
  3. 12
      docs/build/FreeBSD.md

10
CMakeLists.txt

@ -48,10 +48,11 @@ endif()
# On Linux system SDL2 is likely to be lacking HIDAPI support which have drawbacks but is needed for SDL motion # On Linux system SDL2 is likely to be lacking HIDAPI support which have drawbacks but is needed for SDL motion
CMAKE_DEPENDENT_OPTION(ENABLE_SDL2 "Enable the SDL2 frontend" ON "NOT ANDROID" OFF) CMAKE_DEPENDENT_OPTION(ENABLE_SDL2 "Enable the SDL2 frontend" ON "NOT ANDROID" OFF)
set(EXT_DEFAULT ON)
set(EXT_DEFAULT OFF)
if (PLATFORM_FREEBSD)
set(EXT_DEFAULT OFF)
# TODO(crueter): Proper handling for ffmpeg, sdl2, etc.
if (MSVC OR ANDROID)
set(EXT_DEFAULT ON)
endif() endif()
CMAKE_DEPENDENT_OPTION(YUZU_USE_EXTERNAL_SDL2 "Compile external SDL2" ${EXT_DEFAULT} "ENABLE_SDL2;NOT MSVC" OFF) CMAKE_DEPENDENT_OPTION(YUZU_USE_EXTERNAL_SDL2 "Compile external SDL2" ${EXT_DEFAULT} "ENABLE_SDL2;NOT MSVC" OFF)
@ -67,7 +68,7 @@ option(ENABLE_QT_UPDATE_CHECKER "Enable update checker for the Qt frontend" OFF)
CMAKE_DEPENDENT_OPTION(YUZU_USE_BUNDLED_QT "Download bundled Qt binaries" "${MSVC}" "ENABLE_QT" OFF) CMAKE_DEPENDENT_OPTION(YUZU_USE_BUNDLED_QT "Download bundled Qt binaries" "${MSVC}" "ENABLE_QT" OFF)
option(YUZU_USE_CPM "Use CPM to fetch Eden dependencies if needed" ${EXT_DEFAULT})
option(YUZU_USE_CPM "Use CPM to fetch system dependencies (fmt, boost, etc) if needed. Externals will still be fetched." ${EXT_DEFAULT})
option(ENABLE_WEB_SERVICE "Enable web services (telemetry, etc.)" ON) option(ENABLE_WEB_SERVICE "Enable web services (telemetry, etc.)" ON)
option(ENABLE_WIFI_SCAN "Enable WiFi scanning" OFF) option(ENABLE_WIFI_SCAN "Enable WiFi scanning" OFF)
@ -93,6 +94,7 @@ option(YUZU_TESTS "Compile tests" "${BUILD_TESTING}")
option(YUZU_USE_PRECOMPILED_HEADERS "Use precompiled headers" ${EXT_DEFAULT}) option(YUZU_USE_PRECOMPILED_HEADERS "Use precompiled headers" ${EXT_DEFAULT})
# TODO(crueter): CI this?
option(YUZU_DOWNLOAD_ANDROID_VVL "Download validation layer binary for android" ON) option(YUZU_DOWNLOAD_ANDROID_VVL "Download validation layer binary for android" ON)
option(FORCE_DOWNLOAD_WIN_BUNDLES "Forcefully download bundled Windows dependencies (useful for CI)" OFF) option(FORCE_DOWNLOAD_WIN_BUNDLES "Forcefully download bundled Windows dependencies (useful for CI)" OFF)

5
CMakeModules/CPMUtil.cmake

@ -11,10 +11,11 @@
# Future crueter: Wow this was a lie and a half, at this point I might as well make my own CPN # Future crueter: Wow this was a lie and a half, at this point I might as well make my own CPN
# haha just kidding... unless? # haha just kidding... unless?
# TODO(crueter): Remember to get more than 6 hours of sleep whenever making giant cmake changes
if (MSVC OR ANDROID) if (MSVC OR ANDROID)
set(BUNDLED_DEFAULT OFF)
else()
set(BUNDLED_DEFAULT ON) set(BUNDLED_DEFAULT ON)
else()
set(BUNDLED_DEFAULT OFF)
endif() endif()
option(CPMUTIL_FORCE_BUNDLED option(CPMUTIL_FORCE_BUNDLED

12
docs/build/FreeBSD.md

@ -1,13 +1,7 @@
## One word of caution before proceeding.
This is not the usual or preferred way to build programs on FreeBSD.
As of writing there is no official fresh port available for Eden, but it is in the works.
After it is available you can find a link to the eden-emu fresh port here and on Escary's github repo.
See this build as an AppImage alternative for FreeBSD.
Eden is not currently available as a port on FreeBSD, though it is in the works. For now, the recommended method of usage is to compile it yourself. Check back often, as the build process frequently changes.
## Dependencies. ## Dependencies.
Before we start we need some dependencies.
These dependencies are generally needed to build Eden on FreeBSD.
Eden needs the following dependencies:
``` ```
devel/cmake devel/cmake
@ -22,6 +16,8 @@ devel/autoconf
devel/pkgconf devel/pkgconf
devel/qt6-base devel/qt6-base
net/enet
multimedia/ffnvcodec-headers multimedia/ffnvcodec-headers
multimedia/ffmpeg multimedia/ffmpeg

Loading…
Cancel
Save