mirror of
https://github.com/PrismLauncher/PrismLauncher
synced 2026-04-23 09:05:03 +00:00
build(cmake): always use MultiThreadedDLL msvc runtime library
This allows users of development builds to (once again) run the launcher without the Windows SDK installed Signed-off-by: Seth Flynn <getchoo@tuta.io>
This commit is contained in:
parent
01a4a6a528
commit
95aaedd333
|
|
@ -31,6 +31,12 @@ set(CMAKE_CXX_STANDARD 20)
|
|||
set(CMAKE_C_STANDARD 11)
|
||||
include(GenerateExportHeader)
|
||||
|
||||
# NOTE: We can't statically link with the MSVC runtime due to GPL restrictions
|
||||
#
|
||||
# We also purposefully choose not to use the debug DLL, as that would require
|
||||
# users of our development builds to install the Windows SDK
|
||||
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreadedDLL")
|
||||
|
||||
add_compile_definitions($<$<NOT:$<CONFIG:Debug>>:QT_NO_DEBUG>)
|
||||
add_compile_definitions(QT_WARN_DEPRECATED_UP_TO=0x060400)
|
||||
add_compile_definitions(QT_DISABLE_DEPRECATED_UP_TO=0x060400)
|
||||
|
|
@ -312,9 +318,8 @@ endif()
|
|||
## NOTE(@getchoo): Never use pkg-config with MSVC since the vcpkg port makes our install bundle fail to find the dll
|
||||
if(MSVC)
|
||||
find_path(LIBQRENCODE_INCLUDE_DIR qrencode.h REQUIRED)
|
||||
find_library(LIBQRENCODE_LIBRARY_RELEASE qrencode REQUIRED)
|
||||
find_library(LIBQRENCODE_LIBRARY_DEBUG qrencoded)
|
||||
set(LIBQRENCODE_LIBRARIES optimized ${LIBQRENCODE_LIBRARY_RELEASE} debug ${LIBQRENCODE_LIBRARY_DEBUG})
|
||||
find_library(LIBQRENCODE_LIBRARY qrencode REQUIRED)
|
||||
set(LIBQRENCODE_LIBRARIES ${LIBQRENCODE_LIBRARY})
|
||||
else()
|
||||
find_package(PkgConfig REQUIRED)
|
||||
pkg_check_modules(libqrencode REQUIRED IMPORTED_TARGET libqrencode)
|
||||
|
|
|
|||
10
cmake/vcpkg-triplets/arm64-windows.cmake
Normal file
10
cmake/vcpkg-triplets/arm64-windows.cmake
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
set(VCPKG_TARGET_ARCHITECTURE arm64)
|
||||
set(VCPKG_CRT_LINKAGE dynamic)
|
||||
set(VCPKG_LIBRARY_LINKAGE dynamic)
|
||||
|
||||
# NOTE: This is the only change we're making to the default target
|
||||
#
|
||||
# Avoid using the debug VCRUNTIME. Otherwise, this would introduce the Windows SDK
|
||||
# as a requirement for testers :(
|
||||
# We also don't really need the debug versions of our libraries anyways
|
||||
set(VCPKG_BUILD_TYPE release)
|
||||
10
cmake/vcpkg-triplets/x64-windows.cmake
Normal file
10
cmake/vcpkg-triplets/x64-windows.cmake
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
set(VCPKG_TARGET_ARCHITECTURE x64)
|
||||
set(VCPKG_CRT_LINKAGE dynamic)
|
||||
set(VCPKG_LIBRARY_LINKAGE dynamic)
|
||||
|
||||
# NOTE: This is the only change we're making to the default target
|
||||
#
|
||||
# Avoid using the debug VCRUNTIME. Otherwise, this would introduce the Windows SDK
|
||||
# as a requirement for testers :(
|
||||
# We also don't really need the debug versions of our libraries anyways
|
||||
set(VCPKG_BUILD_TYPE release)
|
||||
|
|
@ -1604,6 +1604,7 @@ if(WIN32 OR (UNIX AND APPLE))
|
|||
COMPONENT bundle
|
||||
DIRECTORIES
|
||||
${CMAKE_SYSTEM_LIBRARY_PATH}
|
||||
${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/bin
|
||||
${QT_LIBS_DIR}
|
||||
${QT_LIBEXECS_DIR}
|
||||
PRE_EXCLUDE_REGEXES
|
||||
|
|
|
|||
Loading…
Reference in a new issue