Skip to content

Commit

Permalink
Successfully build & copy libs from upstream OpenUSD cmake.
Browse files Browse the repository at this point in the history
Signed-off-by: furby™ <[email protected]>
  • Loading branch information
furby-tm committed Dec 28, 2024
1 parent f276ed0 commit 62091a1
Show file tree
Hide file tree
Showing 3 changed files with 115 additions and 2 deletions.
80 changes: 79 additions & 1 deletion Bundler.toml
Original file line number Diff line number Diff line change
@@ -1,12 +1,90 @@
format_version = 2

[projects.default]
source = 'git(https://github.com/PixarAnimationStudios/OpenUSD.git)'
revision = 'release'

[projects.default.products]
usd_ar = { type = 'dynamicLibrary', output_directory = 'lib' }
usd_arch = { type = 'dynamicLibrary', output_directory = 'lib' }
usd_gf = { type = 'dynamicLibrary', output_directory = 'lib' }
usd_js = { type = 'dynamicLibrary', output_directory = 'lib' }
usd_kind = { type = 'dynamicLibrary', output_directory = 'lib' }
usd_ndr = { type = 'dynamicLibrary', output_directory = 'lib' }
usd_pcp = { type = 'dynamicLibrary', output_directory = 'lib' }
usd_pegtl = { type = 'dynamicLibrary', output_directory = 'lib' }
usd_plug = { type = 'dynamicLibrary', output_directory = 'lib' }
usd_sdf = { type = 'dynamicLibrary', output_directory = 'lib' }
usd_sdr = { type = 'dynamicLibrary', output_directory = 'lib' }
usd_tf = { type = 'dynamicLibrary', output_directory = 'lib' }
usd_trace = { type = 'dynamicLibrary', output_directory = 'lib' }
usd_ts = { type = 'dynamicLibrary', output_directory = 'lib' }
usd_usd = { type = 'dynamicLibrary', output_directory = 'lib' }
usd_usdGeom = { type = 'dynamicLibrary', output_directory = 'lib' }
usd_usdHydra = { type = 'dynamicLibrary', output_directory = 'lib' }
usd_usdLux = { type = 'dynamicLibrary', output_directory = 'lib' }
usd_usdMedia = { type = 'dynamicLibrary', output_directory = 'lib' }
usd_usdMtlx = { type = 'dynamicLibrary', output_directory = 'lib' }
usd_usdPhysics = { type = 'dynamicLibrary', output_directory = 'lib' }
usd_usdProc = { type = 'dynamicLibrary', output_directory = 'lib' }
usd_usdRender = { type = 'dynamicLibrary', output_directory = 'lib' }
usd_usdRi = { type = 'dynamicLibrary', output_directory = 'lib' }
usd_usdSemantics = { type = 'dynamicLibrary', output_directory = 'lib' }
usd_usdShade = { type = 'dynamicLibrary', output_directory = 'lib' }
usd_usdSkel = { type = 'dynamicLibrary', output_directory = 'lib' }
usd_usdUI = { type = 'dynamicLibrary', output_directory = 'lib' }
usd_usdUtils = { type = 'dynamicLibrary', output_directory = 'lib' }
usd_usdVol = { type = 'dynamicLibrary', output_directory = 'lib' }
usd_vt = { type = 'dynamicLibrary', output_directory = 'lib' }
usd_work = { type = 'dynamicLibrary', output_directory = 'lib' }

[projects.default.builder]
name = 'build_usd.swift'
type = 'wholeProject'
api_source = 'git(https://github.com/stackotter/swift-bundler.git)'
api = 'revision(main)'

[apps.UsdView]
identifier = 'foundation.wabi.UsdView'
product = 'UsdView'
version = '1.0.0'
category = 'public.app-category.graphics-design'
icon = 'usdview.png'
dependencies = [
'usd_ar',
'usd_arch',
'usd_gf',
'usd_js',
'usd_kind',
'usd_ndr',
'usd_pcp',
'usd_pegtl',
'usd_plug',
'usd_sdf',
'usd_sdr',
'usd_tf',
'usd_trace',
'usd_ts',
'usd_usd',
'usd_usdGeom',
'usd_usdHydra',
'usd_usdLux',
'usd_usdMedia',
'usd_usdMtlx',
'usd_usdPhysics',
'usd_usdProc',
'usd_usdRender',
'usd_usdRi',
'usd_usdSemantics',
'usd_usdShade',
'usd_usdSkel',
'usd_usdUI',
'usd_usdUtils',
'usd_usdVol',
'usd_vt',
'usd_work'
]

[apps.UsdView.plist]
commit = '$(COMMIT_HASH)'
CFBundleDocumentTypes = [ { type = "dict", value = { CFBundleTypeExtensions = [ 'usd', 'usda', 'usdc', 'usdz' ], CFBundleTypeIconFile = 'AppIcon.icns', CFBundleTypeName = 'Universal Scene Description File', CFBundleTypeRole = 'Editor', LSIsAppleDefaultForType = true, LSItemContentTypes = [ 'com.pixar.universal-scene-description', 'com.pixar.universal-scene-description-mobile', 'com.pixar.usd.ascii', 'com.pixar.usd.crate' ], CFBundleTypeIconSystemGenerated = true } } ]
CFBundleDocumentTypes = [ { type = 'dict', value = { CFBundleTypeExtensions = [ 'usd', 'usda', 'usdc', 'usdz' ], CFBundleTypeIconFile = 'AppIcon.icns', CFBundleTypeName = 'Universal Scene Description File', CFBundleTypeRole = 'Editor', LSIsAppleDefaultForType = true, LSItemContentTypes = [ 'com.pixar.universal-scene-description', 'com.pixar.universal-scene-description-mobile', 'com.pixar.usd.ascii', 'com.pixar.usd.crate' ], CFBundleTypeIconSystemGenerated = true } } ]
2 changes: 1 addition & 1 deletion Sources/PixarMacros/StringifyMacros.swift
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ public struct StringifyMacro: ExpressionMacro
in _: some MacroExpansionContext
) -> ExprSyntax
{
guard let argument = node.argumentList.first?.expression
guard let argument = node.arguments.first?.expression
else
{
fatalError("compiler bug: the macro does not have any arguments")
Expand Down
35 changes: 35 additions & 0 deletions build_usd.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
/* ----------------------------------------------------------------
* :: : M E T A V E R S E : ::
* ----------------------------------------------------------------
* Licensed under the terms set forth in the LICENSE.txt file, this
* file is available at https://openusd.org/license.
*
* Copyright (C) 2016 Pixar.
* Copyright (C) 2024 Wabi Foundation. All Rights Reserved.
* ----------------------------------------------------------------
* . x x x . o o o . x x x . : : : . o x o . : : : .
* ---------------------------------------------------------------- */

import Foundation
import SwiftBundlerBuilders

@main
public struct OpenUSDBuilder: Builder
{
public static func build(_ context: some BuilderContext) throws -> BuilderResult
{
try context.run(
"/usr/bin/python3", [
"build_scripts/build_usd.py",
"--build-shared",
"--no-python",
"--no-imaging",
"--no-usdview",
"--build-variant", "release",
context.buildDirectory.path
]
)

return .init()
}
}

0 comments on commit 62091a1

Please sign in to comment.