Merge pull request #8640 from lat9nq/vcpkg-extra
cmake,ci: vcpkg leftovers
This commit is contained in:
		| @@ -9,7 +9,7 @@ parameters: | |||||||
| steps: | steps: | ||||||
| - script: choco install vulkan-sdk | - script: choco install vulkan-sdk | ||||||
|   displayName: 'Install vulkan-sdk' |   displayName: 'Install vulkan-sdk' | ||||||
| - script: refreshenv && mkdir build && cd build && cmake -G "Visual Studio 16 2019" -A x64 -DYUZU_USE_BUNDLED_QT=1 -DYUZU_USE_BUNDLED_SDL2=1 -DYUZU_USE_QT_WEB_ENGINE=ON -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON -DYUZU_ENABLE_COMPATIBILITY_REPORTING=${COMPAT} -DYUZU_TESTS=OFF -DUSE_DISCORD_PRESENCE=ON -DENABLE_QT_TRANSLATION=ON -DDISPLAY_VERSION=${{ parameters['version'] }} -DCMAKE_BUILD_TYPE=Release -DYUZU_TESTS=OFF -DYUZU_USE_BUNDLED_VCPKG=ON .. && cd .. | - script: refreshenv && mkdir build && cd build && cmake -G "Visual Studio 16 2019" -A x64 -DYUZU_USE_BUNDLED_QT=1 -DYUZU_USE_BUNDLED_SDL2=1 -DYUZU_USE_QT_WEB_ENGINE=ON -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON -DYUZU_ENABLE_COMPATIBILITY_REPORTING=${COMPAT} -DYUZU_TESTS=OFF -DUSE_DISCORD_PRESENCE=ON -DENABLE_QT_TRANSLATION=ON -DDISPLAY_VERSION=${{ parameters['version'] }} -DCMAKE_BUILD_TYPE=Release .. && cd .. | ||||||
|   displayName: 'Configure CMake' |   displayName: 'Configure CMake' | ||||||
| - task: MSBuild@1 | - task: MSBuild@1 | ||||||
|   displayName: 'Build' |   displayName: 'Build' | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								.github/workflows/verify.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/verify.yml
									
									
									
									
										vendored
									
									
								
							| @@ -104,7 +104,7 @@ jobs: | |||||||
|         run: | |         run: | | ||||||
|           glslangValidator --version |           glslangValidator --version | ||||||
|           mkdir build |           mkdir build | ||||||
|           cmake . -B build -GNinja -DCMAKE_TOOLCHAIN_FILE="CMakeModules/MSVCCache.cmake" -DUSE_CCACHE=ON -DYUZU_USE_BUNDLED_QT=1 -DYUZU_USE_BUNDLED_SDL2=1 -DYUZU_USE_QT_WEB_ENGINE=ON -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON -DYUZU_ENABLE_COMPATIBILITY_REPORTING=ON -DUSE_DISCORD_PRESENCE=ON -DENABLE_QT_TRANSLATION=ON -DCMAKE_BUILD_TYPE=Release -DGIT_BRANCH=pr-verify -DCLANG_FORMAT_SUFFIX=discordplzdontclang -DYUZU_TESTS=OFF -DYUZU_USE_BUNDLED_VCPKG=ON |           cmake . -B build -GNinja -DCMAKE_TOOLCHAIN_FILE="CMakeModules/MSVCCache.cmake" -DUSE_CCACHE=ON -DYUZU_USE_BUNDLED_QT=1 -DYUZU_USE_BUNDLED_SDL2=1 -DYUZU_USE_QT_WEB_ENGINE=ON -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON -DYUZU_ENABLE_COMPATIBILITY_REPORTING=ON -DUSE_DISCORD_PRESENCE=ON -DENABLE_QT_TRANSLATION=ON -DCMAKE_BUILD_TYPE=Release -DGIT_BRANCH=pr-verify -DCLANG_FORMAT_SUFFIX=discordplzdontclang | ||||||
|       - name: Build |       - name: Build | ||||||
|         run: cmake --build build |         run: cmake --build build | ||||||
|       - name: Cache Summary |       - name: Cache Summary | ||||||
|   | |||||||
| @@ -38,9 +38,13 @@ option(YUZU_USE_BUNDLED_OPUS "Compile bundled opus" ON) | |||||||
|  |  | ||||||
| option(YUZU_TESTS "Compile tests" ON) | option(YUZU_TESTS "Compile tests" ON) | ||||||
|  |  | ||||||
| option(YUZU_USE_BUNDLED_VCPKG "Use vcpkg for yuzu dependencies" OFF) | option(YUZU_USE_BUNDLED_VCPKG "Use vcpkg for yuzu dependencies" "${MSVC}") | ||||||
|  |  | ||||||
| if (YUZU_USE_BUNDLED_VCPKG) | if (YUZU_USE_BUNDLED_VCPKG) | ||||||
|  |     if (YUZU_TESTS) | ||||||
|  |         list(APPEND VCPKG_MANIFEST_FEATURES "yuzu-tests") | ||||||
|  |     endif() | ||||||
|  |  | ||||||
|     include(${CMAKE_SOURCE_DIR}/externals/vcpkg/scripts/buildsystems/vcpkg.cmake) |     include(${CMAKE_SOURCE_DIR}/externals/vcpkg/scripts/buildsystems/vcpkg.cmake) | ||||||
| elseif(NOT "$ENV{VCPKG_TOOLCHAIN_FILE}" STREQUAL "") | elseif(NOT "$ENV{VCPKG_TOOLCHAIN_FILE}" STREQUAL "") | ||||||
|     # Disable manifest mode (use vcpkg classic mode) when using a custom vcpkg installation |     # Disable manifest mode (use vcpkg classic mode) when using a custom vcpkg installation | ||||||
| @@ -160,7 +164,6 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin) | |||||||
| # ======================================================================= | # ======================================================================= | ||||||
|  |  | ||||||
| find_package(fmt 8.0.1 REQUIRED CONFIG) | find_package(fmt 8.0.1 REQUIRED CONFIG) | ||||||
| find_package(lz4 1.8 REQUIRED) |  | ||||||
| find_package(nlohmann_json 3.8 REQUIRED CONFIG) | find_package(nlohmann_json 3.8 REQUIRED CONFIG) | ||||||
| find_package(ZLIB 1.2 REQUIRED) | find_package(ZLIB 1.2 REQUIRED) | ||||||
|  |  | ||||||
| @@ -170,6 +173,12 @@ if (NOT zstd_FOUND) | |||||||
|     find_package(zstd 1.5 REQUIRED) |     find_package(zstd 1.5 REQUIRED) | ||||||
| endif() | endif() | ||||||
|  |  | ||||||
|  | # lz4 1.8 is required, but vcpkg's lz4-config.cmake does not have version info | ||||||
|  | find_package(lz4 CONFIG) | ||||||
|  | if (NOT lz4_FOUND) | ||||||
|  |     find_package(lz4 1.8 REQUIRED) | ||||||
|  | endif() | ||||||
|  |  | ||||||
| if (YUZU_TESTS) | if (YUZU_TESTS) | ||||||
|     find_package(Catch2 2.13.7 REQUIRED CONFIG) |     find_package(Catch2 2.13.7 REQUIRED CONFIG) | ||||||
| endif() | endif() | ||||||
| @@ -355,16 +364,10 @@ if (ENABLE_SDL2) | |||||||
|     endif() |     endif() | ||||||
| endif() | endif() | ||||||
|  |  | ||||||
| # TODO(lat9nq): Determine what if any of this we still need | # Reexport some targets that are named differently when using the upstream CmakeConfig | ||||||
| # |  | ||||||
| # Reexport some targets that are named differently when using the upstream CmakeConfig vs the generated Conan config |  | ||||||
| # In order to ALIAS targets to a new name, they first need to be IMPORTED_GLOBAL | # In order to ALIAS targets to a new name, they first need to be IMPORTED_GLOBAL | ||||||
| # Dynarmic checks for target `boost` and so we want to make sure it can find it through our system instead of using their external | # Dynarmic checks for target `boost` and so we want to make sure it can find it through our system instead of using their external | ||||||
| if (TARGET Boost::Boost) | if (TARGET Boost::boost) | ||||||
|     set_target_properties(Boost::Boost PROPERTIES IMPORTED_GLOBAL TRUE) |  | ||||||
|     add_library(Boost::boost ALIAS Boost::Boost) |  | ||||||
|     add_library(boost ALIAS Boost::Boost) |  | ||||||
| elseif (TARGET Boost::boost) |  | ||||||
|     set_target_properties(Boost::boost PROPERTIES IMPORTED_GLOBAL TRUE) |     set_target_properties(Boost::boost PROPERTIES IMPORTED_GLOBAL TRUE) | ||||||
|     add_library(boost ALIAS Boost::boost) |     add_library(boost ALIAS Boost::boost) | ||||||
| endif() | endif() | ||||||
|   | |||||||
							
								
								
									
										13
									
								
								vcpkg.json
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								vcpkg.json
									
									
									
									
									
								
							| @@ -1,6 +1,7 @@ | |||||||
| { | { | ||||||
|     "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg/master/scripts/vcpkg.schema.json", |     "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg/master/scripts/vcpkg.schema.json", | ||||||
|     "name": "yuzu", |     "name": "yuzu", | ||||||
|  |     "builtin-baseline": "cef0b3ec767df6e83806899fe9525f6cf8d7bc91", | ||||||
|     "version": "1.0", |     "version": "1.0", | ||||||
|     "dependencies": [ |     "dependencies": [ | ||||||
|         "boost-algorithm", |         "boost-algorithm", | ||||||
| @@ -25,5 +26,17 @@ | |||||||
|         "nlohmann-json", |         "nlohmann-json", | ||||||
|         "zlib", |         "zlib", | ||||||
|         "zstd" |         "zstd" | ||||||
|  |     ], | ||||||
|  |     "features": { | ||||||
|  |         "yuzu-tests": { | ||||||
|  |             "description": "Compile tests", | ||||||
|  |             "dependencies": [ "catch2" ] | ||||||
|  |         } | ||||||
|  |     }, | ||||||
|  |     "overrides": [ | ||||||
|  |         { | ||||||
|  |             "name": "catch2", | ||||||
|  |             "version": "2.13.9" | ||||||
|  |         } | ||||||
|     ] |     ] | ||||||
| } | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user