Build: Use dependency package on Windows

This commit is contained in:
Stenzek
2023-09-02 15:34:03 +10:00
parent 3d8e63da9e
commit ea68c5b4b5
107 changed files with 188 additions and 49984 deletions

View File

@ -23,17 +23,16 @@ elseif(${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
endif()
# Global options.
if(NOT ANDROID)
option(BUILD_NOGUI_FRONTEND "Build the NoGUI frontend" OFF)
option(BUILD_QT_FRONTEND "Build the Qt frontend" ON)
option(BUILD_REGTEST "Build regression test runner" OFF)
option(ENABLE_CUBEB "Build with Cubeb audio output" ON)
option(ENABLE_OPENGL "Build with OpenGL renderer" ON)
option(ENABLE_VULKAN "Build with Vulkan renderer" ON)
option(ENABLE_DISCORD_PRESENCE "Build with Discord Rich Presence support" ON)
option(ENABLE_CHEEVOS "Build with RetroAchievements support" ON)
option(USE_SDL2 "Link with SDL2 for controller support" ON)
endif()
option(BUILD_NOGUI_FRONTEND "Build the NoGUI frontend" OFF)
option(BUILD_QT_FRONTEND "Build the Qt frontend" ON)
option(BUILD_REGTEST "Build regression test runner" OFF)
option(ENABLE_CUBEB "Build with Cubeb audio output" ON)
option(ENABLE_OPENGL "Build with OpenGL renderer" ON)
option(ENABLE_VULKAN "Build with Vulkan renderer" ON)
option(ENABLE_DISCORD_PRESENCE "Build with Discord Rich Presence support" ON)
option(ENABLE_CHEEVOS "Build with RetroAchievements support" ON)
#option(USE_SDL2 "Link with SDL2 for controller support" ON)
set(USE_SDL2 ON)
# OpenGL context creation methods.
@ -56,50 +55,31 @@ if(ANDROID)
if(CMAKE_BUILD_TYPE STREQUAL "Release")
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE)
endif()
set(BUILD_NOGUI_FRONTEND OFF)
set(BUILD_QT_FRONTEND OFF)
set(BUILD_REGTEST OFF)
set(ENABLE_CUBEB OFF)
set(ENABLE_OPENGL ON)
set(ENABLE_VULKAN ON)
set(ENABLE_DISCORD_PRESENCE OFF)
set(ENABLE_CHEEVOS ON)
set(USE_SDL2 OFF)
set(USE_X11 OFF)
set(USE_WAYLAND OFF)
endif()
# Common include/library directories on Windows.
if(WIN32 AND USE_SDL2)
set(SDL2_FOUND TRUE)
set(SDL2_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/dep/msvc/sdl2/include")
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
set(SDL2_LIBRARIES "${CMAKE_CURRENT_SOURCE_DIR}/dep/msvc/sdl2/lib64/SDL2.lib")
set(SDL2MAIN_LIBRARIES "${CMAKE_CURRENT_SOURCE_DIR}/dep/msvc/sdl2/lib64/SDL2main.lib")
set(SDL2_DLL_PATH "${CMAKE_CURRENT_SOURCE_DIR}/dep/msvc/sdl2/bin64/SDL2.dll")
set(Qt6_DIR "${CMAKE_CURRENT_SOURCE_DIR}/dep/msvc/qt/6.5.0/msvc2022_64/lib/cmake/Qt6")
else()
set(SDL2_LIBRARIES "${CMAKE_CURRENT_SOURCE_DIR}/dep/msvc/sdl2/lib32/SDL2.lib")
set(SDL2MAIN_LIBRARIES "${CMAKE_CURRENT_SOURCE_DIR}/dep/msvc/sdl2/lib32/SDL2main.lib")
set(SDL2_DLL_PATH "${CMAKE_CURRENT_SOURCE_DIR}/dep/msvc/sdl2/bin32/SDL2.dll")
set(Qt6_DIR "${CMAKE_CURRENT_SOURCE_DIR}/dep/msvc/qt/6.5.0/msvc2022_32/lib/cmake/Qt6")
endif()
set(BUILD_NOGUI_FRONTEND OFF CACHE BOOL "")
set(BUILD_QT_FRONTEND OFF CACHE BOOL "")
set(BUILD_REGTEST OFF CACHE BOOL "")
set(ENABLE_CUBEB OFF CACHE BOOL "")
set(ENABLE_OPENGL ON CACHE BOOL "")
set(ENABLE_VULKAN ON CACHE BOOL "")
set(ENABLE_DISCORD_PRESENCE OFF CACHE BOOL "")
set(ENABLE_CHEEVOS ON CACHE BOOL "")
set(USE_SDL2 OFF CACHE BOOL "")
set(USE_X11 OFF CACHE BOOL "")
set(USE_WAYLAND OFF CACHE BOOL "")
endif()
# Required libraries.
if(NOT ANDROID)
if(NOT WIN32 AND USE_SDL2)
find_package(SDL2 REQUIRED)
endif()
if(NOT WIN32)
find_package(CURL REQUIRED)
endif()
if(BUILD_QT_FRONTEND)
find_package(Qt6 COMPONENTS Core Gui Widgets Network LinguistTools REQUIRED)
endif()
if(USE_SDL2)
find_package(SDL2 2.28.2 REQUIRED)
endif()
if(NOT WIN32 AND NOT ANDROID)
find_package(CURL REQUIRED)
endif()
if(BUILD_QT_FRONTEND)
find_package(Qt6 6.5.2 COMPONENTS Core Gui Widgets Network LinguistTools REQUIRED)
endif()
if(USE_EGL)
find_package(EGL REQUIRED)