@ -28,23 +28,23 @@ if (NOT DEFINED ARCHITECTURE)
endif ( )
# N e e d e d f o r F F m p e g w / V A A P I a n d D R M
if ( PLATFORM_ OPENBSD)
if ( OPENBSD )
# O p e n B S D 7 . 8 b r o k e l i b c x x w h e n u p g r a d i n g , s o w e m u s t d e f i n e t h e P S T L b a c k e n d m a n u a l l y
set ( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -I${CMAKE_SYSROOT}/usr/X11R6/include -D_LIBCPP_PSTL_BACKEND_SERIAL=1" )
set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -I${CMAKE_SYSROOT}/usr/X11R6/include -D_LIBCPP_PSTL_BACKEND_SERIAL=1" )
set ( CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -L${CMAKE_SYSROOT}/usr/X11R6/lib" )
elseif ( PLATFORM_ NETBSD)
elseif ( NETBSD )
set ( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -I${CMAKE_SYSROOT}/usr/X11R7/include -I${CMAKE_SYSROOT}/usr/pkg/include/c++/v1" )
set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -I${CMAKE_SYSROOT}/usr/X11R7/include -I${CMAKE_SYSROOT}/usr/pkg/include/c++/v1" )
set ( CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -L${CMAKE_SYSROOT}/usr/X11R7/lib" )
endif ( )
# N e t B S D : F u n f o r t h e w h o l e f a m i l y !
if ( PLATFORM_ NETBSD)
if ( NETBSD )
set ( ENV{PKG_CONFIG_PATH} "${PKG_CONFIG_PATH}:${CMAKE_SYSROOT}/usr/pkg/lib/ffmpeg7/pkgconfig" )
endif ( )
cmake_dependent_option ( YUZU_STATIC_ROOM "Build a static room executable only (CI only)" OFF "PLATFORM_ LINUX" OFF )
cmake_dependent_option ( YUZU_STATIC_ROOM "Build a static room executable only (CI only)" OFF "LINUX" OFF )
if ( YUZU_STATIC_ROOM )
set ( YUZU_ROOM ON )
set ( YUZU_ROOM_STANDALONE ON )
@ -224,7 +224,7 @@ endif()
# f f m p e g
option ( YUZU_USE_BUNDLED_FFMPEG "Download bundled FFmpeg" ${ EXT_DEFAULT } )
cmake_dependent_option ( YUZU_USE_EXTERNAL_FFMPEG "Build FFmpeg from external source" "${PLATFORM_SUN }" "NOT WIN32 AND NOT ANDROID" OFF )
cmake_dependent_option ( YUZU_USE_EXTERNAL_FFMPEG "Build FFmpeg from external source" "${SOLARIS }" "NOT WIN32 AND NOT ANDROID" OFF )
# s i r i t
set ( BUNDLED_SIRIT_DEFAULT OFF )
@ -235,7 +235,7 @@ endif()
option ( YUZU_USE_BUNDLED_SIRIT "Download bundled sirit" ${ BUNDLED_SIRIT_DEFAULT } )
# F r e e B S D 1 5 + h a s l i b u s b , v e r s i o n s b e l o w s h o u l d d i s a b l e i t
cmake_dependent_option ( ENABLE_LIBUSB "Enable the use of LibUSB" ON "WIN32 OR PLATFORM_ LINUX OR PLATFORM_ FREEBSD OR APPLE" OFF )
cmake_dependent_option ( ENABLE_LIBUSB "Enable the use of LibUSB" ON "WIN32 OR LINUX OR FREEBSD OR APPLE" OFF )
cmake_dependent_option ( ENABLE_OPENGL "Enable OpenGL" ON "NOT (WIN32 AND ARCHITECTURE_arm64) AND NOT APPLE" OFF )
mark_as_advanced ( FORCE ENABLE_OPENGL )
@ -249,7 +249,7 @@ option(YUZU_TESTS "Compile tests" "${BUILD_TESTING}")
# I n s t a l l u d e v r u l e s o n Linux ( mainly for gyros )
# O n l y a c t s o n j o y s t i c k s a n d n o t h i n g e l s e .
cmake_dependent_option ( YUZU_INSTALL_UDEV_RULES "Install udev rules for gyro access" OFF "PLATFORM_ LINUX" OFF )
cmake_dependent_option ( YUZU_INSTALL_UDEV_RULES "Install udev rules for gyro access" OFF "LINUX" OFF )
option ( YUZU_DOWNLOAD_ANDROID_VVL "Download validation layer binary for android" ON )
@ -262,7 +262,7 @@ cmake_dependent_option(YUZU_ROOM_STANDALONE "Enable standalone room executable"
cmake_dependent_option ( YUZU_CMD "Compile the eden-cli executable" ON "NOT ANDROID" OFF )
cmake_dependent_option ( YUZU_CRASH_DUMPS "Compile crash dump (Minidump) support" OFF "WIN32 OR PLATFORM_ LINUX" OFF )
cmake_dependent_option ( YUZU_CRASH_DUMPS "Compile crash dump (Minidump) support" OFF "WIN32 OR LINUX" OFF )
option ( YUZU_DOWNLOAD_TIME_ZONE_DATA "Always download time zone binaries" ON )
set ( YUZU_TZDB_PATH "" CACHE STRING "Path to a pre-downloaded timezone database" )
@ -272,7 +272,7 @@ cmake_dependent_option(YUZU_USE_BUNDLED_MOLTENVK "Download bundled MoltenVK lib"
option ( YUZU_DISABLE_LLVM "Disable LLVM (useful for CI)" OFF )
set ( DEFAULT_YUZU_USE_BUNDLED_OPENSSL OFF )
if ( EXT_DEFAULT OR PLATFORM_SUN OR PLATFORM_ OPENBSD)
if ( EXT_DEFAULT OR SOLARIS OR OPENBSD )
set ( DEFAULT_YUZU_USE_BUNDLED_OPENSSL ON )
endif ( )
@ -295,7 +295,7 @@ if(EXISTS ${PROJECT_SOURCE_DIR}/hooks/pre-commit AND NOT EXISTS ${PROJECT_SOURCE
endif ( )
endif ( )
if ( ARCHITECTURE_arm64 AND ( ANDROID OR PLATFORM_ LINUX) )
if ( ARCHITECTURE_arm64 AND ( ANDROID OR LINUX ) )
set ( HAS_NCE 1 )
add_compile_definitions ( HAS_NCE=1 )
endif ( )
@ -304,7 +304,7 @@ if (YUZU_ROOM)
add_compile_definitions ( YUZU_ROOM )
endif ( )
if ( UNIX AND NOT ( PLATFORM_ LINUX OR WIN32 ) )
if ( UNIX AND NOT ( LINUX OR WIN32 ) )
if ( CXX_APPLE OR CXX_CLANG )
# l i b c + + h a s s t o p _ t o k e n a n d j t h r e a d a s e x p e r i m e n t a l
set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fexperimental-library" )
@ -418,7 +418,7 @@ if (Boost_ADDED)
if ( NOT MSVC OR CXX_CLANG )
# b o o s t s u c k s
if ( PLATFORM_SUN )
if ( SOLARIS )
add_compile_options ( $< $<COMPILE_LANGUAGE:C,CXX > :-pthreads> )
endif ( )
@ -522,9 +522,9 @@ elseif (WIN32)
# P S A P I i s t h e P r o c e s s S t a t u s A P I
set ( PLATFORM_LIBRARIES ${ PLATFORM_LIBRARIES } psapi imm32 version crypt32 rpcrt4 gdi32 wldap32 mswsock )
endif ( )
elseif ( PLATFORM_ MANAGARM)
elseif ( MANAGARM )
set ( PLATFORM_LIBRARIES iconv intl )
elseif ( PLATFORM_ HAIKU)
elseif ( HAIKUOS )
# H a i k u i s s o s p e c i a l : )
set ( PLATFORM_LIBRARIES bsd /boot/system/lib/libnetwork.so )
elseif ( CMAKE_SYSTEM_NAME MATCHES "^(Linux|kFreeBSD|GNU|SunOS)$" )
@ -618,7 +618,7 @@ if (ENABLE_QT)
# B e s t p r a c t i c e i s t o a s k f o r a l l c o m p o n e n t s a t o n c e , s o t h e y a r e f r o m t h e s a m e v e r s i o n
set ( YUZU_QT_COMPONENTS Core Widgets Charts Concurrent Gui )
if ( PLATFORM_ LINUX OR PLATFORM_ FREEBSD)
if ( LINUX OR FREEBSD )
list ( APPEND YUZU_QT_COMPONENTS DBus )
# y e s Q t , w e g e t i t
set ( QT_NO_PRIVATE_MODULE_WARNING ON )