diff --git a/README.nuget.md b/README.nuget.md
index 9ca2d9865..b1b9945fe 100644
--- a/README.nuget.md
+++ b/README.nuget.md
@@ -1,4 +1,4 @@
-
AtomUI
+## AtomUI
#### Introduce
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index 582d88237..50360c173 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -29,10 +29,22 @@ stages:
vmImage: 'macOS-latest'
steps:
- pwsh: |
- brew install ninja
- cmake -B $(buildDir) -S $(nativeLibSrcDir) -DCMAKE_INSTALL_PREFIX="$(macOutputDir)" -DCMAKE_OSX_ARCHITECTURES:STRING="x86_64;arm64" -DCMAKE_BUILD_TYPE="${{ parameters.BuildConfiguration }}" -G "Ninja"
- ninja -C $(buildDir)
- ninja -C $(buildDir) install
+ brew install xmake
+ xmake --version
+ clang --version
+ xmake config --project=$(nativeLibSrcDir) --builddir=$(buildDir) -p macosx -a arm64 -m ${{ parameters.BuildConfiguration }}
+ xmake build
+ xmake install --installdir=$(macOutputDir)
+ xmake config --project=$(nativeLibSrcDir) --builddir=$(buildDir) -p macosx -a x86_64 -m ${{ parameters.BuildConfiguration }}
+ xmake build
+ xmake install --installdir=$(macOutputDir)
+ Write-Output "generate universal binary"
+ New-Item -Path "$(macOutputDir)/lib" -ItemType Directory -Force
+ lipo -create $(macOutputDir)/arm64/lib/libAtomUINative.dylib $(macOutputDir)/x86_64/lib/libAtomUINative.dylib -output $(macOutputDir)/lib/libAtomUINative.dylib
+ dir "$(macOutputDir)" -File
+ lipo -info $(macOutputDir)/lib/libAtomUINative.dylib
+ Remove-Item -Path "$(macOutputDir)/arm64/lib/libAtomUINative.dylib"
+ Remove-Item -Path "$(macOutputDir)/x86_64/lib/libAtomUINative.dylib"
displayName: "Build AtomUINative"
- task: PublishPipelineArtifact@1
inputs:
@@ -49,10 +61,33 @@ stages:
artifact: AtomUINativeMac
displayName: "Download libAtomUINative.dylib to pipeline"
- pwsh: |
+ $msysPath = "C:/msys64"
+ $env:MSYSTEM = "CLANG64"
+ $env:MSYSTEM_CARCH = "x86_64"
+ $env:MSYSTEM_CHOST = "x86_64-w64-mingw32"
+ $env:MSYSTEM_PREFIX = "/clang64"
+ $env:CHERE_INVOKING = "1"
+ $env:PATH = "$msysPath/clang64/bin;$msysPath/usr/bin;$env:PATH"
+ Write-Host "##vso[task.setvariable variable=MSYSTEM]CLANG64"
+ Write-Host "##vso[task.setvariable variable=MSYSTEM_CARCH]x86_64"
+ Write-Host "##vso[task.setvariable variable=MSYSTEM_CHOST]x86_64-w64-mingw32"
+ Write-Host "##vso[task.setvariable variable=MSYSTEM_PREFIX]/clang64"
+ Write-Host "##vso[task.prependpath]$msysPath/clang64/bin"
+ Write-Host "##vso[task.prependpath]$msysPath/usr/bin"
+ C:/msys64/usr/bin/bash.exe -lc @"
+ pacman -Sy --noconfirm
+ pacman -S mingw-w64-clang-x86_64-xmake --noconfirm
+ pacman -S mingw-w64-clang-x86_64-clang --noconfirm
+ "@
+ xmake --version
+ clang --version
+ displayName: "Prepare Build environment"
+ - pwsh: |
+ dotnet build --configuration ${{ parameters.BuildConfiguration }} /p:IsNightlyBuild=${{ parameters.IsNightlyBuild }} $(SourceDir)/packages/AtomUI/AtomUI.csproj
$osxNativeLibDir = "$(SourceDir)/output/Bin/Release/runtimes/osx/native"
New-Item -ItemType Directory -Force -Path $osxNativeLibDir
Copy-Item -Path $(Pipeline.Workspace)/lib/libAtomUINative.dylib -Destination $osxNativeLibDir
- dotnet build --verbosity normal --configuration ${{ parameters.BuildConfiguration }} /p:IsNightlyBuild=${{ parameters.IsNightlyBuild }} $(SourceDir)/packages/AtomUI/AtomUI.csproj
+ dotnet build --configuration ${{ parameters.BuildConfiguration }} /p:IsNightlyBuild=${{ parameters.IsNightlyBuild }} $(SourceDir)/packages/AtomUI/AtomUI.csproj
displayName: "Build AtomUI projects"
- pwsh: |
$buildTimestamp = Get-Date -Format 'yyyyMMddHHmm'
diff --git a/build/Version.props b/build/Version.props
index 9808081c8..7f7daeb54 100644
--- a/build/Version.props
+++ b/build/Version.props
@@ -2,7 +2,7 @@
$(NoWarn);CS7035
11.3.1
- 0.0.2
+ 0.0.3
false
$([System.DateTime]::Now.ToString("yyyyMMddHHmm"))
false
diff --git a/nativelibs/xmake.lua b/nativelibs/xmake.lua
index 9eb8930d5..9415ac7d9 100644
--- a/nativelibs/xmake.lua
+++ b/nativelibs/xmake.lua
@@ -30,10 +30,10 @@ includes("xmake/options.lua")
includes("xmake/toolchains/atomui")
add_includedirs("include", {public = true})
-add_includedirs("$(buildir)/include", {public = true})
+add_includedirs("$(builddir)/include", {public = true})
-- global config header generator
-set_configdir("$(buildir)/include/atomui")
+set_configdir("$(builddir)/include/atomui")
add_configfiles(path.join(ATOMUI_INCLUDE_DIR, "Config.h.in"))
ATOMUI_PACKAGE_NAME = "atomui"
diff --git a/nativelibs/xmake/modules/header_defines.lua b/nativelibs/xmake/modules/header_defines.lua
index 4e26beb73..06951ffab 100644
--- a/nativelibs/xmake/modules/header_defines.lua
+++ b/nativelibs/xmake/modules/header_defines.lua
@@ -8,7 +8,7 @@
-- Created by chinboy on 2025/05/19.
function main()
- set_configdir("$(buildir)/include/atomui")
+ set_configdir("$(builddir)/include/atomui")
add_configfiles(path.join(ATOMUI_INCLUDE_DIR, "Config.h.in"))
ATOMUI_PACKAGE_NAME = "atomui"
diff --git a/nativelibs/xmake/modules/summary_output.lua b/nativelibs/xmake/modules/summary_output.lua
index ada017199..6831a77aa 100644
--- a/nativelibs/xmake/modules/summary_output.lua
+++ b/nativelibs/xmake/modules/summary_output.lua
@@ -16,7 +16,7 @@ function main()
cprint("--------------------------------------------------------------------------------------")
cprint("BUILD_MODE : ${color.success}%s", project_config.mode())
cprint("PROJECT_SOURCE_DIR: ${color.success}%s", os.projectdir())
- cprint("PROJECT_BINARY_DIR: ${color.success}%s", "$(buildir)")
+ cprint("PROJECT_BINARY_DIR: ${color.success}%s", "$(builddir)")
cprint("CONFIGURE_DIR : ${color.success}%s", project_config.directory())
cprint("XMAKE_INSTALL_DIR : ${color.success}%s", "$(programdir)")
cprint("HOST : ${color.success}%s", project_config.host())
diff --git a/scripts/BuildAtomUINative.ps1 b/scripts/BuildAtomUINative.ps1
index 3facdc759..e6337e5c2 100644
--- a/scripts/BuildAtomUINative.ps1
+++ b/scripts/BuildAtomUINative.ps1
@@ -38,15 +38,15 @@ $env:XMAKE_COLORTERM = 'nocolor'
$buildType = $buildType.ToLower()
if ($IsWindows) {
- xmake config --project=$sourceDir --buildir=$buildDir -p msys -a x86_64 -m $buildType
+ xmake config --project=$sourceDir --builddir=$buildDir -p msys -a x86_64 -m $buildType
xmake build
xmake install --installdir=$installPrefix
Copy-Item -Path $installPrefix/x86_64/lib/$libName -Destination $deployDir
} else {
- xmake config --project=$sourceDir --buildir=$buildDir -p macosx -a arm64 -m $buildType
+ xmake config --project=$sourceDir --builddir=$buildDir -p macosx -a arm64 -m $buildType
xmake build
xmake install --installdir=$installPrefix
- xmake config --project=$sourceDir --buildir=$buildDir -p macosx -a x86_64 -m $buildType
+ xmake config --project=$sourceDir --builddir=$buildDir -p macosx -a x86_64 -m $buildType
xmake build
xmake install --installdir=$installPrefix
Write-Output "generate universal binary"