aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Szymon Tomasz Stefanek2008-04-19 15:37:13 +0000
committerGravatar Szymon Tomasz Stefanek2008-04-19 15:37:13 +0000
commit5626c55dbfef3e278efa0a55ce1d01a6c386c554 (patch)
treec675847e1cb7ea71bd1f72d0e1ee22de39501ece
parentuser documentation generation (aka "the help inside kvirc") (diff)
downloadKVIrc-5626c55dbfef3e278efa0a55ce1d01a6c386c554.tar.gz
KVIrc-5626c55dbfef3e278efa0a55ce1d01a6c386c554.tar.bz2
KVIrc-5626c55dbfef3e278efa0a55ce1d01a6c386c554.zip
Splitted system configuration in two files. The frequently changing stuff in kvi_sysbuildinfo.h and is included ONLY from kbi_buildinfo.cpp in order to minimize recompilation cost.
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@1525 17fca916-40b9-46aa-a4ea-0a15b648b75c
-rw-r--r--CMakeLists.txt10
-rw-r--r--cmake/kvi_sysbuildinfo.h.cmake12
-rw-r--r--cmake/kvi_sysconfig.h.cmake2
-rw-r--r--src/kvilib/CMakeLists.txt2
-rw-r--r--src/kvilib/config/kvi_buildinfo.cpp39
-rw-r--r--src/kvilib/config/kvi_buildinfo.h36
-rw-r--r--src/kvilib/config/kvi_settings.h6
-rw-r--r--src/kvilib/config/kvi_wincfg.h2
-rw-r--r--src/kvirc/kernel/kvi_main.cpp6
-rw-r--r--src/kvirc/kvs/kvi_kvs_corefunctions_sz.cpp3
-rw-r--r--src/kvirc/kvs/kvi_kvs_treenode_switchlist.cpp2
-rw-r--r--src/kvirc/sparser/kvi_sp_ctcp.cpp4
-rw-r--r--src/modules/about/aboutdialog.cpp5
13 files changed, 117 insertions, 12 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index bdf2803f8..f067f4dcc 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -513,6 +513,14 @@ ENDIF()
# CONFIGURE FILES
###############################################################################
+# System configuration is now splitted in 2 files
+# kvi_sysconfig.h contains the "saveable" configuration: stuff that
+# may be preserved between multiple cmake runs (and thus may save compilation time)
+# kvi_sysbuildinfo.h contains the configuration that changes at every
+# cmake run and must be recompiled every time. Extra care is taken
+# inside the sources to include kvi_sysbuildinfo.h in only ONE file (so only
+# linking of kvilib is done if only kvi_sysbuildinfo.h changes.
+
IF(EXISTS ${PROJECT_BINARY_DIR}/kvi_sysconfig.h)
# an old config exists; let's check if it's actual:
CONFIGURE_FILE(${PROJECT_SOURCE_DIR}/cmake/kvi_sysconfig.h.cmake ${PROJECT_BINARY_DIR}/kvi_sysconfig.h.new)
@@ -533,6 +541,8 @@ ELSE()
CONFIGURE_FILE(${PROJECT_SOURCE_DIR}/cmake/kvi_sysconfig.h.cmake ${PROJECT_BINARY_DIR}/kvi_sysconfig.h)
ENDIF()
+CONFIGURE_FILE(${PROJECT_SOURCE_DIR}/cmake/kvi_sysbuildinfo.h.cmake ${PROJECT_BINARY_DIR}/kvi_sysbuildinfo.h)
+
INCLUDE_DIRECTORIES(${PROJECT_BINARY_DIR})
diff --git a/cmake/kvi_sysbuildinfo.h.cmake b/cmake/kvi_sysbuildinfo.h.cmake
new file mode 100644
index 000000000..dd8d9ca13
--- /dev/null
+++ b/cmake/kvi_sysbuildinfo.h.cmake
@@ -0,0 +1,12 @@
+#ifndef _kvi_sysbuildinfo_h_
+#define _kvi_sysbuildinfo_h_
+//=============================================================================
+//
+// System dependant configuration for KVIrc
+// This file is automatically generated: do not edit
+//
+//=============================================================================
+
+#define KVIRC_BUILD_DATE "${CMAKE_KVIRC_BUILD_DATE}"
+
+#endif //!_kvi_sysbuildinfo_h_
diff --git a/cmake/kvi_sysconfig.h.cmake b/cmake/kvi_sysconfig.h.cmake
index 2a2d686ba..6c785a2f1 100644
--- a/cmake/kvi_sysconfig.h.cmake
+++ b/cmake/kvi_sysconfig.h.cmake
@@ -31,7 +31,7 @@
#define KVIRC_VERSION_RELEASE "${CMAKE_KVIRC_VERSION_RELEASE}"
#define KVIRC_VERSION_BRANCH "${CMAKE_KVIRC_VERSION_BRANCH}"
-#define KVIRC_BUILD_DATE __DATE__" "__TIME__
+
#define KVIRC_BUILD_COMMAND "${CMAKE_KVIRC_BUILD_COMMAND}"
#define KVIRC_BUILD_FLAGS "${CMAKE_KVIRC_BUILD_FLAGS}"
#define KVIRC_BUILD_SYSTEM "${CMAKE_KVIRC_BUILD_SYSTEM}"
diff --git a/src/kvilib/CMakeLists.txt b/src/kvilib/CMakeLists.txt
index 187e25396..896cca4b5 100644
--- a/src/kvilib/CMakeLists.txt
+++ b/src/kvilib/CMakeLists.txt
@@ -93,6 +93,7 @@ SET(kvilib_MOC_HDRS
core/kvi_strasm.h
core/kvi_string.h
core/kvi_stringarray.h
+ config/kvi_buildinfo.h
config/kvi_confignames.h
config/kvi_debug.h
config/kvi_defaults.h
@@ -170,6 +171,7 @@ SET(kvilib_SRCS
core/kvi_qstring.cpp
core/kvi_string.cpp
core/kvi_stringarray.cpp
+ config/kvi_buildinfo.cpp
)
# After this call, files will be moc'ed to moc_kvi_*.cpp
diff --git a/src/kvilib/config/kvi_buildinfo.cpp b/src/kvilib/config/kvi_buildinfo.cpp
new file mode 100644
index 000000000..7d00bddd6
--- /dev/null
+++ b/src/kvilib/config/kvi_buildinfo.cpp
@@ -0,0 +1,39 @@
+//=============================================================================
+//
+// File : kvi_buildinfo.cpp
+// Created on Sat 19 Apr 2008 17:01:57 by Szymon Stefanek
+//
+// This file is part of the KVIrc IRC Client distribution
+// Copyright (C) 2008 Szymon Stefanek <s.stefanek at libero dot it>
+//
+// This program 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 2
+// of the License, or (at your opinion) any later version.
+//
+// This program 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 this program. If not, write to the Free Software Foundation,
+// Inc. ,59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+//
+//=============================================================================
+
+#include "kvi_buildinfo.h"
+
+#if defined(_OS_WIN32_) || defined(Q_OS_WIN32) || defined(Q_OS_WIN32_)
+ #include "kvi_wincfg.h"
+#else
+ #include "kvi_sysbuildinfo.h"
+#endif
+
+namespace KviBuildInfo
+{
+ QString buildDate()
+ {
+ return QString(KVIRC_BUILD_DATE);
+ }
+};
diff --git a/src/kvilib/config/kvi_buildinfo.h b/src/kvilib/config/kvi_buildinfo.h
new file mode 100644
index 000000000..f17b19557
--- /dev/null
+++ b/src/kvilib/config/kvi_buildinfo.h
@@ -0,0 +1,36 @@
+#ifndef _KVI_BUILDINFO_H_
+#define _KVI_BUILDINFO_H_
+//=============================================================================
+//
+// File : kvi_buildinfo.h
+// Created on Sat 19 Apr 2008 17:01:57 by Szymon Stefanek
+//
+// This file is part of the KVIrc IRC Client distribution
+// Copyright (C) 2008 Szymon Stefanek <s.stefanek at libero dot it>
+//
+// This program 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 2
+// of the License, or (at your opinion) any later version.
+//
+// This program 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 this program. If not, write to the Free Software Foundation,
+// Inc. ,59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+//
+//=============================================================================
+
+#include "kvi_settings.h"
+
+#include <QString>
+
+namespace KviBuildInfo
+{
+ QString buildDate();
+};
+
+#endif //!_KVI_BUILDINFO_H_
diff --git a/src/kvilib/config/kvi_settings.h b/src/kvilib/config/kvi_settings.h
index 33497208d..5d9bd2217 100644
--- a/src/kvilib/config/kvi_settings.h
+++ b/src/kvilib/config/kvi_settings.h
@@ -76,10 +76,6 @@
#define VERSION "?.?.?"
#endif
- #ifndef BUILD_DATE
- #define BUILD_DATE "?"
- #endif
-
#ifndef BUILD_FLAGS
#define BUILD_FLAGS "?"
#endif
@@ -90,7 +86,6 @@
#define VERSION KVIRC_VERSION_RELEASE
#define VERSION_BRANCH KVIRC_VERSION_BRANCH
- #define BUILD_DATE KVIRC_BUILD_DATE
#define BUILD_COMMAND KVIRC_BUILD_COMMAND
#define BUILD_FLAGS KVIRC_BUILD_FLAGS
#define BUILD_SYSTEM KVIRC_BUILD_SYSTEM
@@ -112,7 +107,6 @@
#define KVI_VERSION VERSION
#define KVI_VERSION_BRANCH VERSION_BRANCH
-#define KVI_BUILD_DATE BUILD_DATE
#define KVI_BUILD_COMMAND BUILD_COMMAND
#define KVI_BUILD_FLAGS BUILD_FLAGS
#define KVI_BUILD_SYSTEM BUILD_SYSTEM
diff --git a/src/kvilib/config/kvi_wincfg.h b/src/kvilib/config/kvi_wincfg.h
index 26fa8ed49..60ff4acd0 100644
--- a/src/kvilib/config/kvi_wincfg.h
+++ b/src/kvilib/config/kvi_wincfg.h
@@ -91,7 +91,7 @@
/* #undef COMPILE_GET_INTERFACE_ADDRESS */
/* this is the build date (configure date rather) */
-#define BUILD_DATE __DATE__" "__TIME__
+#define KVIRC_BUILD_DATE __DATE__" "__TIME__
/* these are the build flags */
#define BUILD_FLAGS "win32"
diff --git a/src/kvirc/kernel/kvi_main.cpp b/src/kvirc/kernel/kvi_main.cpp
index b27545469..0397427e7 100644
--- a/src/kvirc/kernel/kvi_main.cpp
+++ b/src/kvirc/kernel/kvi_main.cpp
@@ -31,6 +31,7 @@
#include "kvi_defaults.h"
#include "kvi_sourcesdate.h"
#include "kvi_msgbox.h"
+#include "kvi_buildinfo.h"
#ifndef COMPILE_NO_IPC
extern bool kvi_sendIpcMessage(const char * message); // kvi_ipc.cpp
@@ -77,7 +78,10 @@ int parseArgs(ParseArgs * a)
{
KviQString::appendFormatted(szMessage,"KVIrc %s '%s'\n",KVI_VERSION,KVI_RELEASE_NAME);
KviQString::appendFormatted(szMessage,"Sources date: %s\n",KVI_SOURCES_DATE);
- KviQString::appendFormatted(szMessage,"Build date: %s\n",KVI_BUILD_DATE);
+ szMessage += "Build date: ";
+ szMessage += KviBuildInfo::buildDate();
+ szMessage += "\n";
+
KviQString::appendFormatted(szMessage,"Home page: http://www.kvirc.net/\n");
#ifdef COMPILE_ON_WINDOWS
diff --git a/src/kvirc/kvs/kvi_kvs_corefunctions_sz.cpp b/src/kvirc/kvs/kvi_kvs_corefunctions_sz.cpp
index b19cbc54f..b8902a0cf 100644
--- a/src/kvirc/kvs/kvi_kvs_corefunctions_sz.cpp
+++ b/src/kvirc/kvs/kvi_kvs_corefunctions_sz.cpp
@@ -43,6 +43,7 @@
#include "kvi_mirccntrl.h"
#include "kvi_sourcesdate.h"
#include "kvi_socket.h"
+#include "kvi_buildinfo.h"
#include <stdlib.h> // rand & srand
@@ -1033,7 +1034,7 @@ namespace KviKvsCoreFunctions
else {
if(szType.find('r') != -1)KVSCF_pRetBuffer->setString(KVI_RELEASE_NAME);
else if(szType.find('s') != -1)KVSCF_pRetBuffer->setString(KVI_SOURCES_DATE);
- else if(szType.find('b') != -1)KVSCF_pRetBuffer->setString(KVI_BUILD_DATE);
+ else if(szType.find('b') != -1)KVSCF_pRetBuffer->setString(KviBuildInfo::buildDate());
else KVSCF_pRetBuffer->setString(KVI_VERSION);
}
return true;
diff --git a/src/kvirc/kvs/kvi_kvs_treenode_switchlist.cpp b/src/kvirc/kvs/kvi_kvs_treenode_switchlist.cpp
index d6c51570a..8eed5a89a 100644
--- a/src/kvirc/kvs/kvi_kvs_treenode_switchlist.cpp
+++ b/src/kvirc/kvs/kvi_kvs_treenode_switchlist.cpp
@@ -49,6 +49,7 @@ void KviKvsTreeNodeSwitchList::contextDescription(QString &szBuffer)
void KviKvsTreeNodeSwitchList::dump(const char * prefix)
{
qDebug("%s SwitchList",prefix);
+#if 0
if(m_pShortSwitchDict)
{
KviPointerHashTableIterator<int,KviKvsTreeNodeData> it(*m_pShortSwitchDict);
@@ -76,6 +77,7 @@ void KviKvsTreeNodeSwitchList::dump(const char * prefix)
++it;
}
}
+#endif
}
void KviKvsTreeNodeSwitchList::addShort(int iShortKey,KviKvsTreeNodeData * p)
diff --git a/src/kvirc/sparser/kvi_sp_ctcp.cpp b/src/kvirc/sparser/kvi_sp_ctcp.cpp
index 1e3f2bdd4..5c88cc623 100644
--- a/src/kvirc/sparser/kvi_sp_ctcp.cpp
+++ b/src/kvirc/sparser/kvi_sp_ctcp.cpp
@@ -55,6 +55,7 @@
#include "kvi_kvs_script.h"
#include "kvi_sourcesdate.h"
#include "kvi_regusersdb.h"
+#include "kvi_buildinfo.h"
#include <stdlib.h>
@@ -1141,7 +1142,8 @@ void KviServerParser::parseCtcpRequestVersion(KviCtcpMessage *msg)
#define QT4_TAG " (QT4) "
- szVersion = "KVIrc " KVI_VERSION QT4_TAG " '" KVI_RELEASE_NAME "' " KVI_SOURCES_DATE " - build " KVI_BUILD_DATE;
+ szVersion = "KVIrc " KVI_VERSION QT4_TAG " '" KVI_RELEASE_NAME "' " KVI_SOURCES_DATE " - build ";
+ szVersion += KviBuildInfo::buildDate();
#ifdef COMPILE_ON_WINDOWS
szVersion.append(QString(" - %1").arg(KviOsInfo::version()));
#else
diff --git a/src/modules/about/aboutdialog.cpp b/src/modules/about/aboutdialog.cpp
index 3bf758e93..a47a8d965 100644
--- a/src/modules/about/aboutdialog.cpp
+++ b/src/modules/about/aboutdialog.cpp
@@ -29,6 +29,7 @@
#include "kvi_app.h"
#include "kvi_fileutils.h"
#include "kvi_sourcesdate.h"
+#include "kvi_buildinfo.h"
#include <kvi_tal_textedit.h>
#include <QWidget>
@@ -120,7 +121,9 @@ KviAboutDialog::KviAboutDialog()
infoString += __tr2qs_ctx("Sources Date","about");
infoString += ": " KVI_SOURCES_DATE "<br>";
infoString += __tr2qs_ctx("Build Date","about");
- infoString += ": " KVI_BUILD_DATE "<br>";
+ infoString += ": ";
+ infoString += KviBuildInfo::buildDate();
+ infoString += "<br>";
infoString += __tr2qs_ctx("Build Command","about");
infoString += ": " KVI_BUILD_COMMAND "<br>";
infoString += __tr2qs_ctx("Build Flags","about");