Keep all the version numbers in one file, so we don't have to change it in hundreds of places each release.

This commit is contained in:
David Sansome 2010-05-03 13:58:41 +00:00
parent d3cbeed9b7
commit 7039d04ee6
11 changed files with 78 additions and 17 deletions

View File

@ -1,6 +1,7 @@
cmake_minimum_required(VERSION 2.6) cmake_minimum_required(VERSION 2.6)
include(FindPkgConfig) include(FindPkgConfig)
include(Version.cmake)
if (CMAKE_FIND_ROOT_PATH) if (CMAKE_FIND_ROOT_PATH)
# Help find the Qt headers if we're cross compiling (since we can't run qmake.exe) # Help find the Qt headers if we're cross compiling (since we can't run qmake.exe)
@ -109,10 +110,9 @@ add_subdirectory(src)
if (NOT APPLE) if (NOT APPLE)
add_subdirectory(3rdparty/qxt) add_subdirectory(3rdparty/qxt)
endif (NOT APPLE) endif (NOT APPLE)
add_subdirectory(3rdparty/universalchardet) add_subdirectory(3rdparty/universalchardet)
add_subdirectory(tests) add_subdirectory(tests)
add_subdirectory(dist)
if (WIN32 OR APPLE) if (WIN32 OR APPLE)
message(STATUS "Building static qsqlite plugin") message(STATUS "Building static qsqlite plugin")

18
Version.cmake Normal file
View File

@ -0,0 +1,18 @@
# Change this file when releasing a new version.
# You'll also need to add a new changelog entry in:
# debian/changelog
# dist/clementine.spec
# Version numbers. For m.n rc, use m.(n-1).99
set(CLEMENTINE_VERSION_MAJOR 0)
set(CLEMENTINE_VERSION_MINOR 2)
set(CLEMENTINE_VERSION_PATCH 99)
set(CLEMENTINE_VERSION_STRING "0.3 rc3") # Displayed in GUIs
set(CLEMENTINE_VERSION_SHORT_STRING "0.3-rc3") # Used in filenames
if (CLEMENTINE_VERSION_PATCH)
set(CLEMENTINE_VERSION ${CLEMENTINE_VERSION_MAJOR}.${CLEMENTINE_VERSION_MINOR}.${CLEMENTINE_VERSION_PATCH})
else (CLEMENTINE_VERSION_PATCH)
set(CLEMENTINE_VERSION ${CLEMENTINE_VERSION_MAJOR}.${CLEMENTINE_VERSION_MINOR})
endif (CLEMENTINE_VERSION_PATCH)

9
dist/CMakeLists.txt vendored Normal file
View File

@ -0,0 +1,9 @@
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/clementine.spec.in
${CMAKE_CURRENT_SOURCE_DIR}/clementine.spec)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Info.plist.in
${CMAKE_CURRENT_SOURCE_DIR}/Info.plist)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/maketarball.sh.in
${CMAKE_CURRENT_SOURCE_DIR}/maketarball.sh @ONLY)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/windows/clementine.nsi.in
${CMAKE_CURRENT_SOURCE_DIR}/windows/clementine.nsi @ONLY)
# windows/windres.rc is done by src/CMakeLists.txt

View File

@ -7,7 +7,7 @@
<key>CFBundleExecutable</key> <key>CFBundleExecutable</key>
<string>clementine</string> <string>clementine</string>
<key>CFBundleGetInfoString</key> <key>CFBundleGetInfoString</key>
<string>Clementine 0.3 beta 3</string> <string>Clementine ${CLEMENTINE_VERSION_STRING}</string>
<key>CFBundleIconFile</key> <key>CFBundleIconFile</key>
<string>clementine</string> <string>clementine</string>
<key>CFBundleIdentifier</key> <key>CFBundleIdentifier</key>
@ -15,13 +15,13 @@
<key>CFBundleInfoDictionaryVersion</key> <key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string> <string>6.0</string>
<key>CFBundleLongVersionString</key> <key>CFBundleLongVersionString</key>
<string>0.3 beta 3</string> <string>${CLEMENTINE_VERSION_STRING}</string>
<key>CFBundleName</key> <key>CFBundleName</key>
<string>Clementine</string> <string>Clementine</string>
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
<string>APPL</string> <string>APPL</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>0.3_beta3</string> <string>${CLEMENTINE_VERSION_SHORTSTRING}</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>123</string> <string>123</string>
<key>CSResourcesFileMapped</key> <key>CSResourcesFileMapped</key>

View File

@ -1,5 +1,5 @@
Name: clementine Name: clementine
Version: 0.2.99 Version: ${CLEMENTINE_VERSION}
Release: 1%{?dist} Release: 1%{?dist}
Summary: A music player and library organiser Summary: A music player and library organiser

View File

@ -2,7 +2,7 @@
name=clementine name=clementine
url=`svn info | grep URL | head -n1 | awk '{print $2}' | sed 's/\/dist//'` url=`svn info | grep URL | head -n1 | awk '{print $2}' | sed 's/\/dist//'`
version=`grep Version $name.spec | head -n1 | awk '{print $2}'` version="@CLEMENTINE_VERSION@"
echo "Checking out $url into $name-$version..." echo "Checking out $url into $name-$version..."

View File

@ -1,8 +1,9 @@
!define PRODUCT_NAME "Clementine" !define PRODUCT_NAME "Clementine"
!define PRODUCT_PUBLISHER "Clementine" !define PRODUCT_PUBLISHER "Clementine"
!define PRODUCT_VERSION_MAJOR 0 !define PRODUCT_VERSION_MAJOR @CLEMENTINE_VERSION_MAJOR@
!define PRODUCT_VERSION_MINOR 3 !define PRODUCT_VERSION_MINOR @CLEMENTINE_VERSION_MINOR@
!define PRODUCT_DISPLAY_VERSION "0.3-rc3" !define PRODUCT_DISPLAY_VERSION "@CLEMENTINE_VERSION_STRING@"
!define PRODUCT_DISPLAY_VERSION_SHORT "@CLEMENTINE_VERSION_SHORT_STRING@"
!define PRODUCT_WEB_SITE "http://code.google.com/p/clementine-player/" !define PRODUCT_WEB_SITE "http://code.google.com/p/clementine-player/"
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" !define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
!define PRODUCT_UNINST_ROOT_KEY "HKLM" !define PRODUCT_UNINST_ROOT_KEY "HKLM"
@ -30,7 +31,7 @@ SetCompressor /SOLID lzma
!insertmacro MUI_LANGUAGE "English" !insertmacro MUI_LANGUAGE "English"
Name "${PRODUCT_NAME}" Name "${PRODUCT_NAME}"
OutFile "${PRODUCT_NAME}Setup-${PRODUCT_DISPLAY_VERSION}.exe" OutFile "${PRODUCT_NAME}Setup-${PRODUCT_DISPLAY_VERSION_SHORT}.exe"
InstallDir "${PRODUCT_INSTALL_DIR}" InstallDir "${PRODUCT_INSTALL_DIR}"
ShowInstDetails show ShowInstDetails show
ShowUnInstDetails show ShowUnInstDetails show

View File

@ -1,7 +1,7 @@
clementine ICON "clementine.ico" clementine ICON "clementine.ico"
1 VERSIONINFO 1 VERSIONINFO
FILEVERSION 0,2,0,0 FILEVERSION ${CLEMENTINE_VERSION_MAJOR},${CLEMENTINE_VERSION_MINOR},${CLEMENTINE_VERSION_PATCH},0
PRODUCTVERSION 0,2,0,0 PRODUCTVERSION ${CLEMENTINE_VERSION_MAJOR},${CLEMENTINE_VERSION_MINOR},${CLEMENTINE_VERSION_PATCH},0
BEGIN BEGIN
BLOCK "StringFileInfo" BLOCK "StringFileInfo"
BEGIN BEGIN
@ -9,12 +9,12 @@ BEGIN
BEGIN BEGIN
VALUE "CompanyName", "Clementine" VALUE "CompanyName", "Clementine"
VALUE "FileDescription", "Clementine music player" VALUE "FileDescription", "Clementine music player"
VALUE "FileVersion", "0.2" VALUE "FileVersion", "${CLEMENTINE_VERSION_STRING}"
VALUE "InternalName", "clementine" VALUE "InternalName", "clementine"
VALUE "LegalCopyright", "David Sansome" VALUE "LegalCopyright", "David Sansome"
VALUE "OriginalFilename", "clementine.exe" VALUE "OriginalFilename", "clementine.exe"
VALUE "ProductName", "Clementine" VALUE "ProductName", "Clementine"
VALUE "ProductVersion", "0.2" VALUE "ProductVersion", "${CLEMENTINE_VERSION_STRING}"
END END
END END

View File

@ -228,6 +228,10 @@ set(CLEMENTINE-LANGUAGES
tr tr
) )
# Configured header file that contains various macros
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config.h.in
${CMAKE_CURRENT_BINARY_DIR}/config.h)
# OSD and DBus. # OSD and DBus.
if(APPLE) if(APPLE)
set(CLEMENTINE-SOURCES ${CLEMENTINE-SOURCES} osd_mac.mm mac_startup.mm) set(CLEMENTINE-SOURCES ${CLEMENTINE-SOURCES} osd_mac.mm mac_startup.mm)
@ -264,7 +268,9 @@ endif(APPLE)
# resource file for windows # resource file for windows
if(WIN32) if(WIN32)
set(CLEMENTINE-WIN32-RESOURCES ../dist/windows/windres.rc) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../dist/windows/windres.rc.in
${CMAKE_CURRENT_BINARY_DIR}/windres.rc)
set(CLEMENTINE-WIN32-RESOURCES windres.rc)
endif(WIN32) endif(WIN32)
qt4_wrap_cpp(CLEMENTINE-SOURCES-MOC ${CLEMENTINE-MOC-HEADERS}) qt4_wrap_cpp(CLEMENTINE-SOURCES-MOC ${CLEMENTINE-MOC-HEADERS})

26
src/config.h.in Normal file
View File

@ -0,0 +1,26 @@
/* This file is part of Clementine.
Clementine is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Clementine is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Clementine. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef CONFIG_H_IN
#define CONFIG_H_IN
#define CLEMENTINE_VERSION_MAJOR ${CLEMENTINE_VERSION_MAJOR}
#define CLEMENTINE_VERSION_MINOR ${CLEMENTINE_VERSION_MINOR}
#define CLEMENTINE_VERSION_PATCH ${CLEMENTINE_VERSION_PATCH}
#define CLEMENTINE_VERSION_STRING "${CLEMENTINE_VERSION_STRING}"
#define CLEMENTINE_VERSION_SHORT_STRING "${CLEMENTINE_VERSION_SHORT_STRING}"
#endif // CONFIG_H_IN

View File

@ -29,6 +29,7 @@
#include "potranslator.h" #include "potranslator.h"
#include "commandlineoptions.h" #include "commandlineoptions.h"
#include "engines/enginebase.h" #include "engines/enginebase.h"
#include "config.h"
#include <QtSingleApplication> #include <QtSingleApplication>
#include <QtDebug> #include <QtDebug>
@ -79,7 +80,7 @@ int main(int argc, char *argv[]) {
#endif #endif
QCoreApplication::setApplicationName("Clementine"); QCoreApplication::setApplicationName("Clementine");
QCoreApplication::setApplicationVersion("0.3 rc1"); QCoreApplication::setApplicationVersion(CLEMENTINE_VERSION_STRING);
QCoreApplication::setOrganizationName("Clementine"); QCoreApplication::setOrganizationName("Clementine");
QCoreApplication::setOrganizationDomain("davidsansome.com"); QCoreApplication::setOrganizationDomain("davidsansome.com");