mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-07-04 04:06:01 +00:00
Using the version in the Chromium repo in order to make use of the .gn files it contains. Doing so also appears to require us to switch where we pull googletest from so that the directory structure matches what the Abseil build config expects. Fortunately this doesn't seem to cause issues in our tests. Bug: dawn:563 Change-Id: I55831ad33f282b3d8b03b67826fd2776e5602d89 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/63780 Reviewed-by: Austin Eng <enga@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org> Auto-Submit: Brandon Jones <bajones@chromium.org>
258 lines
8.6 KiB
Python
258 lines
8.6 KiB
Python
use_relative_paths = True
|
|
|
|
gclient_gn_args_file = 'build/config/gclient_args.gni'
|
|
|
|
vars = {
|
|
'chromium_git': 'https://chromium.googlesource.com',
|
|
'dawn_git': 'https://dawn.googlesource.com',
|
|
'github_git': 'https://github.com',
|
|
'swiftshader_git': 'https://swiftshader.googlesource.com',
|
|
|
|
'dawn_standalone': True,
|
|
|
|
# Current revision of googletest.
|
|
# Note: this dep cannot be auto-rolled b/c of nesting.
|
|
'googletest_revision': '2d924d7a971e9667d76ad09727fb2402b4f8a1e3',
|
|
|
|
# Current revision of Chrome's third_party googletest directory. This
|
|
# repository is mirrored as a separate repository, with separate git hashes
|
|
# that don't match the external googletest repository or Chrome. Mirrored
|
|
# patches will have a different git hash associated with them.
|
|
# To roll, first get the new hash for chromium_googletest_revision from the
|
|
# mirror of third_party/googletest located here:
|
|
# https://chromium.googlesource.com/chromium/src/third_party/googletest/
|
|
# Then get the new hash for googletest_revision from the root Chrome DEPS
|
|
# file: https://source.chromium.org/chromium/chromium/src/+/main:DEPS
|
|
'chromium_googletest_revision': '17bbed2084d3127bd7bcd27283f18d7a5861bea8',
|
|
}
|
|
|
|
deps = {
|
|
# Dependencies required to use GN/Clang in standalone
|
|
'build': {
|
|
'url': '{chromium_git}/chromium/src/build@0ff4b3d4eeb6d480c716b432a9a93a58c42150d5',
|
|
'condition': 'dawn_standalone',
|
|
},
|
|
'buildtools': {
|
|
'url': '{chromium_git}/chromium/src/buildtools@9c143ace7560797fed136da85e22ea4834e6b147',
|
|
'condition': 'dawn_standalone',
|
|
},
|
|
'buildtools/clang_format/script': {
|
|
'url': '{chromium_git}/external/github.com/llvm/llvm-project/clang/tools/clang-format.git@99803d74e35962f63a775f29477882afd4d57d94',
|
|
'condition': 'dawn_standalone',
|
|
},
|
|
|
|
'buildtools/linux64': {
|
|
'packages': [{
|
|
'package': 'gn/gn/linux-amd64',
|
|
'version': 'git_revision:dfcbc6fed0a8352696f92d67ccad54048ad182b3',
|
|
}],
|
|
'dep_type': 'cipd',
|
|
'condition': 'dawn_standalone and host_os == "linux"',
|
|
},
|
|
'buildtools/mac': {
|
|
'packages': [{
|
|
'package': 'gn/gn/mac-${{arch}}',
|
|
'version': 'git_revision:dfcbc6fed0a8352696f92d67ccad54048ad182b3',
|
|
}],
|
|
'dep_type': 'cipd',
|
|
'condition': 'dawn_standalone and host_os == "mac"',
|
|
},
|
|
'buildtools/win': {
|
|
'packages': [{
|
|
'package': 'gn/gn/windows-amd64',
|
|
'version': 'git_revision:dfcbc6fed0a8352696f92d67ccad54048ad182b3',
|
|
}],
|
|
'dep_type': 'cipd',
|
|
'condition': 'dawn_standalone and host_os == "win"',
|
|
},
|
|
|
|
'buildtools/third_party/libc++/trunk': {
|
|
'url': '{chromium_git}/external/github.com/llvm/llvm-project/libcxx.git@8fa87946779682841e21e2da977eccfb6cb3bded',
|
|
'condition': 'dawn_standalone',
|
|
},
|
|
|
|
'buildtools/third_party/libc++abi/trunk': {
|
|
'url': '{chromium_git}/external/github.com/llvm/llvm-project/libcxxabi.git@f4328ad7c0d8242d36cb5bea530925f9fea34248',
|
|
'condition': 'dawn_standalone',
|
|
},
|
|
|
|
'tools/clang': {
|
|
'url': '{chromium_git}/chromium/src/tools/clang@03ff857f12277f511e0a30aca44b80e8aaebafd7',
|
|
'condition': 'dawn_standalone',
|
|
},
|
|
'tools/clang/dsymutil': {
|
|
'packages': [{
|
|
'package': 'chromium/llvm-build-tools/dsymutil',
|
|
'version': 'M56jPzDv1620Rnm__jTMYS62Zi8rxHVq7yw0qeBFEgkC',
|
|
}],
|
|
'condition': 'dawn_standalone and (checkout_mac or checkout_ios)',
|
|
'dep_type': 'cipd',
|
|
},
|
|
|
|
# Testing, GTest and GMock
|
|
'testing': {
|
|
'url': '{chromium_git}/chromium/src/testing@3e2640a325dc34ec3d9cb2802b8da874aecaf52d',
|
|
'condition': 'dawn_standalone',
|
|
},
|
|
'third_party/googletest': {
|
|
'url': '{chromium_git}/chromium/src/third_party/googletest@{chromium_googletest_revision}',
|
|
'condition': 'dawn_standalone',
|
|
},
|
|
|
|
# Jinja2 and MarkupSafe for the code generator
|
|
'third_party/jinja2': {
|
|
'url': '{chromium_git}/chromium/src/third_party/jinja2@a82a4944a7f2496639f34a89c9923be5908b80aa',
|
|
'condition': 'dawn_standalone',
|
|
},
|
|
'third_party/markupsafe': {
|
|
'url': '{chromium_git}/chromium/src/third_party/markupsafe@0944e71f4b2cb9a871bcbe353f95e889b64a611a',
|
|
'condition': 'dawn_standalone',
|
|
},
|
|
|
|
# WGSL support
|
|
'third_party/tint': {
|
|
'url': '{dawn_git}/tint@7f4d02c7aba7d9c39eead4c1dc4bde5431d5e4fa',
|
|
},
|
|
|
|
# GLFW for tests and samples
|
|
'third_party/glfw': {
|
|
'url': '{chromium_git}/external/github.com/glfw/glfw@94773111300fee0453844a4c9407af7e880b4df8',
|
|
'condition': 'dawn_standalone',
|
|
},
|
|
|
|
# Dependencies for samples: GLM
|
|
'third_party/glm': {
|
|
'url': '{github_git}/g-truc/glm.git@bf71a834948186f4097caa076cd2663c69a10e1e',
|
|
'condition': 'dawn_standalone',
|
|
},
|
|
|
|
'third_party/vulkan_memory_allocator': {
|
|
'url': '{chromium_git}/external/github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator@1ecb35c39875c77219c75ecb5c5b3316020f66b8',
|
|
'condition': 'dawn_standalone',
|
|
},
|
|
|
|
'third_party/angle': {
|
|
'url': '{chromium_git}/angle/angle@4aedb71f4b51f7fc0cecb11b5288ddec7c3faa65',
|
|
'condition': 'dawn_standalone',
|
|
},
|
|
|
|
'third_party/swiftshader': {
|
|
'url': '{swiftshader_git}/SwiftShader@314508f788b26560503ef4bcc8693c6b01fc8abf',
|
|
'condition': 'dawn_standalone',
|
|
},
|
|
|
|
'third_party/vulkan-deps': {
|
|
'url': '{chromium_git}/vulkan-deps@d74e02442e56681f44548a549a41d9c76c34ddf4',
|
|
'condition': 'dawn_standalone',
|
|
},
|
|
|
|
'third_party/zlib': {
|
|
'url': '{chromium_git}/chromium/src/third_party/zlib@c29ee8c9c3824ca013479bf8115035527967fe02',
|
|
'condition': 'dawn_standalone',
|
|
},
|
|
|
|
'third_party/abseil-cpp': {
|
|
'url': '{chromium_git}/chromium/src/third_party/abseil-cpp@789af048b388657987c59d4da406859034fe310f',
|
|
'condition': 'dawn_standalone',
|
|
},
|
|
}
|
|
|
|
hooks = [
|
|
# Pull the compilers and system libraries for hermetic builds
|
|
{
|
|
'name': 'sysroot_x86',
|
|
'pattern': '.',
|
|
'condition': 'dawn_standalone and checkout_linux and (checkout_x86 or checkout_x64)',
|
|
'action': ['python', 'build/linux/sysroot_scripts/install-sysroot.py',
|
|
'--arch=x86'],
|
|
},
|
|
{
|
|
'name': 'sysroot_x64',
|
|
'pattern': '.',
|
|
'condition': 'dawn_standalone and checkout_linux and checkout_x64',
|
|
'action': ['python', 'build/linux/sysroot_scripts/install-sysroot.py',
|
|
'--arch=x64'],
|
|
},
|
|
{
|
|
# Update the Mac toolchain if possible, this makes builders use "hermetic XCode" which is
|
|
# is more consistent (only changes when rolling build/) and is cached.
|
|
'name': 'mac_toolchain',
|
|
'pattern': '.',
|
|
'condition': 'dawn_standalone and checkout_mac',
|
|
'action': ['python', 'build/mac_toolchain.py'],
|
|
},
|
|
{
|
|
# Update the Windows toolchain if necessary. Must run before 'clang' below.
|
|
'name': 'win_toolchain',
|
|
'pattern': '.',
|
|
'condition': 'dawn_standalone and checkout_win',
|
|
'action': ['python', 'build/vs_toolchain.py', 'update', '--force'],
|
|
},
|
|
{
|
|
# Note: On Win, this should run after win_toolchain, as it may use it.
|
|
'name': 'clang',
|
|
'pattern': '.',
|
|
'action': ['python', 'tools/clang/scripts/update.py'],
|
|
'condition': 'dawn_standalone',
|
|
},
|
|
{
|
|
# Pull rc binaries using checked-in hashes.
|
|
'name': 'rc_win',
|
|
'pattern': '.',
|
|
'condition': 'dawn_standalone and checkout_win and host_os == "win"',
|
|
'action': [ 'download_from_google_storage',
|
|
'--no_resume',
|
|
'--no_auth',
|
|
'--bucket', 'chromium-browser-clang/rc',
|
|
'-s', 'build/toolchain/win/rc/win/rc.exe.sha1',
|
|
],
|
|
},
|
|
# Pull clang-format binaries using checked-in hashes.
|
|
{
|
|
'name': 'clang_format_win',
|
|
'pattern': '.',
|
|
'condition': 'dawn_standalone and host_os == "win"',
|
|
'action': [ 'download_from_google_storage',
|
|
'--no_resume',
|
|
'--no_auth',
|
|
'--bucket', 'chromium-clang-format',
|
|
'-s', 'buildtools/win/clang-format.exe.sha1',
|
|
],
|
|
},
|
|
{
|
|
'name': 'clang_format_mac',
|
|
'pattern': '.',
|
|
'condition': 'dawn_standalone and host_os == "mac"',
|
|
'action': [ 'download_from_google_storage',
|
|
'--no_resume',
|
|
'--no_auth',
|
|
'--bucket', 'chromium-clang-format',
|
|
'-s', 'buildtools/mac/clang-format.sha1',
|
|
],
|
|
},
|
|
{
|
|
'name': 'clang_format_linux',
|
|
'pattern': '.',
|
|
'condition': 'dawn_standalone and host_os == "linux"',
|
|
'action': [ 'download_from_google_storage',
|
|
'--no_resume',
|
|
'--no_auth',
|
|
'--bucket', 'chromium-clang-format',
|
|
'-s', 'buildtools/linux64/clang-format.sha1',
|
|
],
|
|
},
|
|
# Update build/util/LASTCHANGE.
|
|
{
|
|
'name': 'lastchange',
|
|
'pattern': '.',
|
|
'condition': 'dawn_standalone',
|
|
'action': ['python', 'build/util/lastchange.py',
|
|
'-o', 'build/util/LASTCHANGE'],
|
|
},
|
|
]
|
|
|
|
recursedeps = [
|
|
'third_party/googletest',
|
|
'third_party/vulkan-deps',
|
|
]
|