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

Distribution Updates #2004

Merged
merged 15 commits into from
Jul 24, 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: 7 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,18 @@ Freeciv21
[![Coverity](https://scan.coverity.com/projects/21964/badge.svg)](https://scan.coverity.com/projects/longturn-freeciv21)
[![quality badge](https://img.shields.io/static/v1?label=SUPER&message=HOT&color=green)](http://www.emergencykitten.com/)

![Screenshot](https://github.com/longturn/freeciv21/raw/master/data/screenshot.png)
![Screenshot](https://github.com/longturn/freeciv21/raw/master/dist/readme-screenshot.png)

------------

<p><img src="https://github.com/longturn/freeciv21/raw/master/data/freeciv21-client.png" align="left"/>
Freeciv21 is an empire-building strategy game inspired by the history of human civilization. The game commences in prehistory and your mission is to lead your tribe from the Stone Age to the Space Age. Freeciv21 takes its roots in the well-known FOSS game Freeciv and extends it for more fun, with a revived focus on <strong>competitive multiplayer environments</strong>.
<p><img src="https://github.com/longturn/freeciv21/raw/master/data/icons/128x128/freeciv21-client.png" align="left"/>
<!-- This description is in each of the metainfo files, about.rst, freeciv21-server.rst, and snapcraft.yaml -->
Freeciv21 is a free open source turn-based empire-building 4x strategy game, in which each player becomes the leader of a civilization. You compete against several opponents to build cities and use them to support a military and an economy. Players strive to complete an empire that survives all encounters with its neighbors to emerge victorious. Play begins at the dawn of history in 4,000 BCE.</p>
<p>Freeciv21 takes its roots in the well-known FOSS game Freeciv and extends it for more fun, with a revived focus on competitive multiplayer environments. Players can choose from over 500 nations and can play against the computer or other people in an active online community.</p>
<p>The code is maintained by the team over at [Longturn.net](https://longturn.net) and is based on the QT framework. The game supports both hex and square tiles and is easily modified to create custom rules.
<br clear="left"/></p>

Get started by reviewing our [about page](https://longturn.readthedocs.io/en/latest/Getting/about.html). Freeciv21 is maintained by the team from [Longturn.net](https://longturn.net). We welcome pull requests, bug reports and simple suggestions! Get in touch on [Discord](https://discord.gg/98krqGm). The #General channel is a great place to start.
Get started by reviewing our [about page](https://longturn.readthedocs.io/en/latest/Getting/about.html). We welcome pull requests, bug reports and simple suggestions! Get in touch on [Discord](https://discord.gg/98krqGm). The #General channel is a great place to start.

The documentation is found on our [documentation website](https://longturn.readthedocs.io/).

Expand Down
6 changes: 3 additions & 3 deletions cmake/CPackConfig.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -70,9 +70,9 @@ if(WIN32 OR MSYS OR MINGW)
## Generator-specific configuration ##

# NSIS (Windows .exe installer)
set(CPACK_NSIS_MUI_ICON "${CMAKE_SOURCE_DIR}/dist/client.ico")
set(CPACK_NSIS_MUI_UNIICON "${CMAKE_SOURCE_DIR}/dist/client.ico")
set(CPACK_NSIS_INSTALLED_ICON_NAME "${CMAKE_SOURCE_DIR}/dist/client.ico")
set(CPACK_NSIS_MUI_ICON "${CMAKE_SOURCE_DIR}/data/icons/128x128/freeciv21-client.ico")
set(CPACK_NSIS_MUI_UNIICON "${CMAKE_SOURCE_DIR}/data/icons/128x128/freeciv21-client.ico")
set(CPACK_NSIS_INSTALLED_ICON_NAME "${CMAKE_SOURCE_DIR}/data/icons/128x128/freeciv21-client.ico")
set(CPACK_NSIS_HELP_LINK "${CPACK_PACKAGE_HOMEPAGE_URL}")
set(CPACK_NSIS_URL_INFO_ABOUT "${CPACK_PACKAGE_HOMEPAGE_URL}")
set(CPACK_NSIS_MENU_LINKS "${CPACK_PACKAGE_HOMEPAGE_URL}" "Longturn Homepage")
Expand Down
89 changes: 60 additions & 29 deletions cmake/FreecivInstall.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,9 @@ if(WIN32 OR MSYS OR MINGW)
install(
FILES
dist/freeciv21-server.cmd
dist/client.ico
dist/mp.ico
dist/server.ico
data/icons/128x128/freeciv21-client.ico
data/icons/128x128/freeciv21-modpack.ico
data/icons/128x128/freeciv21-server.ico
DESTINATION ${CMAKE_INSTALL_BINDIR}
COMPONENT freeciv21)
endif()
Expand Down Expand Up @@ -153,6 +153,9 @@ endif()
# Unix/Linux specific install steps
if(UNIX AND NOT APPLE)

# Get the current day in year-month-day format
string(TIMESTAMP currentDay "%Y-%m-%d")

# Fixes a bug of some sort on Linux where this gets set to /usr/local, but installs to /usr
if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
set (CMAKE_INSTALL_PREFIX "/usr"
Expand All @@ -162,22 +165,30 @@ if(UNIX AND NOT APPLE)

# Install MetaInfo and Desktop files for the applications asked for at configure
if(FREECIV_ENABLE_CLIENT)
install(
FILES
dist/net.longturn.freeciv21.client.metainfo.xml
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/metainfo
COMPONENT freeciv21
)
configure_file(${CMAKE_SOURCE_DIR}/dist/net.longturn.freeciv21.client.desktop.in
net.longturn.freeciv21.client.desktop
@ONLY NEWLINE_STYLE UNIX)
configure_file(${CMAKE_SOURCE_DIR}/dist/net.longturn.freeciv21.client.metainfo.xml.in
net.longturn.freeciv21.client.metainfo.xml
@ONLY NEWLINE_STYLE UNIX)
install(
FILES
${CMAKE_BINARY_DIR}/net.longturn.freeciv21.client.desktop
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/applications
COMPONENT freeciv21
)

install(
FILES
${CMAKE_BINARY_DIR}/net.longturn.freeciv21.client.metainfo.xml
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/metainfo
COMPONENT freeciv21
)
install(
FILES
${CMAKE_SOURCE_DIR}/data/icons/128x128/freeciv21-client.png
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/freeciv21/misc
COMPONENT freeciv21
)
if(FREECIV_ENABLE_MANPAGES)
install(
FILES
Expand All @@ -189,22 +200,30 @@ if(UNIX AND NOT APPLE)
endif(FREECIV_ENABLE_CLIENT)

if(FREECIV_ENABLE_SERVER)
install(
FILES
dist/net.longturn.freeciv21.server.metainfo.xml
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/metainfo
COMPONENT freeciv21
)
configure_file(${CMAKE_SOURCE_DIR}/dist/net.longturn.freeciv21.server.desktop.in
net.longturn.freeciv21.server.desktop
@ONLY NEWLINE_STYLE UNIX)
configure_file(${CMAKE_SOURCE_DIR}/dist/net.longturn.freeciv21.server.metainfo.xml.in
net.longturn.freeciv21.server.metainfo.xml
@ONLY NEWLINE_STYLE UNIX)
install(
FILES
${CMAKE_BINARY_DIR}/net.longturn.freeciv21.server.desktop
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/applications
COMPONENT freeciv21
)

install(
FILES
${CMAKE_BINARY_DIR}/net.longturn.freeciv21.server.metainfo.xml
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/metainfo
COMPONENT freeciv21
)
install(
FILES
${CMAKE_SOURCE_DIR}/data/icons/128x128/freeciv21-server.png
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/freeciv21/misc
COMPONENT freeciv21
)
if(FREECIV_ENABLE_MANPAGES)
install(
FILES
Expand All @@ -219,19 +238,28 @@ if(UNIX AND NOT APPLE)
endif(FREECIV_ENABLE_SERVER)

if(FREECIV_ENABLE_FCMP_QT)
configure_file(${CMAKE_SOURCE_DIR}/dist/net.longturn.freeciv21.modpack.desktop.in
net.longturn.freeciv21.modpack.desktop
@ONLY NEWLINE_STYLE UNIX)
configure_file(${CMAKE_SOURCE_DIR}/dist/net.longturn.freeciv21.modpack.metainfo.xml.in
net.longturn.freeciv21.modpack.metainfo.xml
@ONLY NEWLINE_STYLE UNIX)
install(
FILES
${CMAKE_BINARY_DIR}/net.longturn.freeciv21.modpack.desktop
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/applications
COMPONENT freeciv21
)
install(
FILES
dist/net.longturn.freeciv21.modpack.metainfo.xml
${CMAKE_BINARY_DIR}/net.longturn.freeciv21.modpack.metainfo.xml
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/metainfo
COMPONENT freeciv21
)
configure_file(${CMAKE_SOURCE_DIR}/dist/net.longturn.freeciv21.modpack-qt.desktop.in
net.longturn.freeciv21.modpack-qt.desktop
@ONLY NEWLINE_STYLE UNIX)
install(
FILES
${CMAKE_BINARY_DIR}/net.longturn.freeciv21.modpack-qt.desktop
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/applications
${CMAKE_SOURCE_DIR}/data/icons/128x128/freeciv21-modpack.png
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/freeciv21/misc
COMPONENT freeciv21
)

Expand All @@ -247,21 +275,24 @@ if(UNIX AND NOT APPLE)
endif(FREECIV_ENABLE_FCMP_QT)

if(FREECIV_ENABLE_RULEDIT)
install(
FILES
dist/net.longturn.freeciv21.ruledit.metainfo.xml
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/metainfo
COMPONENT tool_ruledit
)
configure_file(${CMAKE_SOURCE_DIR}/dist/net.longturn.freeciv21.ruledit.desktop.in
net.longturn.freeciv21.ruledit.desktop
@ONLY NEWLINE_STYLE UNIX)
configure_file(${CMAKE_SOURCE_DIR}/dist/net.longturn.freeciv21.ruledit.metainfo.xml.in
net.longturn.freeciv21.ruledit.metainfo.xml
@ONLY NEWLINE_STYLE UNIX)
install(
FILES
${CMAKE_BINARY_DIR}/net.longturn.freeciv21.ruledit.desktop
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/applications
COMPONENT tool_ruledit
)
install(
FILES
${CMAKE_BINARY_DIR}/net.longturn.freeciv21.ruledit.metainfo.xml
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/metainfo
COMPONENT tool_ruledit
)
endif(FREECIV_ENABLE_RULEDIT)
endif(UNIX AND NOT APPLE)

Expand Down
9 changes: 5 additions & 4 deletions cmake/NSIS.template.in
Original file line number Diff line number Diff line change
Expand Up @@ -224,12 +224,13 @@


; Create Desktop Icon
CreateShortCut "$DESKTOP\${APPNAME} Client.lnk" "$INSTDIR\freeciv21-client.exe" "" "$INSTDIR\client.ico" 0
CreateShortCut "$DESKTOP\${APPNAME} Client.lnk" "$INSTDIR\freeciv21-client.exe" "" "$INSTDIR\freeciv21-client.ico" 0

; Create Start Menu Entries
CreateDirectory "$SMPROGRAMS\${APPNAME}"
CreateShortCut "$SMPROGRAMS\${APPNAME}\${APPNAME} Client.lnk" "$INSTDIR\freeciv21-client.exe" "" "$INSTDIR\client.ico" 0
CreateShortCut "$SMPROGRAMS\${APPNAME}\${APPNAME} Modpack Installer.lnk" "$INSTDIR\freeciv21-modpack-qt.exe" "" "$INSTDIR\mp.ico" 0
CreateShortCut "$SMPROGRAMS\${APPNAME}\${APPNAME} Client.lnk" "$INSTDIR\freeciv21-client.exe" "" "$INSTDIR\freeciv21-client.ico" 0
CreateShortCut "$SMPROGRAMS\${APPNAME}\${APPNAME} Modpack Installer.lnk" "$INSTDIR\freeciv21-modpack-qt.exe" "" "$INSTDIR\freeciv21-modpack.ico" 0
CreateShortCut "$SMPROGRAMS\${APPNAME}\${APPNAME} Server.lnk" "$INSTDIR\freeciv21-server.exe" "" "$INSTDIR\freeciv21-server.ico" 0

; Create entry in Windows "Add/Remove programs" panel.
Push "DisplayName"
Expand All @@ -251,7 +252,7 @@
Push "1"
Call ConditionalAddToRegisty
Push "DisplayIcon"
Push "$INSTDIR\client.ico"
Push "$INSTDIR\freeciv21-client.ico"
Call ConditionalAddToRegisty
Push "HelpLink"
Push "@CPACK_NSIS_HELP_LINK@"
Expand Down
Binary file removed data/freeciv21-client.png
Binary file not shown.
Binary file removed data/freeciv21-server.png
Binary file not shown.
Binary file added data/icons/128x128/freeciv21-client.ico
Binary file not shown.
4 changes: 0 additions & 4 deletions data/icons/128x128/freeciv21-client.png.license

This file was deleted.

Binary file added data/icons/128x128/freeciv21-modpack.ico
Binary file not shown.
2 changes: 2 additions & 0 deletions data/icons/128x128/freeciv21-modpack.license
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
SPDX-License-Identifier: GPL-3.0-or-later
SPDX-FileCopyrightText: Freeciv21 and Freeciv Contributors
Binary file added data/icons/128x128/freeciv21-server.ico
Binary file not shown.
4 changes: 0 additions & 4 deletions data/icons/128x128/freeciv21-server.png.license

This file was deleted.

4 changes: 0 additions & 4 deletions data/icons/16x16/freeciv21-client.png.license

This file was deleted.

1 change: 1 addition & 0 deletions data/icons/16x16/freeciv21-client.png.license
1 change: 1 addition & 0 deletions data/icons/16x16/freeciv21-modpack.png.license
4 changes: 0 additions & 4 deletions data/icons/16x16/freeciv21-server.png.license

This file was deleted.

1 change: 1 addition & 0 deletions data/icons/16x16/freeciv21-server.png.license
4 changes: 0 additions & 4 deletions data/icons/32x32/freeciv21-client.png.license

This file was deleted.

1 change: 1 addition & 0 deletions data/icons/32x32/freeciv21-client.png.license
1 change: 1 addition & 0 deletions data/icons/32x32/freeciv21-modpack.png.license
4 changes: 0 additions & 4 deletions data/icons/32x32/freeciv21-server.png.license

This file was deleted.

1 change: 1 addition & 0 deletions data/icons/32x32/freeciv21-server.png.license
4 changes: 0 additions & 4 deletions data/icons/48x48/freeciv21-client.png.license

This file was deleted.

1 change: 1 addition & 0 deletions data/icons/48x48/freeciv21-client.png.license
1 change: 1 addition & 0 deletions data/icons/48x48/freeciv21-modpack.png.license
4 changes: 0 additions & 4 deletions data/icons/48x48/freeciv21-server.png.license

This file was deleted.

1 change: 1 addition & 0 deletions data/icons/48x48/freeciv21-server.png.license
4 changes: 0 additions & 4 deletions data/icons/64x64/freeciv21-client.png.license

This file was deleted.

1 change: 1 addition & 0 deletions data/icons/64x64/freeciv21-client.png.license
1 change: 1 addition & 0 deletions data/icons/64x64/freeciv21-modpack.png.license
4 changes: 0 additions & 4 deletions data/icons/64x64/freeciv21-server.png.license

This file was deleted.

1 change: 1 addition & 0 deletions data/icons/64x64/freeciv21-server.png.license
Binary file removed data/misc/civicon.png
Binary file not shown.
4 changes: 0 additions & 4 deletions data/misc/civicon.png.license

This file was deleted.

2 changes: 1 addition & 1 deletion data/misc/icons.spec
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,6 @@ artists = "
[extra]
sprites =
{ "tag", "file"
"icon.freeciv", "misc/civicon"
"icon.freeciv", "misc/freeciv21-client"
; misc/mpicon.png is referenced directly from configure.ac
}
Binary file removed data/misc/mpicon.png
Binary file not shown.
Binary file removed data/misc/server.png
Binary file not shown.
4 changes: 0 additions & 4 deletions data/misc/server.png.license

This file was deleted.

Binary file removed dist/client.ico
Binary file not shown.
1 change: 0 additions & 1 deletion dist/client.ico.license

This file was deleted.

Loading
Loading