Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

First build of Stellarium for Windows on ARM on AppVeyor #3447

Merged
merged 3 commits into from
Oct 5, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 9 additions & 2 deletions .appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,18 +24,25 @@ environment:
qtver: 6.5
qtbin: msvc2019_64
msvcname: Visual Studio 16 2019
cmake_args: -A x64
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
qtver: 5.12
qtbin: msvc2017_64
msvcname: Visual Studio 15 2017 Win64
cmake_args:
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
qtver: 5.12
qtbin: msvc2017
msvcname: Visual Studio 15 2017
cmake_args:
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022
qtver: 6.5
qtbin: msvc2019_arm64
msvcname: Visual Studio 17 2022
cmake_args: -A ARM64 -DQT_HOST_PATH=C:/Qt/6.5/msvc2019_64 -DQT_PATHS=C:/Qt/6.5/msvc2019_arm64/bin/qtpaths.bat -DENABLE_SPOUT=OFF -DENABLE_QTWEBENGINE=OFF
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess C:/Qt/6.5/msvc2019_arm64/bin/qtpaths.bat should be run for ARM64 environment.

Copy link
Contributor Author

@hmartinez82 hmartinez82 Oct 5, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not, not run, it's not a batch file to set environment variables like vsvars.bat.
I can show you what the file is if you are curious. But x-compilation is a bit complicated, that's why we need both Qt compiled for x64 and for ARM64 at the same machine at the same time.

It uses qmake, moc, rcc, from the HOST (x64), but when windeployqt copies files it needs to be the TARGET (ARM64) ones. qtpaths tells windeployqt which folder to use when copying the files.


before_build:
- ps: if($env:qtbin.contains('_64')) { $env:BITS=64 } else { $env:BITS=32 }
- ps: if($env:qtbin.contains('_64')) { $env:cmake_args:="-A x64" }
- ps: if($env:qtver.contains('6.')) { $env:SSL="OpenSSL-" } else { $env:SSL="OpenSSL-1-" }
- set PUBLISH_BINARY=false
- set USE_EXT_LIBGLES=false
Expand Down Expand Up @@ -67,7 +74,7 @@ build:
verbosity: minimal

test_script:
- if [%PUBLISH_BINARY%]==[false] ctest --output-on-failure
- ps: if($env:PUBLISH_BINARY -eq "false" -and $env:qtbin -ne "msvc2019_arm64") { ctest --output-on-failure }

after_test:
- if [%PUBLISH_BINARY%]==[true] cmake --build c:\stellarium\build-%qtver%-%qtbin%\ --config %configuration% --target install
Expand Down
7 changes: 7 additions & 0 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -611,6 +611,12 @@ IF(WIN32)
SET(VIRTUAL_KBD_SETTING "--no-virtualkeyboard")
ENDIF()

IF("${QT_PATHS}" STREQUAL "")
SET(_qt_paths "")
ELSE()
SET(_qt_paths "--qtpaths \"${QTPATHS}\"")
ENDIF()

INSTALL(CODE
"
EXECUTE_PROCESS(
Expand All @@ -619,6 +625,7 @@ IF(WIN32)
--no-translations
--verbose 1
${VIRTUAL_KBD_SETTING}
${_qt_paths}
--compiler-runtime
\"\${CMAKE_INSTALL_PREFIX}/bin/stellarium.exe\"
WORKING_DIRECTORY \"\${CMAKE_INSTALL_PREFIX}/bin\"
Expand Down
Loading