Skip to content
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
40 changes: 29 additions & 11 deletions .appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,30 +64,42 @@ environment:
CMAKE_GENERATOR: Visual Studio 17 2022
CMAKE_ARGS: -A ARM64 -DSTELLARIUM_BUILD_ARM64=ON -DQT_HOST_PATH=C:\Qt\6.5\msvc2019_64 -DQt6LinguistTools_DIR=C:\Qt\6.5\msvc2019_64\lib\cmake\Qt6LinguistTools -DENABLE_QTWEBENGINE=OFF
scConverterEnabled: 0
# - BUILD_NAME: Arm64 Qt6.8
# APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022
# VSPATH: C:\Program Files\Microsoft Visual Studio\2022\Community\SDK\ScopeCppSDK\vc15\VC\bin
# QT_VERSION_MAJOR: 6
# QT_BASEDIR: C:\Qt\6.8\msvc2022_arm64
# CMAKE_GENERATOR: Visual Studio 17 2022
# CMAKE_ARGS: -A ARM64 -DSTELLARIUM_BUILD_ARM64=ON -DQT_HOST_PATH=C:\Qt\6.8\msvc2022_64 -DQt6LinguistTools_DIR=C:\Qt\6.8\msvc2022_64\lib\cmake\Qt6LinguistTools -DENABLE_QTWEBENGINE=OFF
# scConverterEnabled: 0
before_build:
- ps: if($env:QT_BASEDIR.contains('_64')) { $env:BITS=64 } else { $env:BITS=32 }
- ps: if($env:QT_BASEDIR.contains('_64')) { $env:PKGARCH="x64" } else { $env:PKGARCH="x86" }
- ps: if($env:QT_VERSION_MAJOR -eq "6") { $env:SSL="OpenSSL-" } else { $env:SSL="OpenSSL-1-" }
- set DEBUG_WINDEPLOYQT=false
- set PUBLISH_BINARY=false
- set USE_MESA=false
- set USE_EXT_LIBSSL=false
- set USE_EXT_LIBGLES=false
- set SIGNING=false
- set INNSPATH=C:\Program Files (x86)\Inno Setup 5;C:\Program Files (x86)\Inno Setup 6
- set PATH=%VSPATH%;%QT_BASEDIR%\bin;c:\%exiv2baseName%\bin;%INNSPATH%;%PATH%

- ps: if($env:QT_BASEDIR.contains('_64') -or $env:QT_BASEDIR.contains('arm64')) { $env:BITS=64 } else { $env:BITS=32 }
- ps: if($env:QT_BASEDIR.contains('_64')) { $env:PKGARCH="x64" } else { $env:PKGARCH="x86" }
- ps: if($env:QT_BASEDIR.contains('arm64')) { $env:PKGARCH="arm64" }
- ps: if($env:QT_VERSION_MAJOR -eq "6") { $env:SSL="OpenSSL-" } else { $env:SSL="OpenSSL-1-" }
- ps: if($env:APPVEYOR_REPO_BRANCH -eq "stellarium-next") { $env:PUBLISH_BINARY = 'true' }
- ps: if($env:APPVEYOR_REPO_BRANCH -eq "stellarium-stable") { $env:PUBLISH_BINARY = 'true' }
- ps: if($env:APPVEYOR_REPO_BRANCH -eq "stellarium-oldstable") { $env:PUBLISH_BINARY = 'true' }
- ps: if($env:APPVEYOR_REPO_COMMIT_MESSAGE.contains('[publish]')) { $env:PUBLISH_BINARY = 'true' }
- ps: if($env:APPVEYOR_REPO_BRANCH -eq "stellarium-next" -or $env:APPVEYOR_REPO_COMMIT_MESSAGE.contains('[publish]')) { $env:USE_EXTRA_EXE = 'true' } else { $env:USE_EXTRA_EXE = 'false' }
- ps: if($env:PUBLISH_BINARY -eq "true" -and $env:QT_VERSION_MAJOR -eq "5") { $env:USE_EXT_LIBGLES = 'true' }
- ps: if($env:PUBLISH_BINARY -eq "true" -and $env:QT_VERSION_MAJOR -eq "5" -and $env:BUILD_NAME.contains('Win')) { $env:USE_EXT_LIBGLES = 'true' }
- ps: if($env:PUBLISH_BINARY -eq "true" -and $env:BUILD_NAME.contains('Win')) { $env:USE_EXT_LIBSSL = 'true' }
- ps: if($env:PUBLISH_BINARY -eq "true" -and $env:BUILD_NAME.contains('Win')) { $env:USE_MESA = 'true' }
- ps: if($env:APPVEYOR_REPO_BRANCH -eq "stellarium-stable" -and $env:QT_VERSION_MAJOR -eq "6") { $env:SIGNING = 'true' }
- ps: if($env:APPVEYOR_REPO_BRANCH -eq "stellarium-oldstable" -and $env:QT_VERSION_MAJOR -eq "5") { $env:SIGNING = 'true' }

- ps: if($env:exiv2url -ne $null) { appveyor DownloadFile $env:exiv2url -FileName c:\$env:exiv2baseName.zip }
- ps: if($env:exiv2url -ne $null) { 7z e c:\$env:exiv2baseName.zip -spf -oc:\ }
- if [%PUBLISH_BINARY%]==[true] appveyor DownloadFile https://github.com/Stellarium/stellarium-data/releases/download/guide/guide.pdf -FileName c:\stellarium\guide\guide.pdf
- if [%PUBLISH_BINARY%]==[true] mkdir c:\stellarium-OpenSSL
- if [%PUBLISH_BINARY%]==[true] set PATH=C:\stellarium-OpenSSL;%PATH%
- if [%PUBLISH_BINARY%]==[true] appveyor DownloadFile https://github.com/Stellarium/stellarium-data/releases/download/qt-5.6/%SSL%Win%BITS%.zip -FileName c:\stellarium-OpenSSL.zip
- if [%PUBLISH_BINARY%]==[true] 7z e c:\stellarium-OpenSSL.zip -aoa -oc:\stellarium-OpenSSL

- ps: if ($env:scConverterEnabled) { appveyor DownloadFile $env:gettextURL -FileName c:\$env:gettextBaseName.zip }
- ps: if ($env:scConverterEnabled) { 7z e c:\$env:gettextBaseName.zip -spf -oc:\$env:gettextBaseName }
Expand All @@ -113,7 +125,7 @@ before_build:

- cd c:\stellarium
- mkdir build && cd build
- if [%PUBLISH_BINARY%]==[true] cmake -DCMAKE_PREFIX_PATH=c:\%exiv2baseName% -DENABLE_MEDIA=On -DCMAKE_INSTALL_PREFIX=c:\stellarium-package -G "%CMAKE_GENERATOR%" %CMAKE_ARGS% ..
- if [%PUBLISH_BINARY%]==[true] cmake -DCMAKE_PREFIX_PATH=c:\%exiv2baseName% -DENABLE_MEDIA=On -DENABLE_PODIR=Off -DCMAKE_INSTALL_PREFIX=c:\stellarium-package -G "%CMAKE_GENERATOR%" %CMAKE_ARGS% ..
- if [%PUBLISH_BINARY%]==[false] cmake -DCMAKE_PREFIX_PATH=c:\%exiv2baseName% -DENABLE_MEDIA=On -DENABLE_TESTING=On -DENABLE_NLS=Off -DCMAKE_INSTALL_PREFIX=c:\stellarium-package -G "%CMAKE_GENERATOR%" %CMAKE_ARGS% ..

build:
Expand All @@ -126,15 +138,21 @@ test_script:

after_test:
- if [%PUBLISH_BINARY%]==[true] cmake --build c:\stellarium\build\ --config %configuration% --target install
- if [%DEBUG_WINDEPLOYQT%]==[true] cd c:\stellarium\build\
- if [%DEBUG_WINDEPLOYQT%]==[true] for %%i in (windeployqt.*) do appveyor PushArtifact %%i
- if [%PUBLISH_BINARY%]==[true] if [%scConverterEnabled%]==[1] copy c:\%gettextBaseName%\bin\libgettextpo-0.dll c:\stellarium-package\bin\libgettextpo.dll
- if [%PUBLISH_BINARY%]==[true] if [%scConverterEnabled%]==[1] copy c:\%gettextBaseName%\bin\libintl-8.dll c:\stellarium-package\bin\
- if [%PUBLISH_BINARY%]==[true] if [%scConverterEnabled%]==[1] copy c:\%gettextBaseName%\bin\libiconv-2.dll c:\stellarium-package\bin\
- if [%PUBLISH_BINARY%]==[true] if [%scConverterEnabled%]==[1] copy c:\%tidyBaseName%\bin\tidy.dll c:\stellarium-package\bin\
- if [%PUBLISH_BINARY%]==[true] if [%scConverterEnabled%]==[1] copy c:\sc-converter\skyculture-converter.exe c:\stellarium-package\bin\
- if [%PUBLISH_BINARY%]==[true] if [%scConverterEnabled%]==[1] copy c:\sc-converter\Qt6Xml.dll c:\stellarium-package\bin\
- if [%PUBLISH_BINARY%]==[true] if [%scConverterEnabled%]==[1] copy c:\sc-converter\Qt6Xml.dll c:\stellarium-package\qtstuff\
- if [%USE_EXT_LIBGLES%]==[true] appveyor DownloadFile https://github.com/Stellarium/stellarium-data/releases/download/qt-5.6/libGLES-Win%BITS%.zip -FileName c:\stellarium\build\libGLES.zip
- if [%USE_EXT_LIBGLES%]==[true] 7z e c:\stellarium\build\libGLES.zip -aoa -oc:\stellarium-package\qtstuff
- if [%PUBLISH_BINARY%]==[true] appveyor DownloadFile https://github.com/Stellarium/stellarium-data/releases/download/mesa-win-20.1.8/opengl32sw-%PKGARCH%.dll -FileName c:\stellarium-package\qtstuff\opengl32sw.dll
- if [%USE_MESA%]==[true] appveyor DownloadFile https://github.com/Stellarium/stellarium-data/releases/download/mesa-win-20.1.8/opengl32sw-%PKGARCH%.dll -FileName c:\stellarium-package\qtstuff\opengl32sw.dll
- if [%USE_EXT_LIBSSL%]==[true] appveyor DownloadFile https://github.com/Stellarium/stellarium-data/releases/download/qt-5.6/%SSL%Win%BITS%.zip -FileName c:\stellarium-OpenSSL.zip
- if [%USE_EXT_LIBSSL%]==[true] 7z e c:\stellarium-OpenSSL.zip -aoa -oc:\stellarium-package\qtstuff\
- if [%PUBLISH_BINARY%]==[true] appveyor DownloadFile https://github.com/Stellarium/stellarium-data/releases/download/translations/translations.zip -FileName c:\translations.zip
- if [%PUBLISH_BINARY%]==[true] 7z e c:\translations.zip -spf -oc:\stellarium-package\share\stellarium\
- if [%PUBLISH_BINARY%]==[true] if NOT [%exiv2url%] == [] copy c:\%exiv2baseName%\bin\exiv2.dll c:\stellarium-package\bin\
- if [%PUBLISH_BINARY%]==[true] cmake --build c:\stellarium\build\ --config %configuration% --target stellarium-installer
- if [%USE_EXTRA_EXE%]==[true] cmake --build c:\stellarium\build\ --config %configuration% --target stellarium-patch-installer
Expand Down
43 changes: 6 additions & 37 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -394,6 +394,8 @@ SET(ENABLE_NLS 1 CACHE BOOL "Define whether program translation should be suppor
IF(ENABLE_NLS)
ADD_DEFINITIONS(-DENABLE_NLS)
ENDIF()
# This option toggle processing files in po directory
SET(ENABLE_PODIR 1 CACHE BOOL "Define whether processing of translation files should be supported.")

# Activate media support
SET(ENABLE_MEDIA 1 CACHE BOOL "Define whether media support should be activated.")
Expand Down Expand Up @@ -599,38 +601,6 @@ IF(WIN32)
FIND_PACKAGE(Qt${QT_VERSION_MAJOR} COMPONENTS XmlPatterns REQUIRED)
ENDIF()

# Qt 5.12 (LTS) and newest version of Qt use OpenSSL 1.1*
# Source: https://lists.qt-project.org/pipermail/releasing/2019-March/002614.html
SET(OPENSSL_LIBRARY_ARCH "")
IF("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
SET(OPENSSL_LIBRARY_ARCH "-x64")
ENDIF()
# Try found OpenSSL 3.x DLL's on Windows (newest Qt)
FIND_FILE(OPENSSL_SSL_LIBRARY_DLL libssl-3${OPENSSL_LIBRARY_ARCH}.dll)
FIND_FILE(OPENSSL_CRYPTO_LIBRARY_DLL libcrypto-3${OPENSSL_LIBRARY_ARCH}.dll)
# OK, OpenSSL 3.x is not exist, let's try found OpenSSL 1.1.x DLL's
IF(NOT EXISTS ${OPENSSL_SSL_LIBRARY_DLL})
FIND_FILE(OPENSSL_SSL_LIBRARY_DLL libssl-1_1${OPENSSL_LIBRARY_ARCH}.dll)
ENDIF()
IF(NOT EXISTS ${OPENSSL_CRYPTO_LIBRARY_DLL})
FIND_FILE(OPENSSL_CRYPTO_LIBRARY_DLL libcrypto-1_1${OPENSSL_LIBRARY_ARCH}.dll)
ENDIF()

IF(NOT STELLARIUM_BUILD_ARM64)
SET(ISS_OPENSSL_LIBS "; OpenSSL support")
IF(EXISTS ${OPENSSL_SSL_LIBRARY_DLL})
MESSAGE(STATUS "Found OpenSSL SSL library: ${OPENSSL_SSL_LIBRARY_DLL}")
SET(ISS_OPENSSL_LIBS "${ISS_OPENSSL_LIBS}\nSource: \"${OPENSSL_SSL_LIBRARY_DLL}\"; DestDir: \"{app}\"; Flags: ignoreversion")
ENDIF()
IF(EXISTS ${OPENSSL_CRYPTO_LIBRARY_DLL})
MESSAGE(STATUS "Found OpenSSL crypto library: ${OPENSSL_CRYPTO_LIBRARY_DLL}")
SET(ISS_OPENSSL_LIBS "${ISS_OPENSSL_LIBS}\nSource: \"${OPENSSL_CRYPTO_LIBRARY_DLL}\"; DestDir: \"{app}\"; Flags: ignoreversion")
ENDIF()
IF((NOT EXISTS ${OPENSSL_SSL_LIBRARY_DLL}) AND (NOT EXISTS ${OPENSSL_CRYPTO_LIBRARY_DLL}))
SET(ISS_OPENSSL_LIBS "; OpenSSL libraries not found")
ENDIF()
ENDIF()

IF(STELLARIUM_BUILD_ARM64 AND ${QT_VERSION} VERSION_LESS "6.5.0")
MESSAGE(FATAL_ERROR "Qt 6.5.0 or later is required for Windows on ARM builds.")
ENDIF()
Expand Down Expand Up @@ -916,8 +886,6 @@ IF(WIN32)
### Generate an Inno Setup project file
#######################################################

FIND_PACKAGE(ISCC)

IF(STELLARIUM_BUILD_ARM64) # 64bit ARM build?
SET(ISS_ARCHITECTURE_SPECIFIC ";Make the installer run only on arm64:\nArchitecturesAllowed=arm64\n;Switch to 64-bit install mode:\nArchitecturesInstallIn64BitMode=arm64")
SET(ISS_PACKAGE_PLATFORM "qt${QT_VERSION_MAJOR}-arm64")
Expand All @@ -933,9 +901,9 @@ IF(WIN32)
GET_FILENAME_COMPONENT(_qt_bin_dir "${QMAKE_LOCATION}" DIRECTORY)
FIND_PROGRAM(WINDEPLOYQT_COMMAND windeployqt HINTS "${_qt_bin_dir}")
IF(WINDEPLOYQT_COMMAND)
MESSAGE(STATUS "Found windeployqt: ${WINDEPLOYQT_COMMAND}")
MESSAGE(STATUS "Found windeployqt: ${WINDEPLOYQT_COMMAND}")
ELSE()
MESSAGE(STATUS "Could NOT find windeployqt")
MESSAGE(STATUS "Could NOT find windeployqt")
ENDIF()

SET(ISS_STELLARIUM_STUFF "; Additional libraries")
Expand Down Expand Up @@ -1035,6 +1003,7 @@ ENDIF()

########### Windows packaging ###############
IF(WIN32)
FIND_PACKAGE(ISCC)
IF(ISS_COMPILER_FOUND)
IF(${ISS_COMPILER_VERSION_MAJOR} EQUAL 6)
CONFIGURE_FILE(${PROJECT_SOURCE_DIR}/cmake/stellarium.iss6.cmake ${CMAKE_CURRENT_BINARY_DIR}/stellarium.iss @ONLY)
Expand Down Expand Up @@ -1130,6 +1099,6 @@ IF(ENABLE_SHOWMYSKY)
# add atmosphere models
ADD_SUBDIRECTORY( atmosphere )
ENDIF()
IF(ENABLE_NLS)
IF(ENABLE_NLS AND ENABLE_PODIR)
ADD_SUBDIRECTORY( po )
ENDIF()
6 changes: 3 additions & 3 deletions cmake/modules/FindISCC.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -50,11 +50,11 @@ IF (ISS_COMPILER_EXECUTABLE)
IF (NOT ISS_COMPILER_FIND_QUIETLY)
MESSAGE(STATUS "Found Inno Setup (.iss) compiler: ${ISS_COMPILER_EXECUTABLE}")
ENDIF (NOT ISS_COMPILER_FIND_QUIETLY)
IF(${ISS_COMPILER_EXECUTABLE} MATCHES "6")
IF(${ISS_COMPILER_EXECUTABLE} MATCHES "6/")
SET(ISS_COMPILER_VERSION_MAJOR 6)
ELSE(${ISS_COMPILER_EXECUTABLE} MATCHES "6")
ELSE(${ISS_COMPILER_EXECUTABLE} MATCHES "6/")
SET(ISS_COMPILER_VERSION_MAJOR 5)
ENDIF (${ISS_COMPILER_EXECUTABLE} MATCHES "6")
ENDIF (${ISS_COMPILER_EXECUTABLE} MATCHES "6/")
ELSE (ISS_COMPILER_EXECUTABLE)
SET(ISS_COMPILER_FOUND FALSE)
IF (ISS_COMPILER_REQUIRED)
Expand Down
2 changes: 1 addition & 1 deletion cmake/stellarium-patch.iss6.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ Name: "ru"; MessagesFile: "compiler:Languages\Russian.isl,@CMAKE_SOURCE_DIR@\uti
Name: "sl"; MessagesFile: "compiler:Languages\Slovenian.isl"
Name: "es"; MessagesFile: "compiler:Languages\Spanish.isl"
Name: "uk"; MessagesFile: "compiler:Languages\Ukrainian.isl,@CMAKE_SOURCE_DIR@\util\ISL\UkrainianCM.isl"
Name: "ko"; MessagesFile: "compiler:Languages\Korean.isl,@CMAKE_SOURCE_DIR@\util\ISL\KoreanCM.isl"
; Unofficial translations of GUI of Inno Setup
Name: "ko"; MessagesFile: "@CMAKE_SOURCE_DIR@\util\ISL\Korean.isl,@CMAKE_SOURCE_DIR@\util\ISL\KoreanCM.isl"
Name: "zh_CN"; MessagesFile: "@CMAKE_SOURCE_DIR@\util\ISL\ChineseSimplified.isl,@CMAKE_SOURCE_DIR@\util\ISL\ChineseSimplifiedCM.isl"
Name: "zh_TW"; MessagesFile: "@CMAKE_SOURCE_DIR@\util\ISL\ChineseTraditional.isl,@CMAKE_SOURCE_DIR@\util\ISL\ChineseTraditionalCM.isl"
1 change: 0 additions & 1 deletion cmake/stellarium.iss.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,6 @@ Source: "@CMAKE_SOURCE_DIR@\ChangeLog"; DestDir: "{app}"; Flags: ignoreversion;
Source: "@CMAKE_INSTALL_PREFIX@\qtstuff\*"; DestDir: "{app}\"; Flags: recursesubdirs ignoreversion
; Stellarium's stuff
Source: "@CMAKE_INSTALL_PREFIX@\share\stellarium\*"; DestDir: "{app}\"; Flags: recursesubdirs ignoreversion
@ISS_OPENSSL_LIBS@
@ISS_STELLARIUM_STUFF@

[Tasks]
Expand Down
3 changes: 1 addition & 2 deletions cmake/stellarium.iss6.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,6 @@ Source: "@CMAKE_SOURCE_DIR@\ChangeLog"; DestDir: "{app}"; Flags: ignoreversion;
Source: "@CMAKE_INSTALL_PREFIX@\qtstuff\*"; DestDir: "{app}\"; Flags: recursesubdirs ignoreversion
; Stellarium's stuff
Source: "@CMAKE_INSTALL_PREFIX@\share\stellarium\*"; DestDir: "{app}\"; Flags: recursesubdirs ignoreversion
@ISS_OPENSSL_LIBS@
@ISS_STELLARIUM_STUFF@

[Tasks]
Expand Down Expand Up @@ -130,8 +129,8 @@ Name: "ru"; MessagesFile: "compiler:Languages\Russian.isl,@CMAKE_SOURCE_DIR@\uti
Name: "sl"; MessagesFile: "compiler:Languages\Slovenian.isl"
Name: "es"; MessagesFile: "compiler:Languages\Spanish.isl"
Name: "uk"; MessagesFile: "compiler:Languages\Ukrainian.isl,@CMAKE_SOURCE_DIR@\util\ISL\UkrainianCM.isl"
Name: "ko"; MessagesFile: "compiler:Languages\Korean.isl,@CMAKE_SOURCE_DIR@\util\ISL\KoreanCM.isl"
; Unofficial translations of GUI of Inno Setup
Name: "ko"; MessagesFile: "@CMAKE_SOURCE_DIR@\util\ISL\Korean.isl,@CMAKE_SOURCE_DIR@\util\ISL\KoreanCM.isl"
Name: "zh_CN"; MessagesFile: "@CMAKE_SOURCE_DIR@\util\ISL\ChineseSimplified.isl,@CMAKE_SOURCE_DIR@\util\ISL\ChineseSimplifiedCM.isl"
Name: "zh_TW"; MessagesFile: "@CMAKE_SOURCE_DIR@\util\ISL\ChineseTraditional.isl,@CMAKE_SOURCE_DIR@\util\ISL\ChineseTraditionalCM.isl"

Expand Down
Loading