You can subscribe to this list here.
| 2013 | Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov (3) | Dec (2) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2014 | Jan | Feb | Mar | Apr | May | Jun (3) | Jul | Aug | Sep | Oct | Nov (2) | Dec |
| 2015 | Jan | Feb | Mar (1) | Apr (3) | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec |
| 2016 | Jan (2) | Feb | Mar | Apr (6) | May | Jun | Jul | Aug (1) | Sep | Oct (5) | Nov (4) | Dec |
| 2017 | Jan | Feb | Mar | Apr (1) | May | Jun (1) | Jul (3) | Aug | Sep | Oct | Nov | Dec |
| 2023 | Jan | Feb (11) | Mar (3) | Apr | May (1) | Jun | Jul | Aug | Sep | Oct | Nov | Dec |
| 2024 | Jan | Feb | Mar | Apr | May | Jun | Jul | Aug (2) | Sep | Oct | Nov | Dec |
| 2025 | Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct (8) | Nov (4) | Dec (4) |
| 2026 | Jan (1) | Feb (9) | Mar (5) | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec |
| From: <log...@li...> - 2026-03-24 17:59:09 |
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Log4cpp Git repository.". The branch, bug-153-time-int32-2k38 has been created at 338670431fc9cc41b95f792ddeef20a203d112a2 (commit) - Log ----------------------------------------------------------------- ----------------------------------------------------------------------- hooks/post-receive -- Log4cpp Git repository. |
| From: <log...@li...> - 2026-03-24 17:58:39 |
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Log4cpp Git repository.". The branch, master has been updated via 338670431fc9cc41b95f792ddeef20a203d112a2 (commit) via 8db8e662654a169238b28c72a4d56d0c3bfecd81 (commit) via 1c4bb3784914853637df9387712a6cde9135931b (commit) from 0bb6b8e6f2609331aa4907ac699bfaee563ffbd5 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- ----------------------------------------------------------------------- Summary of changes: include/log4cpp/TimeStamp.hh | 7 +- src/DailyRollingFileAppender.cpp | 21 +-- src/Localtime.cpp | 15 +- src/Localtime.hh | 7 +- src/PatternLayout.cpp | 2 +- src/TimeStamp.cpp | 2 +- tests/testDailyRollingFileAppender.cpp | 311 +++++++++++++++++---------------- tests/testbench.cpp | 6 +- 8 files changed, 189 insertions(+), 182 deletions(-) hooks/post-receive -- Log4cpp Git repository. |
| From: <log...@li...> - 2026-03-20 22:07:49 |
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Log4cpp Git repository.". The branch, master has been updated via 0bb6b8e6f2609331aa4907ac699bfaee563ffbd5 (commit) from 873a43f6dcd4053d89b9ea43bcfd49a5ec0e98e2 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- http://sourceforge.net/p/log4cpp/codegit/ci/ commit 0bb6b8e6f2609331aa4907ac699bfaee563ffbd5 Author: Alexander Perepelkin <san...@us...> Date: Thu Mar 19 20:25:12 2026 +0100 DailyRollingFileAppender: more detailed documentation, added safety checks to implementation, refine tests diff --git a/include/log4cpp/DailyRollingFileAppender.hh b/include/log4cpp/DailyRollingFileAppender.hh index b6a7f0f..5bdb302 100644 --- a/include/log4cpp/DailyRollingFileAppender.hh +++ b/include/log4cpp/DailyRollingFileAppender.hh @@ -18,16 +18,24 @@ namespace log4cpp { /** - DailyRollingFileAppender is a FileAppender that rolls over the logfile once - the next day starts. - @since 1.1.2 - **/ + * DailyRollingFileAppender is a FileAppender that rolls over the logfile when a log event is recorded on a + * different day than the previous log event. + * SupportsDailyRollingFileAppender: more detailed documentation, added safety checks to implementation, refine + * tests automatic cleanup of old log files based on a configurable retention period. Log files older than (\c + * _maxDaysToKeep) are removed. The default value is \c maxDaysToKeepDefault. + * + * @since 1.1.2 + */ class LOG4CPP_EXPORT DailyRollingFileAppender : public FileAppender { public: DailyRollingFileAppender(const std::string& name, const std::string& fileName, unsigned int maxDaysToKeep = maxDaysToKeepDefault, bool append = true, mode_t mode = 00644); + /** + * Set \c _maxDaysToKeep. + * @param maxDaysToKeep if not positive, then \c maxDaysToKeepDefault is used instead. + */ virtual void setMaxDaysToKeep(unsigned int maxDaysToKeep); virtual unsigned int getMaxDaysToKeep() const; @@ -38,7 +46,11 @@ namespace log4cpp { protected: virtual void _append(const LoggingEvent& event); + /** + * Maximum number of days to keep log files on disk. Files older than this limit are deleted during rollover. + */ unsigned int _maxDaysToKeep; + /** * last log's file creation time (or last modification if appender just created) */ diff --git a/src/DailyRollingFileAppender.cpp b/src/DailyRollingFileAppender.cpp index c6bb298..b464ed9 100644 --- a/src/DailyRollingFileAppender.cpp +++ b/src/DailyRollingFileAppender.cpp @@ -17,6 +17,7 @@ #include <cstdio> #include <cstdlib> #include <cstring> +#include <errno.h> #include <fcntl.h> #include <iostream> #include <log4cpp/Category.hh> @@ -31,10 +32,16 @@ #include <sstream> #endif -#ifndef WIN32 // only available on Win32 +#ifndef WIN32 #include <dirent.h> #endif +#ifndef WIN32 +#define PATHDELIMITER "/" +#else +#define PATHDELIMITER "\\" +#endif + namespace log4cpp { unsigned int DailyRollingFileAppender::maxDaysToKeepDefault = 30; @@ -54,15 +61,22 @@ namespace log4cpp { } else { t = statBuf.st_mtime; } -#ifndef WIN32 // only available on Win32 - localtime_r(&t, &_logsTime); + +#ifndef WIN32 + struct tm* lt_res = localtime_r(&t, &_logsTime); + if (lt_res == NULL) { + std::cerr << "Error converting the specified time to local calendar time" << std::endl; + } #else - localtime_s(&_logsTime, &t); + errno_t lt_res = localtime_s(&_logsTime, &t); // only available on Win32 + if (lt_res != NULL) { + std::cerr << "Error converting the specified time to local calendar time: err " << lt_res << std::endl; + } #endif } void DailyRollingFileAppender::setMaxDaysToKeep(unsigned int maxDaysToKeep) { - _maxDaysToKeep = maxDaysToKeep; + _maxDaysToKeep = maxDaysToKeep != 0 ? maxDaysToKeep : maxDaysToKeepDefault; } unsigned int DailyRollingFileAppender::getMaxDaysToKeep() const { @@ -73,37 +87,35 @@ namespace log4cpp { std::ostringstream filename_s; int res_close = ::close(_fd); if (res_close != 0) { - std::cerr << "Error closing file " << _fileName << std::endl; + std::cerr << "Error closing file " << _fileName << " _fd " << _fd << std::endl; } filename_s << _fileName << "." << _logsTime.tm_year + 1900 << "-" << std::setfill('0') << std::setw(2) - << _logsTime.tm_mon + 1 << "-" << std::setw(2) << _logsTime.tm_mday << std::ends; + << _logsTime.tm_mon + 1 << "-" << std::setw(2) << _logsTime.tm_mday; const std::string lastFn = filename_s.str(); int res_rename = ::rename(_fileName.c_str(), lastFn.c_str()); if (res_rename != 0) { - std::cerr << "Error renaming file " << _fileName << " to " << lastFn << std::endl; + std::cerr << "Error renaming file " << _fileName << " to " << lastFn << " errno: " << errno << std::endl; } _fd = ::open(_fileName.c_str(), _flags, _mode); if (_fd == -1) { - std::cerr << "Error opening file " << _fileName << std::endl; + std::cerr << "Error opening file " << _fileName << " errno: " << errno << std::endl; } const time_t oldest = time(NULL) - _maxDaysToKeep * 60 * 60 * 24; -#ifndef WIN32 -#define PATHDELIMITER "/" -#else -#define PATHDELIMITER "\\" -#endif // iterate over files around log file and delete older with same prefix const std::string::size_type last_delimiter = _fileName.rfind(PATHDELIMITER); const std::string dirname((last_delimiter == std::string::npos) ? "." : _fileName.substr(0, last_delimiter)); - const std::string filname((last_delimiter == std::string::npos) - ? _fileName - : _fileName.substr(last_delimiter + 1, _fileName.size() - last_delimiter - 1)); -#ifndef WIN32 // only available on Win32 + const std::string filename((last_delimiter == std::string::npos) + ? _fileName + : _fileName.substr(last_delimiter + 1, _fileName.size() - last_delimiter - 1)); + const size_t prefixLen = filename.length(); + + // iterate over directory and delete files older than time_t oldest +#ifndef WIN32 struct dirent** entries; - int nentries = scandir(dirname.c_str(), &entries, 0, alphasort); + const int nentries = scandir(dirname.c_str(), &entries, 0, alphasort); if (nentries < 0) return; for (int i = 0; i < nentries; i++) { @@ -114,9 +126,16 @@ namespace log4cpp { free(entries[i]); continue; } - if (statBuf.st_mtime < oldest && strstr(entries[i]->d_name, filname.c_str())) { - std::cout << " Deleting " << fullfilename.c_str() << std::endl; - ::unlink(fullfilename.c_str()); + if (statBuf.st_mtime < oldest) { + // ensure entryName's prefix is filename + '.' + const char* entryName = entries[i]->d_name; + const size_t entryLen = std::strlen(entryName); + if (entryLen > prefixLen && strncmp(entryName, filename.c_str(), prefixLen) == 0 && + entryName[prefixLen] == '.') { + if (::unlink(fullfilename.c_str())) { + std::cerr << "Error deleting file " << fullfilename.c_str() << " errno: " << errno << std::endl; + } + } } free(entries[i]); } @@ -133,8 +152,9 @@ namespace log4cpp { const std::string fullfilename = dirname + PATHDELIMITER + ffd.cFileName; int res = ::stat(fullfilename.c_str(), &statBuf); if (res != -1 && statBuf.st_mtime < oldest && !(ffd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)) { - std::cout << "Deleting " << fullfilename << "\n"; - ::unlink(fullfilename.c_str()); + if (::unlink(fullfilename.c_str())) { + std::cerr << "Error deleting file " << fullfilename.c_str() << " errno: " << errno << std::endl; + } } } while (FindNextFile(hFind, &ffd) != 0); @@ -151,7 +171,7 @@ namespace log4cpp { struct tm now; time_t t = time(NULL); -#ifndef WIN32 // only available on Win32 +#ifndef WIN32 bool timeok = localtime_r(&t, &now) != NULL; #else bool timeok = localtime_s(&now, &t) == 0; diff --git a/tests/testDailyRollingFileAppender.cpp b/tests/testDailyRollingFileAppender.cpp index 40fef1d..fbe2e08 100644 --- a/tests/testDailyRollingFileAppender.cpp +++ b/tests/testDailyRollingFileAppender.cpp @@ -33,7 +33,7 @@ using namespace log4cpp; using namespace std; static const char* const test_message = "message"; -static const char* const daily_file_prefix = "dailyrolling_file.log"; +static const char* const daily_file_prefix = "dailyrolling_code_config.log"; #define NESTEDDIR "nesteddir" #ifndef WIN32 #define PATHDELIMITER "/" @@ -43,7 +43,7 @@ static const char* const daily_file_prefix = "dailyrolling_file.log"; const char* const nesteddirname = NESTEDDIR PATHDELIMITER; class DailyRollingTest { - DailyRollingFileAppender *dailyApp, *nestedDirDailyApp; + DailyRollingFileAppender *workingDirDailyApp, *nestedDirDailyApp; public: bool remove_impl(const char* filename) { @@ -66,11 +66,13 @@ class DailyRollingTest { if (!remove_files()) return false; + std::cout << "Configuring instance with code " << std::endl; + Category& root = Category::getRoot(); - dailyApp = new DailyRollingFileAppender("daily-rolling-appender", daily_file_prefix, 1); + workingDirDailyApp = new DailyRollingFileAppender("daily-rolling-appender", daily_file_prefix, 1); nestedDirDailyApp = new DailyRollingFileAppender("nesteddir-daily-rolling-appender", std::string(nesteddirname).append(daily_file_prefix), 1); - root.addAppender(dailyApp); + root.addAppender(workingDirDailyApp); root.addAppender(nestedDirDailyApp); root.setPriority(Priority::DEBUG); @@ -81,10 +83,10 @@ class DailyRollingTest { Category::getRoot().debugStream() << test_message << 1; Category::getRoot().debugStream() << test_message << 2; Category::getRoot().debugStream() << test_message << 3; - Category::getRoot().debugStream() << "The message before rolling over attempt"; - dailyApp->rollOver(); + Category::getRoot().debugStream() << "This message goes before rolling over attempt"; + workingDirDailyApp->rollOver(); nestedDirDailyApp->rollOver(); - Category::getRoot().debugStream() << "The message after rolling over attempt"; + Category::getRoot().debugStream() << "This message goes after rolling over attempt"; Category::getRoot().debugStream() << test_message << 4; Category::getRoot().debugStream() << test_message << 5; } @@ -101,10 +103,13 @@ class DailyRollingTest { return true; } + void teardown() { + std::cout << "Shutdown code configured instance" << std::endl; + Category::shutdown(); + } + bool check_log_files() { bool result = exists(daily_file_prefix); - - Category::shutdown(); return result && remove_files(); } }; @@ -112,16 +117,15 @@ class DailyRollingTest { int testOnlyDailyRollingFileAppender() { DailyRollingTest dailyTest; if (!dailyTest.setup()) { - cout << "Setup has failed. Check for permissions on files " << daily_file_prefix << "*'.\n"; + std::cerr << "Setup has failed. Check for permissions on files " << daily_file_prefix << "*'.\n"; return -1; } dailyTest.make_log_files(); + bool check = dailyTest.check_log_files(); + dailyTest.teardown(); - if (dailyTest.check_log_files()) - return 0; - else - return -1; + return check ? 0 : -1; } int testConfigDailyRollingFileAppender() { @@ -140,6 +144,7 @@ int testConfigDailyRollingFileAppender() { initFileName = std::string(srcdir) + PATHDELIMITER + initFileName; } + std::cout << "Configuring instance with properties file " << initFileName << std::endl; log4cpp::PropertyConfigurator::configure(initFileName); } catch (log4cpp::ConfigureFailure& f) { std::cout << "Configure Problem " << f.what() << "($srcdir=" << ((srcdir != NULL) ? srcdir : "NULL") << ")" @@ -156,35 +161,49 @@ int testConfigDailyRollingFileAppender() { sub1.error("sub1 error"); sub1.warn("sub1 warn"); + std::cout << "Shutdown file configured instance" << std::endl; log4cpp::Category::shutdown(); return 0; } -// Note: this test changes system time. Run it only manually -namespace OnlyManualTesting { +// Note: this test changes system time. Run it only manually, will require admin privileges +class OnlyManualTesting { - const char* absolutePathCategoryName = "absolutePathCategory"; + const char* manualTimeTestCategoryName = "manualTimeTestCategory"; const int maxDaysToKeep = 3; #if defined(WIN32) - const char* logFilename = "C:\\Temp\\log4cpp\\dailyrolling_abs_path_file.log"; - const char* logPathname = "C:\\Temp\\log4cpp"; + // absolute paths should pre-exist, mkdir will not create nested dirs + // const char* logFilename = "C:\\Temp\\log4cpp\\dailyrolling_time_test_file.log"; + // const char* logPathname = "C:\\Temp\\log4cpp"; + const char* logFilename = ".\\logs\\dailyrolling_time_test_file.log"; + const char* logPathname = ".\\logs"; #else - const char* logFilename = "/var/log/log4cpp/dailyrolling_abs_path_file.log"; - const char* logPathname = "/var/log/log4cpp"; + const char* logFilename = "./logs/dailyrolling_time_test_file.log"; + const char* logPathname = "./logs"; #endif + public: void setupManualEntryLog() { + std::cout << "Configuring instance with code for time jumping tests, using dir " << logPathname << std::endl; + + int dirOk; #if defined(WIN32) - if (access(logPathname, 0) != 0) { - mkdir(logPathname); + dirOk = access(logPathname, 0); + if (dirOk != 0) { + dirOk = mkdir(logPathname); } #else - if (access(logPathname, F_OK) != 0) { - mkdir(logPathname, 644); + dirOk = access(logPathname, F_OK); + if (dirOk != 0) { + dirOk = mkdir(logPathname, 0755); } #endif + if (dirOk != 0) { + std::cerr << "Failed to create dir " << logPathname << std::endl; + } + log4cpp::PatternLayout* ostreamLayout = new log4cpp::PatternLayout(); ostreamLayout->setConversionPattern("%d: %p %c %x: %m %n"); log4cpp::Appender* ostreamAppender = new log4cpp::OstreamAppender("ostreamAppender", &std::cout); @@ -196,7 +215,8 @@ namespace OnlyManualTesting { new log4cpp::DailyRollingFileAppender("fileAppender", logFilename, maxDaysToKeep); fileAppender->setLayout(fileLayout); - log4cpp::Category& absolutePathCategory = log4cpp::Category::getInstance(std::string(absolutePathCategoryName)); + log4cpp::Category& absolutePathCategory = + log4cpp::Category::getInstance(std::string(manualTimeTestCategoryName)); absolutePathCategory.setAdditivity(false); absolutePathCategory.addAppender(ostreamAppender); @@ -204,9 +224,8 @@ namespace OnlyManualTesting { absolutePathCategory.setPriority(log4cpp::Priority::DEBUG); } - int checkThatNoMoreThanNLogFilesPresent(const std::string _fileName, int n); - int jumpToFuture(int seconds) { + std::cout << "Jumping " << seconds << " seconds in system time..." << std::endl; #if defined(WIN32) SYSTEMTIME now; @@ -241,31 +260,38 @@ namespace OnlyManualTesting { return -1; } #endif + const time_t t = time(NULL); + std::cout << "Jumped to " << ctime(&t) << std::endl; return 0; } int makeManualEntryLog() { const int totalLinesCount = 14, linesPerDay = 3, jumpPeriod = 24 * 60 * 60 + 1; - int i = 0, future = 0; - - log4cpp::Category& absolutePathCategory = log4cpp::Category::getInstance(std::string(absolutePathCategoryName)); - - // 1. update system time (eg: use 'date' command on Linux) manually when test program is running here (at least - // 4 times) - absolutePathCategory.debugStream() << "debug line " << i; - while (++i <= totalLinesCount) { - if (i % linesPerDay == 0) { + int i = 0, jumpedSecondsAlltogether = 0, expectedRollover = 0; + + log4cpp::Category& absolutePathCategory = + log4cpp::Category::getInstance(std::string(manualTimeTestCategoryName)); + + std::cout << "Logging some lines... " << std::endl; + // 1. Emulate several days uptime: + // * log linesPerDay + // * update system time (eg: use 'date' command on Linux) manually when test program is running here + // * expect file rollover happens on next logging + while (expectedRollover < maxDaysToKeep + 1) { + if (++i % linesPerDay == 0) { if (jumpToFuture(jumpPeriod) == -1) return -1; - future += jumpPeriod; + jumpedSecondsAlltogether += jumpPeriod; + ++expectedRollover; } absolutePathCategory.debugStream() << "debug line " << i; } - if (jumpToFuture(0 - future) == -1) + if (jumpToFuture(0 - jumpedSecondsAlltogether) == -1) return -1; - // 2. check the number of files in /var/log/log4cpp ( <= maxDaysToKeep) (+1 to allow consequent runs of test) + // 2. check that the number of files in dir logPathname is ( <= maxDaysToKeep) (+1 to allow consequent runs of + // test) if (checkThatNoMoreThanNLogFilesPresent(std::string(logFilename), maxDaysToKeep + 1) == -1) return -1; @@ -273,7 +299,7 @@ namespace OnlyManualTesting { } // Note: this test changes system time. Run it only manually - int checkThatNoMoreThanNLogFilesPresent(const std::string _fileName, int n) { + int checkThatNoMoreThanNLogFilesPresent(const std::string _fileName, int maxAllowedFileNumber) { // iterate over files around log file and count files with same prefix const std::string::size_type last_delimiter = _fileName.rfind(PATHDELIMITER); const std::string dirname((last_delimiter == std::string::npos) ? "." : _fileName.substr(0, last_delimiter)); @@ -281,7 +307,7 @@ namespace OnlyManualTesting { ? _fileName : _fileName.substr(last_delimiter + 1, _fileName.size() - last_delimiter - 1)); int logFilesCount(0); -#ifndef WIN32 // only available on Win32 +#ifndef WIN32 struct dirent** entries; int nentries = scandir(dirname.c_str(), &entries, 0, alphasort); if (nentries < 0) @@ -309,29 +335,39 @@ namespace OnlyManualTesting { hFind = INVALID_HANDLE_VALUE; } #endif - if (logFilesCount > n) { - std::cerr << "Too many log files in the dir " << dirname << ": " << logFilesCount << std::endl; + if (logFilesCount > maxAllowedFileNumber) { + std::cerr << "Too many log files in the dir " << dirname << ": " << logFilesCount + << ", expected no more than " << maxAllowedFileNumber << std::endl; } else { - std::cout << "Daily log files in the dir " << dirname << ": " << logFilesCount << std::endl; + std::cout << "Daily log files in the dir " << dirname << ": " << logFilesCount << ", expected no more than " + << maxAllowedFileNumber << std::endl; } - return (logFilesCount <= n) ? 0 : -1; + return (logFilesCount <= maxAllowedFileNumber) ? 0 : -1; } - int testDailyRollingFileAppenderChangeDateManualOnly() { - setupManualEntryLog(); - return makeManualEntryLog(); + void teardown() { + std::cout << "Shutdown manual run instance" << std::endl; + Category::shutdown(); } -} // namespace OnlyManualTesting +}; + +int testDailyRollingFileAppenderChangeDateManualOnly() { + OnlyManualTesting manualTesting; + manualTesting.setupManualEntryLog(); + int res = manualTesting.makeManualEntryLog(); + manualTesting.teardown(); + return res; +} int main() { int res = testOnlyDailyRollingFileAppender(); if (!res) res = testConfigDailyRollingFileAppender(); - // Note: this test changes system time. Run it only manually ... 82 lines suppressed ... hooks/post-receive -- Log4cpp Git repository. |
| From: <log...@li...> - 2026-03-17 19:27:31 |
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Log4cpp Git repository.". The branch, master has been updated via 873a43f6dcd4053d89b9ea43bcfd49a5ec0e98e2 (commit) via 007e1a39add173f6fc97e61a4cc91cfd4081d542 (commit) via 0ad3b12fd36b87fc3d267dd56ece334b8892b3ed (commit) via f3d344c3405a51f1def9c2e61654b215deb13e4f (commit) via 75659e1856147ad05e91a26b992b82a9d752ae3c (commit) via a96863fa6829215e893bb5541cdf9012ee7c11af (commit) from 5ce81a79fe9368e984165318d9ddb1f383e235dc (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- http://sourceforge.net/p/log4cpp/codegit/ci/ commit 873a43f6dcd4053d89b9ea43bcfd49a5ec0e98e2 Author: Alexander Perepelkin <san...@us...> Date: Sat Mar 14 21:04:26 2026 +0100 fix msg diff --git a/examples/cmake_usages/log4cpp_as_subproject/log4cpp_as_subproject.cpp b/examples/cmake_usages/log4cpp_as_subproject/log4cpp_as_subproject.cpp index 98b7c7b..399b5fd 100644 --- a/examples/cmake_usages/log4cpp_as_subproject/log4cpp_as_subproject.cpp +++ b/examples/cmake_usages/log4cpp_as_subproject/log4cpp_as_subproject.cpp @@ -12,7 +12,7 @@ int main() { log4cpp::PropertyConfigurator::configure(initFileName); log4cpp::Category &root = log4cpp::Category::getRoot(); - root.info("Hello, Hello, %s %s library as cmake subdirectory!!", + root.info("Hello, %s %s library as cmake subdirectory!", LOG4CPP_PACKAGE_NAME, LOG4CPP_PACKAGE_VERSION); return 0; } http://sourceforge.net/p/log4cpp/codegit/ci/ commit 873a43f6dcd4053d89b9ea43bcfd49a5ec0e98e2 Author: Alexander Perepelkin <san...@us...> Date: Sat Mar 14 21:04:26 2026 +0100 fix msg diff --git a/examples/cmake_usages/log4cpp_as_subproject/log4cpp_as_subproject.cpp b/examples/cmake_usages/log4cpp_as_subproject/log4cpp_as_subproject.cpp index 98b7c7b..399b5fd 100644 --- a/examples/cmake_usages/log4cpp_as_subproject/log4cpp_as_subproject.cpp +++ b/examples/cmake_usages/log4cpp_as_subproject/log4cpp_as_subproject.cpp @@ -12,7 +12,7 @@ int main() { log4cpp::PropertyConfigurator::configure(initFileName); log4cpp::Category &root = log4cpp::Category::getRoot(); - root.info("Hello, Hello, %s %s library as cmake subdirectory!!", + root.info("Hello, %s %s library as cmake subdirectory!", LOG4CPP_PACKAGE_NAME, LOG4CPP_PACKAGE_VERSION); return 0; } http://sourceforge.net/p/log4cpp/codegit/ci/ commit 873a43f6dcd4053d89b9ea43bcfd49a5ec0e98e2 Author: Alexander Perepelkin <san...@us...> Date: Sat Mar 14 21:04:26 2026 +0100 fix msg diff --git a/examples/cmake_usages/log4cpp_as_subproject/log4cpp_as_subproject.cpp b/examples/cmake_usages/log4cpp_as_subproject/log4cpp_as_subproject.cpp index 98b7c7b..399b5fd 100644 --- a/examples/cmake_usages/log4cpp_as_subproject/log4cpp_as_subproject.cpp +++ b/examples/cmake_usages/log4cpp_as_subproject/log4cpp_as_subproject.cpp @@ -12,7 +12,7 @@ int main() { log4cpp::PropertyConfigurator::configure(initFileName); log4cpp::Category &root = log4cpp::Category::getRoot(); - root.info("Hello, Hello, %s %s library as cmake subdirectory!!", + root.info("Hello, %s %s library as cmake subdirectory!", LOG4CPP_PACKAGE_NAME, LOG4CPP_PACKAGE_VERSION); return 0; } http://sourceforge.net/p/log4cpp/codegit/ci/ commit 873a43f6dcd4053d89b9ea43bcfd49a5ec0e98e2 Author: Alexander Perepelkin <san...@us...> Date: Sat Mar 14 21:04:26 2026 +0100 fix msg diff --git a/examples/cmake_usages/log4cpp_as_subproject/log4cpp_as_subproject.cpp b/examples/cmake_usages/log4cpp_as_subproject/log4cpp_as_subproject.cpp index 98b7c7b..399b5fd 100644 --- a/examples/cmake_usages/log4cpp_as_subproject/log4cpp_as_subproject.cpp +++ b/examples/cmake_usages/log4cpp_as_subproject/log4cpp_as_subproject.cpp @@ -12,7 +12,7 @@ int main() { log4cpp::PropertyConfigurator::configure(initFileName); log4cpp::Category &root = log4cpp::Category::getRoot(); - root.info("Hello, Hello, %s %s library as cmake subdirectory!!", + root.info("Hello, %s %s library as cmake subdirectory!", LOG4CPP_PACKAGE_NAME, LOG4CPP_PACKAGE_VERSION); return 0; } http://sourceforge.net/p/log4cpp/codegit/ci/ commit 873a43f6dcd4053d89b9ea43bcfd49a5ec0e98e2 Author: Alexander Perepelkin <san...@us...> Date: Sat Mar 14 21:04:26 2026 +0100 fix msg diff --git a/examples/cmake_usages/log4cpp_as_subproject/log4cpp_as_subproject.cpp b/examples/cmake_usages/log4cpp_as_subproject/log4cpp_as_subproject.cpp index 98b7c7b..399b5fd 100644 --- a/examples/cmake_usages/log4cpp_as_subproject/log4cpp_as_subproject.cpp +++ b/examples/cmake_usages/log4cpp_as_subproject/log4cpp_as_subproject.cpp @@ -12,7 +12,7 @@ int main() { log4cpp::PropertyConfigurator::configure(initFileName); log4cpp::Category &root = log4cpp::Category::getRoot(); - root.info("Hello, Hello, %s %s library as cmake subdirectory!!", + root.info("Hello, %s %s library as cmake subdirectory!", LOG4CPP_PACKAGE_NAME, LOG4CPP_PACKAGE_VERSION); return 0; } http://sourceforge.net/p/log4cpp/codegit/ci/ commit 873a43f6dcd4053d89b9ea43bcfd49a5ec0e98e2 Author: Alexander Perepelkin <san...@us...> Date: Sat Mar 14 21:04:26 2026 +0100 fix msg diff --git a/examples/cmake_usages/log4cpp_as_subproject/log4cpp_as_subproject.cpp b/examples/cmake_usages/log4cpp_as_subproject/log4cpp_as_subproject.cpp index 98b7c7b..399b5fd 100644 --- a/examples/cmake_usages/log4cpp_as_subproject/log4cpp_as_subproject.cpp +++ b/examples/cmake_usages/log4cpp_as_subproject/log4cpp_as_subproject.cpp @@ -12,7 +12,7 @@ int main() { log4cpp::PropertyConfigurator::configure(initFileName); log4cpp::Category &root = log4cpp::Category::getRoot(); - root.info("Hello, Hello, %s %s library as cmake subdirectory!!", + root.info("Hello, %s %s library as cmake subdirectory!", LOG4CPP_PACKAGE_NAME, LOG4CPP_PACKAGE_VERSION); return 0; } ----------------------------------------------------------------------- Summary of changes: CMakeLists.txt | 2 +- configure.in | 2 +- doc/html/index.html | 4 +- .../log4cpp_as_subproject.cpp | 2 +- include/log4cpp/Category.hh | 109 +++++++++++++++++---- include/log4cpp/LogMacros.hh | 82 +++++++++++++--- include/log4cpp/Priority.hh | 5 +- include/log4cpp/config-project-version.h | 6 +- src/Category.cpp | 14 +++ src/NTEventLogAppender.cpp | 1 + src/Priority.cpp | 12 ++- tests/testCategory.cpp | 1 + tests/testPriority.cpp | 90 ++++++++++++++++- tests/testPropConfig.cpp | 7 +- tests/testPropConfig.log4cpp.nt.properties | 13 ++- tests/testPropConfig.log4cpp.properties | 17 ++-- tests/test_convenience.cpp | 9 ++ 17 files changed, 317 insertions(+), 59 deletions(-) hooks/post-receive -- Log4cpp Git repository. |
| From: <log...@li...> - 2026-03-14 10:31:32 |
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Log4cpp Git repository.". The annotated tag, REL_1.1.6_Mar_12_2026 has been created at 65383775486b1f45f9dac09b953c8c11fa8eccd8 (tag) tagging 5ce81a79fe9368e984165318d9ddb1f383e235dc (commit) replaces REL_1.1.5_Dec_01_2025 tagged by Alexander Perepelkin on Sat Mar 14 10:53:41 2026 +0100 - Log ----------------------------------------------------------------- log4cpp-1.1.6, 12 Mar 2026 Alexander Perepelkin (36): index.html, styles.css index.html, v.1.1.5 .clang-format, BasedOnStyle: LLVM, with only minor tweaks to stay closer to the most of the current files Adjust comments style for the fields, add missing Reformat source codebase automatically with clang-format-21 fix type conversion warnings index.html, ChangeLog Exclude documentation and configuration from Github language statistics Address few cmake leftovers Replace global commands with targeted ones; replace duplicates with calls to macro Export targets for cmake install; keep capsed targets as aliases; add versioning for exports. config.h is for export Building examples is enabled via the LOG4CPP_BUILD_EXAMPLES option. CMake usage examples are provided for both scenarios: importing a CMake-installed log4cpp library and using log4cpp as a CMake subproject. Both shared and static library variants are demonstrated. Emulate autotools behaviour and generate include/log4cpp/config.h from Autotools-style config.h.in Small fixes for the tests Exporting class Properties for the testProperties.cpp to run on Windows CMake: add test build support using CTest Bunch of renaming for the tests: testConfig.log4cpp.properties -> testPropertyConfig.log4cpp.properties testConfig.log4cpp.dailyroll.properties -> testDailyRollingFileAppender.log4cpp.properties testConfig.log4cpp.dailyroll.nt.properties -> testDailyRollingFileAppender.log4cpp.nt.properties log4cpp.property -> testPropConfig.log4cpp.properties log4cpp.nt.property -> testPropConfig.log4cpp.nt.properties testConfig.cpp -> testSimpleConfig.cpp log4cpp.init -> testSimpleConfig.log4cpp.init Utilize macros LOG4CPP_PACKAGE_NAME, LOG4CPP_PACKAGE_VERSION for tests and examples Update and fix THANKS, leave ascii content Sync lib versions in CMakeLists.txt and configure.in, set 1.1.6 index.html, ChangeLog Use va_copy for C+11 and later; use __va_copy for GCC pre-C++11; fallback to simple copy clang-format setting 'SpacesInAngles: Never' breaks compilation on older c++ compilers. Keep setting for the codebase, but turn off formatting for few vulnerable lines only .gitignore index.html Add formatted and streaming log4cpp macros with compile-time stripping Keep project version-related macros for hardcoded config header files in single file <log4cpp/config-project-version.h> Add path to the shared library into PATH for the test on windows so CTest can run it Move all MSVC, BCB, OpenVMS project catalogs into separate directory 'projects'. No changes are applied to the project files themselves. Prevent MS VS from mixing old project files with CMake builds index.html Brief: Native project files are archived, CTest usage is added. index.html wording ChangeLog fix cmake examples build README.md for githib index.html Remove references to directories msvc6 bcb5 openvms from autotools configs ----------------------------------------------------------------------- hooks/post-receive -- Log4cpp Git repository. |
| From: <log...@li...> - 2026-02-27 19:07:30 |
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Log4cpp Git repository.". The branch, master has been updated via 5ce81a79fe9368e984165318d9ddb1f383e235dc (commit) from f79a7d774269876264ef489cddbc551016d218eb (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- http://sourceforge.net/p/log4cpp/codegit/ci/ commit 5ce81a79fe9368e984165318d9ddb1f383e235dc Author: Alexander Perepelkin <san...@us...> Date: Fri Feb 27 20:07:05 2026 +0100 Remove references to directories msvc6 bcb5 openvms from autotools configs diff --git a/Makefile.am b/Makefile.am index 950af56..678f3e0 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,10 +1,10 @@ if DOC -SUBDIRS = msvc6 bcb5 config src include tests doc +SUBDIRS = config src include tests doc else -SUBDIRS = msvc6 bcb5 config src include tests +SUBDIRS = config src include tests endif -DIST_SUBDIRS = msvc6 bcb5 openvms config src include doc tests +DIST_SUBDIRS = config src include doc tests bin_SCRIPTS = log4cpp-config diff --git a/configure.in b/configure.in index be686eb..f5e28ea 100644 --- a/configure.in +++ b/configure.in @@ -153,24 +153,6 @@ include/Makefile include/log4cpp/Makefile include/log4cpp/threading/Makefile tests/Makefile -msvc6/Makefile -msvc6/log4cpp/Makefile -msvc6/log4cppDLL/Makefile -msvc6/testCategory/Makefile -msvc6/testDLL/Makefile -msvc6/testMain/Makefile -msvc6/testNDC/Makefile -msvc6/testNTEventLog/Makefile -msvc6/testPattern/Makefile -bcb5/Makefile -bcb5/log4cpp/Makefile -bcb5/testCategory/Makefile -bcb5/testConfig/Makefile -bcb5/testFixedContextCategory/Makefile -bcb5/testmain/Makefile -bcb5/testNDC/Makefile -bcb5/testPattern/Makefile -openvms/Makefile ]) AC_OUTPUT ----------------------------------------------------------------------- Summary of changes: Makefile.am | 6 +++--- configure.in | 18 ------------------ 2 files changed, 3 insertions(+), 21 deletions(-) hooks/post-receive -- Log4cpp Git repository. |
| From: <log...@li...> - 2026-02-27 18:49:26 |
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Log4cpp Git repository.". The branch, master has been updated via f79a7d774269876264ef489cddbc551016d218eb (commit) via 01f1d3a1696a6f1270792810ac8cc18787581dbf (commit) via 7ff8d5ca129fac2c8de60d56219fc4aa9e8c0aa5 (commit) via 349b0d9938bb4ea752b797a306ac9160a9565e32 (commit) from f20e9272b67b49db7fc8563c401de7f060412c92 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- http://sourceforge.net/p/log4cpp/codegit/ci/ commit f79a7d774269876264ef489cddbc551016d218eb Author: Alexander Perepelkin <san...@us...> Date: Fri Feb 27 19:48:22 2026 +0100 index.html diff --git a/doc/html/index.html b/doc/html/index.html index 3493f5b..d222de8 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -15,7 +15,7 @@ for C++ Project Page on Sourceforge</a> </span> | <span>Last Published: -2026-02-15</span> |</div> +2026-02-27</span> |</div> <hr class="delimiter"> <div id="projectpage"> <div id="navigationpanel" class="lightbackground"> @@ -676,13 +676,16 @@ WARNING: releases from the development branch are a 'work in progress' and may f <small> <dl> -<dt>1.1.6rc1 - master branch (15 February 2026)</dt> +<dt>1.1.6rc2 - master branch (27 February 2026)</dt> <dd>CMake support is enhanced. Building examples is enabled via the CMake's <code>LOG4CPP_BUILD_EXAMPLES</code> option. CMake usage examples are provided for both scenarios: importing a CMake-installed log4cpp library and using log4cpp as a CMake subproject.</dd> <dd>Emulate autotools behaviour when building via CMake and generate <code>include/log4cpp/config.h</code> from Autotools-style <code>config.h.in</code></dd> <dd>Add test build support using CTest</dd> +<dd>Add formatted and streaming log4cpp macros with compile-time stripping</dd> +<dd>vsnprintf: Use va_copy for C+11 and later; use __va_copy for GCC pre-C++11; fallback to simple copy</dd> +<dd>Native project files are archived to prevent MS VS from mixing old project files with CMake builds</dd> </dl> <dl> http://sourceforge.net/p/log4cpp/codegit/ci/ commit f79a7d774269876264ef489cddbc551016d218eb Author: Alexander Perepelkin <san...@us...> Date: Fri Feb 27 19:48:22 2026 +0100 index.html diff --git a/doc/html/index.html b/doc/html/index.html index 3493f5b..d222de8 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -15,7 +15,7 @@ for C++ Project Page on Sourceforge</a> </span> | <span>Last Published: -2026-02-15</span> |</div> +2026-02-27</span> |</div> <hr class="delimiter"> <div id="projectpage"> <div id="navigationpanel" class="lightbackground"> @@ -676,13 +676,16 @@ WARNING: releases from the development branch are a 'work in progress' and may f <small> <dl> -<dt>1.1.6rc1 - master branch (15 February 2026)</dt> +<dt>1.1.6rc2 - master branch (27 February 2026)</dt> <dd>CMake support is enhanced. Building examples is enabled via the CMake's <code>LOG4CPP_BUILD_EXAMPLES</code> option. CMake usage examples are provided for both scenarios: importing a CMake-installed log4cpp library and using log4cpp as a CMake subproject.</dd> <dd>Emulate autotools behaviour when building via CMake and generate <code>include/log4cpp/config.h</code> from Autotools-style <code>config.h.in</code></dd> <dd>Add test build support using CTest</dd> +<dd>Add formatted and streaming log4cpp macros with compile-time stripping</dd> +<dd>vsnprintf: Use va_copy for C+11 and later; use __va_copy for GCC pre-C++11; fallback to simple copy</dd> +<dd>Native project files are archived to prevent MS VS from mixing old project files with CMake builds</dd> </dl> <dl> http://sourceforge.net/p/log4cpp/codegit/ci/ commit f79a7d774269876264ef489cddbc551016d218eb Author: Alexander Perepelkin <san...@us...> Date: Fri Feb 27 19:48:22 2026 +0100 index.html diff --git a/doc/html/index.html b/doc/html/index.html index 3493f5b..d222de8 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -15,7 +15,7 @@ for C++ Project Page on Sourceforge</a> </span> | <span>Last Published: -2026-02-15</span> |</div> +2026-02-27</span> |</div> <hr class="delimiter"> <div id="projectpage"> <div id="navigationpanel" class="lightbackground"> @@ -676,13 +676,16 @@ WARNING: releases from the development branch are a 'work in progress' and may f <small> <dl> -<dt>1.1.6rc1 - master branch (15 February 2026)</dt> +<dt>1.1.6rc2 - master branch (27 February 2026)</dt> <dd>CMake support is enhanced. Building examples is enabled via the CMake's <code>LOG4CPP_BUILD_EXAMPLES</code> option. CMake usage examples are provided for both scenarios: importing a CMake-installed log4cpp library and using log4cpp as a CMake subproject.</dd> <dd>Emulate autotools behaviour when building via CMake and generate <code>include/log4cpp/config.h</code> from Autotools-style <code>config.h.in</code></dd> <dd>Add test build support using CTest</dd> +<dd>Add formatted and streaming log4cpp macros with compile-time stripping</dd> +<dd>vsnprintf: Use va_copy for C+11 and later; use __va_copy for GCC pre-C++11; fallback to simple copy</dd> +<dd>Native project files are archived to prevent MS VS from mixing old project files with CMake builds</dd> </dl> <dl> http://sourceforge.net/p/log4cpp/codegit/ci/ commit f79a7d774269876264ef489cddbc551016d218eb Author: Alexander Perepelkin <san...@us...> Date: Fri Feb 27 19:48:22 2026 +0100 index.html diff --git a/doc/html/index.html b/doc/html/index.html index 3493f5b..d222de8 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -15,7 +15,7 @@ for C++ Project Page on Sourceforge</a> </span> | <span>Last Published: -2026-02-15</span> |</div> +2026-02-27</span> |</div> <hr class="delimiter"> <div id="projectpage"> <div id="navigationpanel" class="lightbackground"> @@ -676,13 +676,16 @@ WARNING: releases from the development branch are a 'work in progress' and may f <small> <dl> -<dt>1.1.6rc1 - master branch (15 February 2026)</dt> +<dt>1.1.6rc2 - master branch (27 February 2026)</dt> <dd>CMake support is enhanced. Building examples is enabled via the CMake's <code>LOG4CPP_BUILD_EXAMPLES</code> option. CMake usage examples are provided for both scenarios: importing a CMake-installed log4cpp library and using log4cpp as a CMake subproject.</dd> <dd>Emulate autotools behaviour when building via CMake and generate <code>include/log4cpp/config.h</code> from Autotools-style <code>config.h.in</code></dd> <dd>Add test build support using CTest</dd> +<dd>Add formatted and streaming log4cpp macros with compile-time stripping</dd> +<dd>vsnprintf: Use va_copy for C+11 and later; use __va_copy for GCC pre-C++11; fallback to simple copy</dd> +<dd>Native project files are archived to prevent MS VS from mixing old project files with CMake builds</dd> </dl> <dl> ----------------------------------------------------------------------- Summary of changes: ChangeLog | 11 +++++++ README | 2 -- README.md | 88 ++++++++++++++++++++++++++++++++++++++++++++++++++++ doc/html/index.html | 12 ++++--- tests/CMakeLists.txt | 2 +- 5 files changed, 107 insertions(+), 8 deletions(-) delete mode 100644 README create mode 100644 README.md hooks/post-receive -- Log4cpp Git repository. |
| From: <log...@li...> - 2026-02-24 14:39:16 |
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Log4cpp Git repository.". The branch, master has been updated via f20e9272b67b49db7fc8563c401de7f060412c92 (commit) via 16d6a0d527472ad47d370fb21e9ae927a0b5c5d8 (commit) via 85fec02a6a19380be53ce1a1052c3662ff08087b (commit) from ce4e8110f60885ec3a37a24813fe43d1c8851e07 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- http://sourceforge.net/p/log4cpp/codegit/ci/ commit f20e9272b67b49db7fc8563c401de7f060412c92 Author: Alexander Perepelkin <san...@us...> Date: Tue Feb 24 15:28:43 2026 +0100 index.html Brief: Native project files are archived, CTest usage is added. diff --git a/doc/html/index.html b/doc/html/index.html index 3cec4f4..2caa81a 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -27,8 +27,8 @@ Page on Sourceforge</a> <ul> <li><a title="Linux/*nix" href="#buildlinux">Linux/*nix, Autoconf</a> </li> <li><a title="Linux/*nix" href="#buildcmake">Linux/*nix, CMake</a> </li> - <li><a title="Windows, prj files" href="#buildwindowsprj">Windows, prj files</a> </li> <li><a title="Windows, CMake" href="#buildwindowscmake">Windows, CMake</a> </li> + <li><a title="Windows, prj files" href="#buildwindowsprj">Windows, prj files</a> </li> </ul> <li><a title="License" href="#license">License</a> </li> @@ -92,7 +92,7 @@ the source tar-ball is as simple as <div class="chapter"> <h2><a id="building">Building Log4cpp</a></h2> -<h3><a id="buildlinux">Autoconf</a></h3> +<h3><a id="buildlinux">Linux/*nix, Autoconf</a></h3> <p>The project uses <a href="https://www.gnu.org/software/automake/">GNU Autotools</a> as primary build system. <a href="#buildcmake">CMake</a> is secondary option.</p> <p>If file <code>./configure</code> is absent in project directory (as when the code is checked out from repository), run the following:</p> @@ -166,7 +166,69 @@ to draw its graphs.</dd> </dl> <p></p> -<h3>Build notes for specific platforms</h3> +<a href="#begin">^</a> +<p></p> + + <h3><a id="buildcmake">Linux/*nix, CMake</a></h3> + <p>Browse into the source code catalog (<code>log4cpp</code>) and run the following for <b>Release build</b>:</p> + <pre class="code"> +cmake -S . -B build_release -DCMAKE_BUILD_TYPE=Release<br> +cmake --build build_release</pre> + This will create <code>./build_release</code>, compile and build libraries into it. + <p>Optionally, run tests (expected result is 100% tests passed):</p> + <pre class="code"> +cd build_release/tests<br> +ctest</pre> + + <p><b>Debug build</b> is analogous:</p> + <pre class="code"> +cmake -S . -B build_debug -DCMAKE_BUILD_TYPE=Debug<br> +cmake --build build_debug</pre> + <p>Run tests for debug build:</p> + <pre class="code"> +cd build_debug/tests<br> +ctest</pre> + + <p></p> + <a href="#begin">^</a> + <p></p> + + <h3><a id="buildwindowscmake">Windows, CMake</a></h3> + <h4>MS Visual Studio 2022</h4> + <blockquote> + <p><b>MS Visual Studio 2022</b> can open <code>log4cpp</code> directly as a CMake project. + <ul> + <li>Use <code>File → Open → CMake...</code> menu items to choose <code>log4cpp/CMakeLists.txt</code> file and start CMake generation.</li> + <li>After CMake generation is finished, choose <code>Build → Build All</code> to build <code>log4cpp</code> libs.</li> + <li>Optionally, run set of tests from <code>Test → Run CTests</code> </li> + </ul> + <br><small>Note: Native project files intended for older MSVC versions (<code>msvc10, msvc7, msvc6</code>) + are archived since log4cpp 1.1.6 into <code>projects</code> directory.</small> + </p> + </blockquote> + <h4>Embarcadero RAD Studio 12</h4> + <blockquote> + <p><b>Embarcadero RAD Studio 12</b> can build <code>log4cpp</code> project using its bundled version of CMake, provided via the RAD Package Manager.<br> + Make sure that Embarcadero's CMake (and not another installation) is used for command line. + Ninja generator will be used as build system, you can get <code>ninja-win.zip</code> at + <a href="https://ninja-build.org/">Ninja site</a> and extract the executable into catalog included into PATH environment variable.<br> + Open <b>RAD Studio Command Prompt</b> and run commands to build <code>log4cpp</code> libs:</p> + <p>Release:</p> + <pre class="code"> +cmake.exe -G Ninja -S . -B build_release -DCMAKE_SYSTEM_NAME=Windows -DCMAKE_SYSTEM_PROCESSOR=x86_64 -DCMAKE_CROSSCOMPILING=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_ASM_COMPILER=bcc64x -DCMAKE_C_COMPILER=bcc64x -DCMAKE_CXX_COMPILER=bcc64x<br> +cmake.exe --build build_release --config Release -v </pre> + <p>Debug:</p> + <pre class="code"> +cmake.exe -G Ninja -S . -B build_debug -DCMAKE_SYSTEM_NAME=Windows -DCMAKE_SYSTEM_PROCESSOR=x86_64 -DCMAKE_CROSSCOMPILING=OFF -DCMAKE_BUILD_TYPE=Debug -DCMAKE_ASM_COMPILER=bcc64x -DCMAKE_C_COMPILER=bcc64x -DCMAKE_CXX_COMPILER=bcc64x<br> +cmake.exe --build build_debug --config Debug -v </pre> + </blockquote> + <p><i>Works since log4cpp 1.1.5. </i></p> + + <p></p> + <a href="#begin">^</a> + <p></p> + + <h3>Build notes for specific platforms</h3> <dl> <dt>*nix - g++ compiler</dt> <dd>Log4cpp should build without modification on any decent @@ -185,15 +247,17 @@ Also static libraries appear not to work. In short do: </dl> <dl> <dt><a id="buildwindowsprj">Win32 - VS2010</a></dt> -<dd>Use the workspace and project files in subdirectory msvc10. -(You may need to adjust include/log4cpp/config-win32.h and the project -files to your particular needs)</dd> +<dd>Use the workspace and project files in subdirectory <code>msvc10</code>. +You may need to adjust <code>include/log4cpp/config-win32.h</code> and the project +files to your particular needs. Since log4cpp 1.1.6, directory with project +files is kept as archive in directory <code>projects</code>. Extract it into project's root to use.</dd> </dl> <dl> <dt>Win32 - MSVC++ 6</dt> -<dd>Use the workspace and project files in subdirectory msvc6. -You may need to adjust include/log4cpp/config-win32.h and the project -files to your particular needs.</dd> +<dd>Use the workspace and project files in subdirectory <code>msvc6</code>. +You may need to adjust <code>include/log4cpp/config-win32.h</code> and the project +files to your particular needs. Since log4cpp 1.1.6, directory with project +files is kept as archive in directory <code>projects</code>. Extract it into project's root to use.</dd> </dl> <dl> @@ -205,11 +269,12 @@ code.</dd> </dl> <dl> <dt>Win32 - Borland C++ Builder 5</dt> -<dd>Use the project and make files in subdirectory bcb5.</dd> +<dd>Use the project and make files in subdirectory <code>bcb5</code>. Since log4cpp 1.1.6, directory with project +files is kept as archive in directory <code>projects</code>. Extract it into project's root to use.</dd> </dl> <dl> <dt>Win32 - Cygwin</dt> -<dd>Use './configure; make; make install'.<br> +<dd>Use <code>./configure; make; make install</code><br> Be warned that there have been very few success or failure reports for this platform, so either it works very smoothly or noone actively uses log4cpp with @@ -219,7 +284,7 @@ Cygwin :-) <dl> <dt>OpenVMS</dt> <dt></dt> -<dd>Edit include/log4cpp/config-openvms.h if you need +<dd>Edit <code>include/log4cpp/config-openvms.h</code> if you need different settings.<br> This has been tested on OpenVMS Alpha v7.3 and Compaq C++ V6.3-020 only. @@ -249,47 +314,10 @@ A1$DKB0:[USER.TONY.PROJECT.LOG4CPP.REPOSITORY].<br> </dl> </dl> -<h3><a id="buildcmake">CMake</a></h3> - <p>Browse into the source code catalog (<code>log4cpp</code>) and run the following for Release build:</p> - <pre class="code"> -cmake -S . -B build_release -DCMAKE_BUILD_TYPE=Release<br> -cmake --build build_release - </pre> - This will create <code>./build_release</code>, compile and build libraries into it. - <p>Debug build is analogous:</p> - <pre class="code"> -cmake -S . -B build_debug -DCMAKE_BUILD_TYPE=Debug<br> -cmake --build build_debug - </pre> - <h3><a id="buildwindowscmake">Windows, CMake</a></h3> - <h4>MS Visual Studio 2022</h4> - <blockquote> - <p><b>MS Visual Studio 2022</b> can open <code>log4cpp</code> directly as a CMake project. - Use <code>File → Open → CMake...</code> menu items to choose <code>log4cpp/CMakeLists.txt</code> file and start CMake generation. - After generation is finished, choose <code>Build → Build All</code> to build <code>log4cpp</code> libs. - <br>Note: Make sure not to use project files intended for older MSVC versions (<code>msvc10, msvc7, msvc6</code>). - If such files are used, you may encounter build error like: (<code>Platform Toolset = 'v100') cannot be found</code>. - </p> - </blockquote> - <h4>Embarcadero RAD Studio 12</h4> - <blockquote> - <p><b>Embarcadero RAD Studio 12</b> can build <code>log4cpp</code> project using its bundled version of CMake, provided via the RAD Package Manager.<br> - Make sure that Embarcadero's CMake (and not another installation) is used for command line. - Ninja generator will be used as build system, you can get <code>ninja-win.zip</code> at - <a href="https://ninja-build.org/">Ninja site</a> and extract the executable into catalog included into PATH environment variable.<br> - Open <b>RAD Studio Command Prompt</b> and run commands to build <code>log4cpp</code> libs:</p> - <p>Release:</p> - <pre class="code"> -cmake.exe -G Ninja -S . -B build_release -DCMAKE_SYSTEM_NAME=Windows -DCMAKE_SYSTEM_PROCESSOR=x86_64 -DCMAKE_CROSSCOMPILING=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_ASM_COMPILER=bcc64x -DCMAKE_C_COMPILER=bcc64x -DCMAKE_CXX_COMPILER=bcc64x<br> -cmake.exe --build build_release --config Release -v </pre> - <p>Debug:</p> - <pre class="code"> -cmake.exe -G Ninja -S . -B build_debug -DCMAKE_SYSTEM_NAME=Windows -DCMAKE_SYSTEM_PROCESSOR=x86_64 -DCMAKE_CROSSCOMPILING=OFF -DCMAKE_BUILD_TYPE=Debug -DCMAKE_ASM_COMPILER=bcc64x -DCMAKE_C_COMPILER=bcc64x -DCMAKE_CXX_COMPILER=bcc64x<br> -cmake.exe --build build_debug --config Debug -v </pre> - </blockquote> - <p><i>Works since log4cpp 1.1.5. </i></p> + <p></p> + <a href="#begin">^</a> + <p></p> -<a href="#begin">^</a> </div> <div class="chapter"> http://sourceforge.net/p/log4cpp/codegit/ci/ commit f20e9272b67b49db7fc8563c401de7f060412c92 Author: Alexander Perepelkin <san...@us...> Date: Tue Feb 24 15:28:43 2026 +0100 index.html Brief: Native project files are archived, CTest usage is added. diff --git a/doc/html/index.html b/doc/html/index.html index 3cec4f4..2caa81a 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -27,8 +27,8 @@ Page on Sourceforge</a> <ul> <li><a title="Linux/*nix" href="#buildlinux">Linux/*nix, Autoconf</a> </li> <li><a title="Linux/*nix" href="#buildcmake">Linux/*nix, CMake</a> </li> - <li><a title="Windows, prj files" href="#buildwindowsprj">Windows, prj files</a> </li> <li><a title="Windows, CMake" href="#buildwindowscmake">Windows, CMake</a> </li> + <li><a title="Windows, prj files" href="#buildwindowsprj">Windows, prj files</a> </li> </ul> <li><a title="License" href="#license">License</a> </li> @@ -92,7 +92,7 @@ the source tar-ball is as simple as <div class="chapter"> <h2><a id="building">Building Log4cpp</a></h2> -<h3><a id="buildlinux">Autoconf</a></h3> +<h3><a id="buildlinux">Linux/*nix, Autoconf</a></h3> <p>The project uses <a href="https://www.gnu.org/software/automake/">GNU Autotools</a> as primary build system. <a href="#buildcmake">CMake</a> is secondary option.</p> <p>If file <code>./configure</code> is absent in project directory (as when the code is checked out from repository), run the following:</p> @@ -166,7 +166,69 @@ to draw its graphs.</dd> </dl> <p></p> -<h3>Build notes for specific platforms</h3> +<a href="#begin">^</a> +<p></p> + + <h3><a id="buildcmake">Linux/*nix, CMake</a></h3> + <p>Browse into the source code catalog (<code>log4cpp</code>) and run the following for <b>Release build</b>:</p> + <pre class="code"> +cmake -S . -B build_release -DCMAKE_BUILD_TYPE=Release<br> +cmake --build build_release</pre> + This will create <code>./build_release</code>, compile and build libraries into it. + <p>Optionally, run tests (expected result is 100% tests passed):</p> + <pre class="code"> +cd build_release/tests<br> +ctest</pre> + + <p><b>Debug build</b> is analogous:</p> + <pre class="code"> +cmake -S . -B build_debug -DCMAKE_BUILD_TYPE=Debug<br> +cmake --build build_debug</pre> + <p>Run tests for debug build:</p> + <pre class="code"> +cd build_debug/tests<br> +ctest</pre> + + <p></p> + <a href="#begin">^</a> + <p></p> + + <h3><a id="buildwindowscmake">Windows, CMake</a></h3> + <h4>MS Visual Studio 2022</h4> + <blockquote> + <p><b>MS Visual Studio 2022</b> can open <code>log4cpp</code> directly as a CMake project. + <ul> + <li>Use <code>File → Open → CMake...</code> menu items to choose <code>log4cpp/CMakeLists.txt</code> file and start CMake generation.</li> + <li>After CMake generation is finished, choose <code>Build → Build All</code> to build <code>log4cpp</code> libs.</li> + <li>Optionally, run set of tests from <code>Test → Run CTests</code> </li> + </ul> + <br><small>Note: Native project files intended for older MSVC versions (<code>msvc10, msvc7, msvc6</code>) + are archived since log4cpp 1.1.6 into <code>projects</code> directory.</small> + </p> + </blockquote> + <h4>Embarcadero RAD Studio 12</h4> + <blockquote> + <p><b>Embarcadero RAD Studio 12</b> can build <code>log4cpp</code> project using its bundled version of CMake, provided via the RAD Package Manager.<br> + Make sure that Embarcadero's CMake (and not another installation) is used for command line. + Ninja generator will be used as build system, you can get <code>ninja-win.zip</code> at + <a href="https://ninja-build.org/">Ninja site</a> and extract the executable into catalog included into PATH environment variable.<br> + Open <b>RAD Studio Command Prompt</b> and run commands to build <code>log4cpp</code> libs:</p> + <p>Release:</p> + <pre class="code"> +cmake.exe -G Ninja -S . -B build_release -DCMAKE_SYSTEM_NAME=Windows -DCMAKE_SYSTEM_PROCESSOR=x86_64 -DCMAKE_CROSSCOMPILING=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_ASM_COMPILER=bcc64x -DCMAKE_C_COMPILER=bcc64x -DCMAKE_CXX_COMPILER=bcc64x<br> +cmake.exe --build build_release --config Release -v </pre> + <p>Debug:</p> + <pre class="code"> +cmake.exe -G Ninja -S . -B build_debug -DCMAKE_SYSTEM_NAME=Windows -DCMAKE_SYSTEM_PROCESSOR=x86_64 -DCMAKE_CROSSCOMPILING=OFF -DCMAKE_BUILD_TYPE=Debug -DCMAKE_ASM_COMPILER=bcc64x -DCMAKE_C_COMPILER=bcc64x -DCMAKE_CXX_COMPILER=bcc64x<br> +cmake.exe --build build_debug --config Debug -v </pre> + </blockquote> + <p><i>Works since log4cpp 1.1.5. </i></p> + + <p></p> + <a href="#begin">^</a> + <p></p> + + <h3>Build notes for specific platforms</h3> <dl> <dt>*nix - g++ compiler</dt> <dd>Log4cpp should build without modification on any decent @@ -185,15 +247,17 @@ Also static libraries appear not to work. In short do: </dl> <dl> <dt><a id="buildwindowsprj">Win32 - VS2010</a></dt> -<dd>Use the workspace and project files in subdirectory msvc10. -(You may need to adjust include/log4cpp/config-win32.h and the project -files to your particular needs)</dd> +<dd>Use the workspace and project files in subdirectory <code>msvc10</code>. +You may need to adjust <code>include/log4cpp/config-win32.h</code> and the project +files to your particular needs. Since log4cpp 1.1.6, directory with project +files is kept as archive in directory <code>projects</code>. Extract it into project's root to use.</dd> </dl> <dl> <dt>Win32 - MSVC++ 6</dt> -<dd>Use the workspace and project files in subdirectory msvc6. -You may need to adjust include/log4cpp/config-win32.h and the project -files to your particular needs.</dd> +<dd>Use the workspace and project files in subdirectory <code>msvc6</code>. +You may need to adjust <code>include/log4cpp/config-win32.h</code> and the project +files to your particular needs. Since log4cpp 1.1.6, directory with project +files is kept as archive in directory <code>projects</code>. Extract it into project's root to use.</dd> </dl> <dl> @@ -205,11 +269,12 @@ code.</dd> </dl> <dl> <dt>Win32 - Borland C++ Builder 5</dt> -<dd>Use the project and make files in subdirectory bcb5.</dd> +<dd>Use the project and make files in subdirectory <code>bcb5</code>. Since log4cpp 1.1.6, directory with project +files is kept as archive in directory <code>projects</code>. Extract it into project's root to use.</dd> </dl> <dl> <dt>Win32 - Cygwin</dt> -<dd>Use './configure; make; make install'.<br> +<dd>Use <code>./configure; make; make install</code><br> Be warned that there have been very few success or failure reports for this platform, so either it works very smoothly or noone actively uses log4cpp with @@ -219,7 +284,7 @@ Cygwin :-) <dl> <dt>OpenVMS</dt> <dt></dt> -<dd>Edit include/log4cpp/config-openvms.h if you need +<dd>Edit <code>include/log4cpp/config-openvms.h</code> if you need different settings.<br> This has been tested on OpenVMS Alpha v7.3 and Compaq C++ V6.3-020 only. @@ -249,47 +314,10 @@ A1$DKB0:[USER.TONY.PROJECT.LOG4CPP.REPOSITORY].<br> </dl> </dl> -<h3><a id="buildcmake">CMake</a></h3> - <p>Browse into the source code catalog (<code>log4cpp</code>) and run the following for Release build:</p> - <pre class="code"> -cmake -S . -B build_release -DCMAKE_BUILD_TYPE=Release<br> -cmake --build build_release - </pre> - This will create <code>./build_release</code>, compile and build libraries into it. - <p>Debug build is analogous:</p> - <pre class="code"> -cmake -S . -B build_debug -DCMAKE_BUILD_TYPE=Debug<br> -cmake --build build_debug - </pre> - <h3><a id="buildwindowscmake">Windows, CMake</a></h3> - <h4>MS Visual Studio 2022</h4> - <blockquote> - <p><b>MS Visual Studio 2022</b> can open <code>log4cpp</code> directly as a CMake project. - Use <code>File → Open → CMake...</code> menu items to choose <code>log4cpp/CMakeLists.txt</code> file and start CMake generation. - After generation is finished, choose <code>Build → Build All</code> to build <code>log4cpp</code> libs. - <br>Note: Make sure not to use project files intended for older MSVC versions (<code>msvc10, msvc7, msvc6</code>). - If such files are used, you may encounter build error like: (<code>Platform Toolset = 'v100') cannot be found</code>. - </p> - </blockquote> - <h4>Embarcadero RAD Studio 12</h4> - <blockquote> - <p><b>Embarcadero RAD Studio 12</b> can build <code>log4cpp</code> project using its bundled version of CMake, provided via the RAD Package Manager.<br> - Make sure that Embarcadero's CMake (and not another installation) is used for command line. - Ninja generator will be used as build system, you can get <code>ninja-win.zip</code> at - <a href="https://ninja-build.org/">Ninja site</a> and extract the executable into catalog included into PATH environment variable.<br> - Open <b>RAD Studio Command Prompt</b> and run commands to build <code>log4cpp</code> libs:</p> - <p>Release:</p> - <pre class="code"> -cmake.exe -G Ninja -S . -B build_release -DCMAKE_SYSTEM_NAME=Windows -DCMAKE_SYSTEM_PROCESSOR=x86_64 -DCMAKE_CROSSCOMPILING=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_ASM_COMPILER=bcc64x -DCMAKE_C_COMPILER=bcc64x -DCMAKE_CXX_COMPILER=bcc64x<br> -cmake.exe --build build_release --config Release -v </pre> - <p>Debug:</p> - <pre class="code"> -cmake.exe -G Ninja -S . -B build_debug -DCMAKE_SYSTEM_NAME=Windows -DCMAKE_SYSTEM_PROCESSOR=x86_64 -DCMAKE_CROSSCOMPILING=OFF -DCMAKE_BUILD_TYPE=Debug -DCMAKE_ASM_COMPILER=bcc64x -DCMAKE_C_COMPILER=bcc64x -DCMAKE_CXX_COMPILER=bcc64x<br> -cmake.exe --build build_debug --config Debug -v </pre> - </blockquote> - <p><i>Works since log4cpp 1.1.5. </i></p> + <p></p> + <a href="#begin">^</a> + <p></p> -<a href="#begin">^</a> </div> <div class="chapter"> http://sourceforge.net/p/log4cpp/codegit/ci/ commit f20e9272b67b49db7fc8563c401de7f060412c92 Author: Alexander Perepelkin <san...@us...> Date: Tue Feb 24 15:28:43 2026 +0100 index.html Brief: Native project files are archived, CTest usage is added. diff --git a/doc/html/index.html b/doc/html/index.html index 3cec4f4..2caa81a 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -27,8 +27,8 @@ Page on Sourceforge</a> <ul> <li><a title="Linux/*nix" href="#buildlinux">Linux/*nix, Autoconf</a> </li> <li><a title="Linux/*nix" href="#buildcmake">Linux/*nix, CMake</a> </li> - <li><a title="Windows, prj files" href="#buildwindowsprj">Windows, prj files</a> </li> <li><a title="Windows, CMake" href="#buildwindowscmake">Windows, CMake</a> </li> + <li><a title="Windows, prj files" href="#buildwindowsprj">Windows, prj files</a> </li> </ul> <li><a title="License" href="#license">License</a> </li> @@ -92,7 +92,7 @@ the source tar-ball is as simple as <div class="chapter"> <h2><a id="building">Building Log4cpp</a></h2> -<h3><a id="buildlinux">Autoconf</a></h3> +<h3><a id="buildlinux">Linux/*nix, Autoconf</a></h3> <p>The project uses <a href="https://www.gnu.org/software/automake/">GNU Autotools</a> as primary build system. <a href="#buildcmake">CMake</a> is secondary option.</p> <p>If file <code>./configure</code> is absent in project directory (as when the code is checked out from repository), run the following:</p> @@ -166,7 +166,69 @@ to draw its graphs.</dd> </dl> <p></p> -<h3>Build notes for specific platforms</h3> +<a href="#begin">^</a> +<p></p> + + <h3><a id="buildcmake">Linux/*nix, CMake</a></h3> + <p>Browse into the source code catalog (<code>log4cpp</code>) and run the following for <b>Release build</b>:</p> + <pre class="code"> +cmake -S . -B build_release -DCMAKE_BUILD_TYPE=Release<br> +cmake --build build_release</pre> + This will create <code>./build_release</code>, compile and build libraries into it. + <p>Optionally, run tests (expected result is 100% tests passed):</p> + <pre class="code"> +cd build_release/tests<br> +ctest</pre> + + <p><b>Debug build</b> is analogous:</p> + <pre class="code"> +cmake -S . -B build_debug -DCMAKE_BUILD_TYPE=Debug<br> +cmake --build build_debug</pre> + <p>Run tests for debug build:</p> + <pre class="code"> +cd build_debug/tests<br> +ctest</pre> + + <p></p> + <a href="#begin">^</a> + <p></p> + + <h3><a id="buildwindowscmake">Windows, CMake</a></h3> + <h4>MS Visual Studio 2022</h4> + <blockquote> + <p><b>MS Visual Studio 2022</b> can open <code>log4cpp</code> directly as a CMake project. + <ul> + <li>Use <code>File → Open → CMake...</code> menu items to choose <code>log4cpp/CMakeLists.txt</code> file and start CMake generation.</li> + <li>After CMake generation is finished, choose <code>Build → Build All</code> to build <code>log4cpp</code> libs.</li> + <li>Optionally, run set of tests from <code>Test → Run CTests</code> </li> + </ul> + <br><small>Note: Native project files intended for older MSVC versions (<code>msvc10, msvc7, msvc6</code>) + are archived since log4cpp 1.1.6 into <code>projects</code> directory.</small> + </p> + </blockquote> + <h4>Embarcadero RAD Studio 12</h4> + <blockquote> + <p><b>Embarcadero RAD Studio 12</b> can build <code>log4cpp</code> project using its bundled version of CMake, provided via the RAD Package Manager.<br> + Make sure that Embarcadero's CMake (and not another installation) is used for command line. + Ninja generator will be used as build system, you can get <code>ninja-win.zip</code> at + <a href="https://ninja-build.org/">Ninja site</a> and extract the executable into catalog included into PATH environment variable.<br> + Open <b>RAD Studio Command Prompt</b> and run commands to build <code>log4cpp</code> libs:</p> ... 388 lines suppressed ... hooks/post-receive -- Log4cpp Git repository. |
| From: <log...@li...> - 2026-02-24 12:06:30 |
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Log4cpp Git repository.". The branch, master has been updated via ce4e8110f60885ec3a37a24813fe43d1c8851e07 (commit) from 0e36286665f3488c35cd03ac0904953446a22c3b (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- http://sourceforge.net/p/log4cpp/codegit/ci/ commit ce4e8110f60885ec3a37a24813fe43d1c8851e07 Author: Alexander Perepelkin <san...@us...> Date: Tue Feb 24 13:06:11 2026 +0100 Add path to the shared library into PATH for the test on windows so CTest can run it diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 6919ef2..0d814a8 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -73,6 +73,10 @@ foreach(test_source IN LISTS TEST_EXECUTABLE_SOURCES) # Add test to CTest add_test(NAME ${test_name} COMMAND ${test_name}) set_tests_properties(${test_name} PROPERTIES WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) + # Add path to the shared library into PATH for the test on windows so CTest can run it + if(WIN32) + set_tests_properties(${test_name} PROPERTIES ENVIRONMENT "PATH=$<TARGET_FILE_DIR:${LOG4CPP_TEST_LIB}>;$ENV{PATH}") + endif() endforeach() # List of resource files to copy ----------------------------------------------------------------------- Summary of changes: tests/CMakeLists.txt | 4 ++++ 1 file changed, 4 insertions(+) hooks/post-receive -- Log4cpp Git repository. |
| From: <log...@li...> - 2026-02-21 21:08:07 |
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Log4cpp Git repository.". The branch, master has been updated via 0e36286665f3488c35cd03ac0904953446a22c3b (commit) via e8f62f2746a7b0133c6681f4d378b6f6f80849fe (commit) via 55c2289baca6dfbd0ed77e1b21c3c6ca1841b714 (commit) via cf79f382dca07f4e2026306f32ce5f5502fa5889 (commit) via a4740e02dca7f6edd62449354323a019c6c5a28f (commit) via fb8d6dd0c74cbbfd6a2a1a38176e46ea709cbfef (commit) from 516e8ba2ec87c697d0afb2aea42d51b80095930f (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- http://sourceforge.net/p/log4cpp/codegit/ci/ commit 0e36286665f3488c35cd03ac0904953446a22c3b Author: Alexander Perepelkin <san...@us...> Date: Sat Feb 21 22:05:41 2026 +0100 Keep project version-related macros for hardcoded config header files in single file <log4cpp/config-project-version.h> diff --git a/include/log4cpp/Portability.hh b/include/log4cpp/Portability.hh index 7033270..1b97729 100644 --- a/include/log4cpp/Portability.hh +++ b/include/log4cpp/Portability.hh @@ -10,6 +10,8 @@ #ifndef _LOG4CPP_PORTABILITY_HH #define _LOG4CPP_PORTABILITY_HH +// <log4cpp/config.h> is auto-generated by autotools or CMake during build. +// All other <log4cpp/config-*.h> are legacy manually edited copies and are kept for backward compatibility. #if defined(_MSC_VER) || defined(__BORLANDC__) #if defined(LOG4CPP_STLPORT_AND_BOOST_BUILD) #include <log4cpp/config-win32-stlport-boost.h> diff --git a/include/log4cpp/config-MinGW32.h b/include/log4cpp/config-MinGW32.h index 42a5350..27520b5 100644 --- a/include/log4cpp/config-MinGW32.h +++ b/include/log4cpp/config-MinGW32.h @@ -9,6 +9,7 @@ #define _INCLUDE_LOG4CPP_CONFIG_MINGW32_H 1 /* manually edited from include/log4cpp/config.h */ +#include <log4cpp/config-project-version.h> /* Define if you have the syslog function. */ /* #undef LOG4CPP_HAVE_SYSLOG */ @@ -58,16 +59,6 @@ typedef u_long in_addr_t; /* Define if you have the `strcasecmp' function. */ /* #undef LOG4CPP_HAVE_STRCASECMP */ -/* Name of package */ -#ifndef LOG4CPP_PACKAGE -#define LOG4CPP_PACKAGE "log4cpp" -#endif - -/* Version number of package */ -#ifndef LOG4CPP_VERSION -#define LOG4CPP_VERSION "1.0" -#endif - /* define if the compiler implements namespaces */ #ifndef LOG4CPP_HAVE_NAMESPACES #define LOG4CPP_HAVE_NAMESPACES 1 diff --git a/include/log4cpp/config-openvms.h b/include/log4cpp/config-openvms.h index f0c17cf..d41d78d 100644 --- a/include/log4cpp/config-openvms.h +++ b/include/log4cpp/config-openvms.h @@ -11,6 +11,7 @@ /* include/log4cpp/config.h. Generated automatically at end of configure. */ /* include/config.h. Generated automatically by configure. */ /* include/config.h.in. Generated automatically from configure.in by autoheader. */ +#include <log4cpp/config-project-version.h> /* Define if you have the <dlfcn.h> header file. */ #ifndef LOG4CPP_HAVE_DLFCN_H @@ -60,15 +61,5 @@ #define LOG4CPP_HAVE_UNISTD_H 1 #endif -/* Name of package */ -#ifndef LOG4CPP_PACKAGE -#define LOG4CPP_PACKAGE "log4cpp" -#endif - -/* Version number of package */ -#ifndef LOG4CPP_VERSION -#define LOG4CPP_VERSION "1.0" -#endif - /* _INCLUDE_LOG4CPP_CONFIG_OPENVMS_H */ #endif diff --git a/include/log4cpp/config-project-version.h b/include/log4cpp/config-project-version.h new file mode 100644 index 0000000..c7b0d13 --- /dev/null +++ b/include/log4cpp/config-project-version.h @@ -0,0 +1,45 @@ +// +// Common part for all hardcoded config-*.h files. +// config.h is autogenerated by either autotools or CMake. +// config-*.h files are legacy files, kept for backward compatibility. +// + +#ifndef LOG4CPP_CONFIG_PROJECT_COMMON_H +#define LOG4CPP_CONFIG_PROJECT_COMMON_H + +/* Name of package */ +#ifndef LOG4CPP_PACKAGE +#define LOG4CPP_PACKAGE "log4cpp" +#endif + +/* Define to the full name of this package. */ +#ifndef LOG4CPP_PACKAGE_NAME +#define LOG4CPP_PACKAGE_NAME "log4cpp" +#endif + +/* Define to the full name and version of this package. */ +#ifndef LOG4CPP_PACKAGE_STRING +#define LOG4CPP_PACKAGE_STRING "log4cpp 1.1.6" +#endif + +/* Define to the one symbol short name of this package. */ +#ifndef LOG4CPP_PACKAGE_TARNAME +#define LOG4CPP_PACKAGE_TARNAME "log4cpp" +#endif + +/* Define to the home page for this package. */ +#ifndef LOG4CPP_PACKAGE_URL +#define LOG4CPP_PACKAGE_URL "https://log4cpp.sourceforge.net" +#endif + +/* Define to the version of this package. */ +#ifndef LOG4CPP_PACKAGE_VERSION +#define LOG4CPP_PACKAGE_VERSION "1.1.6" +#endif + +/* Version number of package */ +#ifndef LOG4CPP_VERSION +#define LOG4CPP_VERSION "1.1.6" +#endif + +#endif // LOG4CPP_CONFIG_PROJECT_COMMON_H diff --git a/include/log4cpp/config-win32-stlport-boost.h b/include/log4cpp/config-win32-stlport-boost.h index 8905b93..729ef5e 100644 --- a/include/log4cpp/config-win32-stlport-boost.h +++ b/include/log4cpp/config-win32-stlport-boost.h @@ -9,6 +9,7 @@ #define _INCLUDE_LOG4CPP_CONFIG_WIN32_H 1 /* manually edited from include/log4cpp/config.h */ +#include <log4cpp/config-project-version.h> /* Define if you have the syslog function. */ /* #undef LOG4CPP_HAVE_SYSLOG */ @@ -60,16 +61,6 @@ typedef u_long in_addr_t; /* Define if you have the `strcasecmp' function. */ /* #undef LOG4CPP_HAVE_STRCASECMP */ -/* Name of package */ -#ifndef LOG4CPP_PACKAGE -#define LOG4CPP_PACKAGE "log4cpp" -#endif - -/* Version number of package */ -#ifndef LOG4CPP_VERSION -#define LOG4CPP_VERSION "1.0" -#endif - /* define if the compiler implements namespaces */ #ifndef LOG4CPP_HAVE_NAMESPACES #define LOG4CPP_HAVE_NAMESPACES 1 diff --git a/include/log4cpp/config-win32.h b/include/log4cpp/config-win32.h index 6611824..5281ae4 100644 --- a/include/log4cpp/config-win32.h +++ b/include/log4cpp/config-win32.h @@ -9,6 +9,7 @@ #define _INCLUDE_LOG4CPP_CONFIG_WIN32_H 1 /* manually edited from include/log4cpp/config.h */ +#include <log4cpp/config-project-version.h> /* Define if you have the syslog function. */ /* #undef LOG4CPP_HAVE_SYSLOG */ @@ -62,16 +63,6 @@ typedef u_long in_addr_t; /* Define if you have the `strcasecmp' function. */ /* #undef LOG4CPP_HAVE_STRCASECMP */ -/* Name of package */ -#ifndef LOG4CPP_PACKAGE -#define LOG4CPP_PACKAGE "log4cpp" -#endif - -/* Version number of package */ -#ifndef LOG4CPP_VERSION -#define LOG4CPP_VERSION "1.0" -#endif - /* define if the compiler implements namespaces */ #ifndef LOG4CPP_HAVE_NAMESPACES #define LOG4CPP_HAVE_NAMESPACES 1 http://sourceforge.net/p/log4cpp/codegit/ci/ commit 0e36286665f3488c35cd03ac0904953446a22c3b Author: Alexander Perepelkin <san...@us...> Date: Sat Feb 21 22:05:41 2026 +0100 Keep project version-related macros for hardcoded config header files in single file <log4cpp/config-project-version.h> diff --git a/include/log4cpp/Portability.hh b/include/log4cpp/Portability.hh index 7033270..1b97729 100644 --- a/include/log4cpp/Portability.hh +++ b/include/log4cpp/Portability.hh @@ -10,6 +10,8 @@ #ifndef _LOG4CPP_PORTABILITY_HH #define _LOG4CPP_PORTABILITY_HH +// <log4cpp/config.h> is auto-generated by autotools or CMake during build. +// All other <log4cpp/config-*.h> are legacy manually edited copies and are kept for backward compatibility. #if defined(_MSC_VER) || defined(__BORLANDC__) #if defined(LOG4CPP_STLPORT_AND_BOOST_BUILD) #include <log4cpp/config-win32-stlport-boost.h> diff --git a/include/log4cpp/config-MinGW32.h b/include/log4cpp/config-MinGW32.h index 42a5350..27520b5 100644 --- a/include/log4cpp/config-MinGW32.h +++ b/include/log4cpp/config-MinGW32.h @@ -9,6 +9,7 @@ #define _INCLUDE_LOG4CPP_CONFIG_MINGW32_H 1 /* manually edited from include/log4cpp/config.h */ +#include <log4cpp/config-project-version.h> /* Define if you have the syslog function. */ /* #undef LOG4CPP_HAVE_SYSLOG */ @@ -58,16 +59,6 @@ typedef u_long in_addr_t; /* Define if you have the `strcasecmp' function. */ /* #undef LOG4CPP_HAVE_STRCASECMP */ -/* Name of package */ -#ifndef LOG4CPP_PACKAGE -#define LOG4CPP_PACKAGE "log4cpp" -#endif - -/* Version number of package */ -#ifndef LOG4CPP_VERSION -#define LOG4CPP_VERSION "1.0" -#endif - /* define if the compiler implements namespaces */ #ifndef LOG4CPP_HAVE_NAMESPACES #define LOG4CPP_HAVE_NAMESPACES 1 diff --git a/include/log4cpp/config-openvms.h b/include/log4cpp/config-openvms.h index f0c17cf..d41d78d 100644 --- a/include/log4cpp/config-openvms.h +++ b/include/log4cpp/config-openvms.h @@ -11,6 +11,7 @@ /* include/log4cpp/config.h. Generated automatically at end of configure. */ /* include/config.h. Generated automatically by configure. */ /* include/config.h.in. Generated automatically from configure.in by autoheader. */ +#include <log4cpp/config-project-version.h> /* Define if you have the <dlfcn.h> header file. */ #ifndef LOG4CPP_HAVE_DLFCN_H @@ -60,15 +61,5 @@ #define LOG4CPP_HAVE_UNISTD_H 1 #endif -/* Name of package */ -#ifndef LOG4CPP_PACKAGE -#define LOG4CPP_PACKAGE "log4cpp" -#endif - -/* Version number of package */ -#ifndef LOG4CPP_VERSION -#define LOG4CPP_VERSION "1.0" -#endif - /* _INCLUDE_LOG4CPP_CONFIG_OPENVMS_H */ #endif diff --git a/include/log4cpp/config-project-version.h b/include/log4cpp/config-project-version.h new file mode 100644 index 0000000..c7b0d13 --- /dev/null +++ b/include/log4cpp/config-project-version.h @@ -0,0 +1,45 @@ +// +// Common part for all hardcoded config-*.h files. +// config.h is autogenerated by either autotools or CMake. +// config-*.h files are legacy files, kept for backward compatibility. +// + +#ifndef LOG4CPP_CONFIG_PROJECT_COMMON_H +#define LOG4CPP_CONFIG_PROJECT_COMMON_H + +/* Name of package */ +#ifndef LOG4CPP_PACKAGE +#define LOG4CPP_PACKAGE "log4cpp" +#endif + +/* Define to the full name of this package. */ +#ifndef LOG4CPP_PACKAGE_NAME +#define LOG4CPP_PACKAGE_NAME "log4cpp" +#endif + +/* Define to the full name and version of this package. */ +#ifndef LOG4CPP_PACKAGE_STRING +#define LOG4CPP_PACKAGE_STRING "log4cpp 1.1.6" +#endif + +/* Define to the one symbol short name of this package. */ +#ifndef LOG4CPP_PACKAGE_TARNAME +#define LOG4CPP_PACKAGE_TARNAME "log4cpp" +#endif + +/* Define to the home page for this package. */ +#ifndef LOG4CPP_PACKAGE_URL +#define LOG4CPP_PACKAGE_URL "https://log4cpp.sourceforge.net" +#endif + +/* Define to the version of this package. */ +#ifndef LOG4CPP_PACKAGE_VERSION +#define LOG4CPP_PACKAGE_VERSION "1.1.6" +#endif + +/* Version number of package */ +#ifndef LOG4CPP_VERSION +#define LOG4CPP_VERSION "1.1.6" +#endif + +#endif // LOG4CPP_CONFIG_PROJECT_COMMON_H diff --git a/include/log4cpp/config-win32-stlport-boost.h b/include/log4cpp/config-win32-stlport-boost.h index 8905b93..729ef5e 100644 --- a/include/log4cpp/config-win32-stlport-boost.h +++ b/include/log4cpp/config-win32-stlport-boost.h @@ -9,6 +9,7 @@ #define _INCLUDE_LOG4CPP_CONFIG_WIN32_H 1 /* manually edited from include/log4cpp/config.h */ +#include <log4cpp/config-project-version.h> /* Define if you have the syslog function. */ /* #undef LOG4CPP_HAVE_SYSLOG */ @@ -60,16 +61,6 @@ typedef u_long in_addr_t; /* Define if you have the `strcasecmp' function. */ /* #undef LOG4CPP_HAVE_STRCASECMP */ -/* Name of package */ -#ifndef LOG4CPP_PACKAGE -#define LOG4CPP_PACKAGE "log4cpp" -#endif - -/* Version number of package */ -#ifndef LOG4CPP_VERSION -#define LOG4CPP_VERSION "1.0" -#endif - /* define if the compiler implements namespaces */ #ifndef LOG4CPP_HAVE_NAMESPACES #define LOG4CPP_HAVE_NAMESPACES 1 diff --git a/include/log4cpp/config-win32.h b/include/log4cpp/config-win32.h index 6611824..5281ae4 100644 --- a/include/log4cpp/config-win32.h +++ b/include/log4cpp/config-win32.h @@ -9,6 +9,7 @@ #define _INCLUDE_LOG4CPP_CONFIG_WIN32_H 1 /* manually edited from include/log4cpp/config.h */ +#include <log4cpp/config-project-version.h> /* Define if you have the syslog function. */ /* #undef LOG4CPP_HAVE_SYSLOG */ @@ -62,16 +63,6 @@ typedef u_long in_addr_t; /* Define if you have the `strcasecmp' function. */ /* #undef LOG4CPP_HAVE_STRCASECMP */ -/* Name of package */ -#ifndef LOG4CPP_PACKAGE -#define LOG4CPP_PACKAGE "log4cpp" -#endif - -/* Version number of package */ -#ifndef LOG4CPP_VERSION -#define LOG4CPP_VERSION "1.0" -#endif - /* define if the compiler implements namespaces */ #ifndef LOG4CPP_HAVE_NAMESPACES #define LOG4CPP_HAVE_NAMESPACES 1 http://sourceforge.net/p/log4cpp/codegit/ci/ commit 0e36286665f3488c35cd03ac0904953446a22c3b Author: Alexander Perepelkin <san...@us...> Date: Sat Feb 21 22:05:41 2026 +0100 Keep project version-related macros for hardcoded config header files in single file <log4cpp/config-project-version.h> diff --git a/include/log4cpp/Portability.hh b/include/log4cpp/Portability.hh index 7033270..1b97729 100644 --- a/include/log4cpp/Portability.hh +++ b/include/log4cpp/Portability.hh @@ -10,6 +10,8 @@ #ifndef _LOG4CPP_PORTABILITY_HH #define _LOG4CPP_PORTABILITY_HH +// <log4cpp/config.h> is auto-generated by autotools or CMake during build. +// All other <log4cpp/config-*.h> are legacy manually edited copies and are kept for backward compatibility. #if defined(_MSC_VER) || defined(__BORLANDC__) #if defined(LOG4CPP_STLPORT_AND_BOOST_BUILD) #include <log4cpp/config-win32-stlport-boost.h> diff --git a/include/log4cpp/config-MinGW32.h b/include/log4cpp/config-MinGW32.h index 42a5350..27520b5 100644 --- a/include/log4cpp/config-MinGW32.h +++ b/include/log4cpp/config-MinGW32.h @@ -9,6 +9,7 @@ #define _INCLUDE_LOG4CPP_CONFIG_MINGW32_H 1 /* manually edited from include/log4cpp/config.h */ +#include <log4cpp/config-project-version.h> /* Define if you have the syslog function. */ /* #undef LOG4CPP_HAVE_SYSLOG */ @@ -58,16 +59,6 @@ typedef u_long in_addr_t; /* Define if you have the `strcasecmp' function. */ /* #undef LOG4CPP_HAVE_STRCASECMP */ -/* Name of package */ -#ifndef LOG4CPP_PACKAGE -#define LOG4CPP_PACKAGE "log4cpp" -#endif - -/* Version number of package */ -#ifndef LOG4CPP_VERSION -#define LOG4CPP_VERSION "1.0" -#endif - /* define if the compiler implements namespaces */ #ifndef LOG4CPP_HAVE_NAMESPACES #define LOG4CPP_HAVE_NAMESPACES 1 diff --git a/include/log4cpp/config-openvms.h b/include/log4cpp/config-openvms.h index f0c17cf..d41d78d 100644 --- a/include/log4cpp/config-openvms.h +++ b/include/log4cpp/config-openvms.h @@ -11,6 +11,7 @@ /* include/log4cpp/config.h. Generated automatically at end of configure. */ /* include/config.h. Generated automatically by configure. */ /* include/config.h.in. Generated automatically from configure.in by autoheader. */ +#include <log4cpp/config-project-version.h> /* Define if you have the <dlfcn.h> header file. */ #ifndef LOG4CPP_HAVE_DLFCN_H @@ -60,15 +61,5 @@ #define LOG4CPP_HAVE_UNISTD_H 1 #endif -/* Name of package */ -#ifndef LOG4CPP_PACKAGE -#define LOG4CPP_PACKAGE "log4cpp" -#endif - -/* Version number of package */ -#ifndef LOG4CPP_VERSION -#define LOG4CPP_VERSION "1.0" -#endif - /* _INCLUDE_LOG4CPP_CONFIG_OPENVMS_H */ #endif diff --git a/include/log4cpp/config-project-version.h b/include/log4cpp/config-project-version.h new file mode 100644 index 0000000..c7b0d13 --- /dev/null +++ b/include/log4cpp/config-project-version.h @@ -0,0 +1,45 @@ +// +// Common part for all hardcoded config-*.h files. +// config.h is autogenerated by either autotools or CMake. +// config-*.h files are legacy files, kept for backward compatibility. +// + +#ifndef LOG4CPP_CONFIG_PROJECT_COMMON_H +#define LOG4CPP_CONFIG_PROJECT_COMMON_H + +/* Name of package */ +#ifndef LOG4CPP_PACKAGE +#define LOG4CPP_PACKAGE "log4cpp" +#endif + +/* Define to the full name of this package. */ +#ifndef LOG4CPP_PACKAGE_NAME +#define LOG4CPP_PACKAGE_NAME "log4cpp" +#endif + +/* Define to the full name and version of this package. */ +#ifndef LOG4CPP_PACKAGE_STRING +#define LOG4CPP_PACKAGE_STRING "log4cpp 1.1.6" +#endif + +/* Define to the one symbol short name of this package. */ +#ifndef LOG4CPP_PACKAGE_TARNAME +#define LOG4CPP_PACKAGE_TARNAME "log4cpp" ... 661 lines suppressed ... hooks/post-receive -- Log4cpp Git repository. |
| From: <log...@li...> - 2026-02-14 23:26:35 |
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Log4cpp Git repository.". The branch, master has been updated via 516e8ba2ec87c697d0afb2aea42d51b80095930f (commit) from 907e8a1e2a0d32ebefaefca651ac9dfdddeade4f (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- http://sourceforge.net/p/log4cpp/codegit/ci/ commit 516e8ba2ec87c697d0afb2aea42d51b80095930f Author: Alexander Perepelkin <san...@us...> Date: Sun Feb 15 00:26:04 2026 +0100 index.html, ChangeLog diff --git a/ChangeLog b/ChangeLog index 6810876..ad7dc8c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,29 @@ +2026-02-12 21:39 sanchouss_ + * Sync lib versions in CMakeLists.txt and configure.in, set 1.1.6 + +2026-02-12 21:21 sanchouss_ + * Bunch of renaming for the tests: + testConfig.log4cpp.properties -> testPropertyConfig.log4cpp.properties + testConfig.log4cpp.dailyroll.properties -> testDailyRollingFileAppender.log4cpp.properties + testConfig.log4cpp.dailyroll.nt.properties -> testDailyRollingFileAppender.log4cpp.nt.properties + log4cpp.property -> testPropConfig.log4cpp.properties + log4cpp.nt.property -> testPropConfig.log4cpp.nt.properties + testConfig.cpp -> testSimpleConfig.cpp + log4cpp.init -> testSimpleConfig.log4cpp.init + +2026-02-11 23:13 sanchouss_ + * CMake: add test build support using CTest + Collect test*.cpp sources, build them against log4cpp (shared or static), and register tests with CTest. + +2026-02-09 22:35 sanchouss_ + * Building examples is enabled via the LOG4CPP_BUILD_EXAMPLES option. + CMake usage examples are provided for both scenarios: importing a CMake-installed log4cpp library and using + log4cpp as a CMake subproject. + Both shared and static library variants are demonstrated. + The CMake usage examples can be built either as part of the log4cpp library (when LOG4CPP_BUILD_EXAMPLES is + enabled) or as standalone CMake applications that import or include log4cpp from their own directories. + Emulate autotools behaviour and generate include/log4cpp/config.h from Autotools-style config.h.in + 2025-12-12 20:18 sanchouss_ * Fix few compilation warnings * Reformat source codebase automatically with clang-format-21 diff --git a/doc/html/index.html b/doc/html/index.html index 141c40a..b4f6ee0 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -15,7 +15,7 @@ for C++ Project Page on Sourceforge</a> </span> | <span>Last Published: -2025-12-12</span> |</div> +2026-02-15</span> |</div> <hr class="delimiter"> <div id="projectpage"> <div id="navigationpanel" class="lightbackground"> @@ -648,6 +648,16 @@ WARNING: releases from the development branch are a 'work in progress' and may f <p>Each release will receive a tag named REL_x_y_z or prefixed with REL_x.y.z</p> <small> +<dl> +<dt>1.1.6rc1 - master branch (15 February 2026)</dt> +<dd>CMake support is enhanced. Building examples is enabled via the CMake's <code>LOG4CPP_BUILD_EXAMPLES</code> option. + CMake usage examples are provided for both scenarios: importing a CMake-installed log4cpp library and using + log4cpp as a CMake subproject.</dd> +<dd>Emulate autotools behaviour when building via CMake and generate <code>include/log4cpp/config.h</code> from Autotools-style + <code>config.h.in</code></dd> +<dd>Add test build support using CTest</dd> +</dl> + <dl> <dt>1.1.5 - master branch (01 December 2025)</dt> <dd>Cmake script update: support release and debug build types (defaults to release); build both static and shared libraries; pass necessary cpp macros for debug</dd> ----------------------------------------------------------------------- Summary of changes: ChangeLog | 26 ++++++++++++++++++++++++++ doc/html/index.html | 12 +++++++++++- 2 files changed, 37 insertions(+), 1 deletion(-) hooks/post-receive -- Log4cpp Git repository. |
| From: <log...@li...> - 2026-02-12 20:37:10 |
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Log4cpp Git repository.". The branch, master has been updated via 907e8a1e2a0d32ebefaefca651ac9dfdddeade4f (commit) via 09f5ccd0fa5e22c2269634e434bf10f682144c85 (commit) via a97cc15c587cd4e540580e8e952a529789e97fea (commit) via 7d980b18c94425433cd6c563c2dcbe6f85bfa280 (commit) from 95bb9cc7e65302754f1d14ba81d47e6ce7bd95fb (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- http://sourceforge.net/p/log4cpp/codegit/ci/ commit 907e8a1e2a0d32ebefaefca651ac9dfdddeade4f Author: Alexander Perepelkin <san...@us...> Date: Thu Feb 12 21:29:35 2026 +0100 Sync lib versions in CMakeLists.txt and configure.in, set 1.1.6 diff --git a/configure.in b/configure.in index 1dbc434..be686eb 100644 --- a/configure.in +++ b/configure.in @@ -1,4 +1,4 @@ -AC_INIT([log4cpp],[1.1]) +AC_INIT([log4cpp],[1.1.6]) # autoconf 2.50 minimum required until 2025 to rebuild aclocal.m4, because the # AC_CREATE_PREFIX_CONFIG_H macro needs the AS_DIRNAME macro; since then only http://sourceforge.net/p/log4cpp/codegit/ci/ commit 907e8a1e2a0d32ebefaefca651ac9dfdddeade4f Author: Alexander Perepelkin <san...@us...> Date: Thu Feb 12 21:29:35 2026 +0100 Sync lib versions in CMakeLists.txt and configure.in, set 1.1.6 diff --git a/configure.in b/configure.in index 1dbc434..be686eb 100644 --- a/configure.in +++ b/configure.in @@ -1,4 +1,4 @@ -AC_INIT([log4cpp],[1.1]) +AC_INIT([log4cpp],[1.1.6]) # autoconf 2.50 minimum required until 2025 to rebuild aclocal.m4, because the # AC_CREATE_PREFIX_CONFIG_H macro needs the AS_DIRNAME macro; since then only http://sourceforge.net/p/log4cpp/codegit/ci/ commit 907e8a1e2a0d32ebefaefca651ac9dfdddeade4f Author: Alexander Perepelkin <san...@us...> Date: Thu Feb 12 21:29:35 2026 +0100 Sync lib versions in CMakeLists.txt and configure.in, set 1.1.6 diff --git a/configure.in b/configure.in index 1dbc434..be686eb 100644 --- a/configure.in +++ b/configure.in @@ -1,4 +1,4 @@ -AC_INIT([log4cpp],[1.1]) +AC_INIT([log4cpp],[1.1.6]) # autoconf 2.50 minimum required until 2025 to rebuild aclocal.m4, because the # AC_CREATE_PREFIX_CONFIG_H macro needs the AS_DIRNAME macro; since then only http://sourceforge.net/p/log4cpp/codegit/ci/ commit 907e8a1e2a0d32ebefaefca651ac9dfdddeade4f Author: Alexander Perepelkin <san...@us...> Date: Thu Feb 12 21:29:35 2026 +0100 Sync lib versions in CMakeLists.txt and configure.in, set 1.1.6 diff --git a/configure.in b/configure.in index 1dbc434..be686eb 100644 --- a/configure.in +++ b/configure.in @@ -1,4 +1,4 @@ -AC_INIT([log4cpp],[1.1]) +AC_INIT([log4cpp],[1.1.6]) # autoconf 2.50 minimum required until 2025 to rebuild aclocal.m4, because the # AC_CREATE_PREFIX_CONFIG_H macro needs the AS_DIRNAME macro; since then only ----------------------------------------------------------------------- Summary of changes: THANKS | 8 ++++---- bcb5/testConfig/testConfig.bpf | 5 +++-- configure.in | 2 +- .../log4cpp_as_package/log4cpp_as_package.cpp | 3 ++- .../log4cpp_as_subproject/log4cpp_as_subproject.cpp | 3 ++- msvc10/log4cppRunnable/log4cppRunnable.vcxproj | 16 ++++++++-------- msvc10/testPropConfig/testPropConfig.vcxproj | 8 ++++---- msvc6/testPropConfig/testPropConfig.dsp | 4 ++-- msvc7/testPropConfig/testPropConfig.vcproj | 4 ++-- tests/CMakeLists.txt | 12 ++++++------ tests/Makefile.am | 16 +++++++++------- tests/jamfile | 2 +- tests/testDailyRollingFileAppender.cpp | 4 ++-- ...> testDailyRollingFileAppender.log4cpp.nt.properties} | 0 ...s => testDailyRollingFileAppender.log4cpp.properties} | 0 tests/testPropConfig.cpp | 6 +++--- ....nt.property => testPropConfig.log4cpp.nt.properties} | 0 ...og4cpp.property => testPropConfig.log4cpp.properties} | 0 tests/testPropertyConfig.cpp | 6 +++--- ....properties => testPropertyConfig.log4cpp.properties} | 0 tests/{testConfig.cpp => testSimpleConfig.cpp} | 6 +++--- tests/{log4cpp.init => testSimpleConfig.log4cpp.init} | 0 tests/testmain.cpp | 1 + 23 files changed, 56 insertions(+), 50 deletions(-) rename tests/{testConfig.log4cpp.dailyroll.nt.properties => testDailyRollingFileAppender.log4cpp.nt.properties} (100%) rename tests/{testConfig.log4cpp.dailyroll.properties => testDailyRollingFileAppender.log4cpp.properties} (100%) rename tests/{log4cpp.nt.property => testPropConfig.log4cpp.nt.properties} (100%) rename tests/{log4cpp.property => testPropConfig.log4cpp.properties} (100%) rename tests/{testConfig.log4cpp.properties => testPropertyConfig.log4cpp.properties} (100%) rename tests/{testConfig.cpp => testSimpleConfig.cpp} (91%) rename tests/{log4cpp.init => testSimpleConfig.log4cpp.init} (100%) hooks/post-receive -- Log4cpp Git repository. |
| From: <log...@li...> - 2026-02-11 22:46:25 |
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Log4cpp Git repository.". The branch, master has been updated via 95bb9cc7e65302754f1d14ba81d47e6ce7bd95fb (commit) via f473c4542e1ee7c60ca6cb2ebcd9e88a523a09fa (commit) via ec038de18f8db6f49f4a7b4e3d38bd8084e3bb20 (commit) via 5b1d56f234254000db81062acb07b7e51a7b6e12 (commit) from f88cdf00ece1dbe04cd97bf78b614775e72e2e98 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- http://sourceforge.net/p/log4cpp/codegit/ci/ commit 95bb9cc7e65302754f1d14ba81d47e6ce7bd95fb Author: Alexander Perepelkin <san...@us...> Date: Wed Feb 11 23:13:37 2026 +0100 CMake: add test build support using CTest Collect test*.cpp sources, build them against log4cpp (shared or static), and register tests with CTest. diff --git a/CMakeLists.txt b/CMakeLists.txt index e9a3efe..bf1527e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -220,6 +220,8 @@ INSTALL ( DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/log4cpp ) +ENABLE_TESTING() +ADD_SUBDIRECTORY ( tests ) IF ( LOG4CPP_BUILD_EXAMPLES AND LOG4CPP_IS_TOP_LEVEL ) ADD_SUBDIRECTORY ( examples ) ENDIF () diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt new file mode 100644 index 0000000..5746144 --- /dev/null +++ b/tests/CMakeLists.txt @@ -0,0 +1,104 @@ +# CMakeLists.txt +# +# Alexander Perepelkin san...@us... +# +# Builds tests for log4cpp. +# Collects all test source files in this directory and builds them against the log4cpp library and threading support. +# Tests can be executed using CTest. + +cmake_minimum_required(VERSION 3.10) + +project(log4cpp_tests LANGUAGES CXX) + +if(NOT TARGET log4cpp::log4cpp_shared) + message(STATUS "log4cpp::log4cpp_shared target not defined") +endif() + +# pthread is needed on POSIX for threading +find_package(Threads REQUIRED) + +# There are few CppUnit based test cases to include yet: +#find_package(CppUnit REQUIRED) + +# Gather test sources +file(GLOB TEST_EXECUTABLE_SOURCES "test*.cpp") +# Remove CppUnit-based file for now +list(REMOVE_ITEM TEST_EXECUTABLE_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/testNDCMain.cpp") + +if(WIN32) + list(REMOVE_ITEM TEST_EXECUTABLE_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/testbench.cpp") +else() + list(REMOVE_ITEM TEST_EXECUTABLE_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/testNTEventLog.cpp") +endif() + +# Helper sources (with no main function) +set(TEST_AUX_SOURCES) + +if(NOT WIN32) +list(APPEND TEST_AUX_SOURCES + Clock.cpp +) +endif() + +if(TEST_EXECUTABLE_SOURCES) + message(STATUS "Found test source files: ${TEST_EXECUTABLE_SOURCES}") +else() + message(WARNING "No test sources found in ${CMAKE_CURRENT_SOURCE_DIR}") +endif() + +if(TARGET log4cpp::log4cpp_shared) + set(LOG4CPP_TEST_LIB log4cpp::log4cpp_shared) +elseif(TARGET log4cpp::log4cpp_static) + set(LOG4CPP_TEST_LIB log4cpp::log4cpp_static) +else() + message(FATAL_ERROR "No log4cpp::log4cpp_shared or log4cpp::log4cpp_static library target found") +endif() + +# Build each test as an executable +foreach(test_source IN LISTS TEST_EXECUTABLE_SOURCES) + # Remove extension to form target name + get_filename_component(test_name ${test_source} NAME_WE) + + add_executable(${test_name} ${test_source} ${TEST_AUX_SOURCES}) + + # include src dir for "Properties.hh" + TARGET_INCLUDE_DIRECTORIES ( ${test_name} + PUBLIC + $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/src> + $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}> + ) + # Link against log4cpp (shared or static) and threads; includes are added automatically + target_link_libraries(${test_name} PRIVATE ${LOG4CPP_TEST_LIB} Threads::Threads) + + # Add test to CTest + add_test(NAME ${test_name} COMMAND ${test_name}) + set_tests_properties(${test_name} PROPERTIES WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) +endforeach() + +# List of resource files to copy +set(TEST_RESOURCE_FILES + "${CMAKE_CURRENT_SOURCE_DIR}/log4cpp.init" + "${CMAKE_CURRENT_SOURCE_DIR}/log4cpp.nt.property" + "${CMAKE_CURRENT_SOURCE_DIR}/log4cpp.properties" + "${CMAKE_CURRENT_SOURCE_DIR}/log4cpp.property" + "${CMAKE_CURRENT_SOURCE_DIR}/testConfig.log4cpp.dailyroll.properties" + "${CMAKE_CURRENT_SOURCE_DIR}/testConfig.log4cpp.dailyroll.nt.properties" + "${CMAKE_CURRENT_SOURCE_DIR}/testConfig.log4cpp.properties" + "${CMAKE_CURRENT_SOURCE_DIR}/testProperties.properties" +) + +# Directory where resources will be copied +set(TEST_RESOURCE_DIR "${CMAKE_CURRENT_BINARY_DIR}") + +# Copy all resources at once +add_custom_target(copy_test_resources ALL + COMMAND ${CMAKE_COMMAND} -E make_directory ${TEST_RESOURCE_DIR} + COMMAND ${CMAKE_COMMAND} -E copy_if_different + ${TEST_RESOURCE_FILES} + ${TEST_RESOURCE_DIR} + # Copy directory nesteddir + COMMAND ${CMAKE_COMMAND} -E copy_directory + ${CMAKE_CURRENT_SOURCE_DIR}/nesteddir + ${TEST_RESOURCE_DIR}/nesteddir + COMMENT "Copying test resource files to ${TEST_RESOURCE_DIR}" +) http://sourceforge.net/p/log4cpp/codegit/ci/ commit 95bb9cc7e65302754f1d14ba81d47e6ce7bd95fb Author: Alexander Perepelkin <san...@us...> Date: Wed Feb 11 23:13:37 2026 +0100 CMake: add test build support using CTest Collect test*.cpp sources, build them against log4cpp (shared or static), and register tests with CTest. diff --git a/CMakeLists.txt b/CMakeLists.txt index e9a3efe..bf1527e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -220,6 +220,8 @@ INSTALL ( DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/log4cpp ) +ENABLE_TESTING() +ADD_SUBDIRECTORY ( tests ) IF ( LOG4CPP_BUILD_EXAMPLES AND LOG4CPP_IS_TOP_LEVEL ) ADD_SUBDIRECTORY ( examples ) ENDIF () diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt new file mode 100644 index 0000000..5746144 --- /dev/null +++ b/tests/CMakeLists.txt @@ -0,0 +1,104 @@ +# CMakeLists.txt +# +# Alexander Perepelkin san...@us... +# +# Builds tests for log4cpp. +# Collects all test source files in this directory and builds them against the log4cpp library and threading support. +# Tests can be executed using CTest. + +cmake_minimum_required(VERSION 3.10) + +project(log4cpp_tests LANGUAGES CXX) + +if(NOT TARGET log4cpp::log4cpp_shared) + message(STATUS "log4cpp::log4cpp_shared target not defined") +endif() + +# pthread is needed on POSIX for threading +find_package(Threads REQUIRED) + +# There are few CppUnit based test cases to include yet: +#find_package(CppUnit REQUIRED) + +# Gather test sources +file(GLOB TEST_EXECUTABLE_SOURCES "test*.cpp") +# Remove CppUnit-based file for now +list(REMOVE_ITEM TEST_EXECUTABLE_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/testNDCMain.cpp") + +if(WIN32) + list(REMOVE_ITEM TEST_EXECUTABLE_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/testbench.cpp") +else() + list(REMOVE_ITEM TEST_EXECUTABLE_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/testNTEventLog.cpp") +endif() + +# Helper sources (with no main function) +set(TEST_AUX_SOURCES) + +if(NOT WIN32) +list(APPEND TEST_AUX_SOURCES + Clock.cpp +) +endif() + +if(TEST_EXECUTABLE_SOURCES) + message(STATUS "Found test source files: ${TEST_EXECUTABLE_SOURCES}") +else() + message(WARNING "No test sources found in ${CMAKE_CURRENT_SOURCE_DIR}") +endif() + +if(TARGET log4cpp::log4cpp_shared) + set(LOG4CPP_TEST_LIB log4cpp::log4cpp_shared) +elseif(TARGET log4cpp::log4cpp_static) + set(LOG4CPP_TEST_LIB log4cpp::log4cpp_static) +else() + message(FATAL_ERROR "No log4cpp::log4cpp_shared or log4cpp::log4cpp_static library target found") +endif() + +# Build each test as an executable +foreach(test_source IN LISTS TEST_EXECUTABLE_SOURCES) + # Remove extension to form target name + get_filename_component(test_name ${test_source} NAME_WE) + + add_executable(${test_name} ${test_source} ${TEST_AUX_SOURCES}) + + # include src dir for "Properties.hh" + TARGET_INCLUDE_DIRECTORIES ( ${test_name} + PUBLIC + $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/src> + $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}> + ) + # Link against log4cpp (shared or static) and threads; includes are added automatically + target_link_libraries(${test_name} PRIVATE ${LOG4CPP_TEST_LIB} Threads::Threads) + + # Add test to CTest + add_test(NAME ${test_name} COMMAND ${test_name}) + set_tests_properties(${test_name} PROPERTIES WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) +endforeach() + +# List of resource files to copy +set(TEST_RESOURCE_FILES + "${CMAKE_CURRENT_SOURCE_DIR}/log4cpp.init" + "${CMAKE_CURRENT_SOURCE_DIR}/log4cpp.nt.property" + "${CMAKE_CURRENT_SOURCE_DIR}/log4cpp.properties" + "${CMAKE_CURRENT_SOURCE_DIR}/log4cpp.property" + "${CMAKE_CURRENT_SOURCE_DIR}/testConfig.log4cpp.dailyroll.properties" + "${CMAKE_CURRENT_SOURCE_DIR}/testConfig.log4cpp.dailyroll.nt.properties" + "${CMAKE_CURRENT_SOURCE_DIR}/testConfig.log4cpp.properties" + "${CMAKE_CURRENT_SOURCE_DIR}/testProperties.properties" +) + +# Directory where resources will be copied +set(TEST_RESOURCE_DIR "${CMAKE_CURRENT_BINARY_DIR}") + +# Copy all resources at once +add_custom_target(copy_test_resources ALL + COMMAND ${CMAKE_COMMAND} -E make_directory ${TEST_RESOURCE_DIR} + COMMAND ${CMAKE_COMMAND} -E copy_if_different + ${TEST_RESOURCE_FILES} + ${TEST_RESOURCE_DIR} + # Copy directory nesteddir + COMMAND ${CMAKE_COMMAND} -E copy_directory + ${CMAKE_CURRENT_SOURCE_DIR}/nesteddir + ${TEST_RESOURCE_DIR}/nesteddir + COMMENT "Copying test resource files to ${TEST_RESOURCE_DIR}" +) http://sourceforge.net/p/log4cpp/codegit/ci/ commit 95bb9cc7e65302754f1d14ba81d47e6ce7bd95fb Author: Alexander Perepelkin <san...@us...> Date: Wed Feb 11 23:13:37 2026 +0100 CMake: add test build support using CTest Collect test*.cpp sources, build them against log4cpp (shared or static), and register tests with CTest. diff --git a/CMakeLists.txt b/CMakeLists.txt index e9a3efe..bf1527e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -220,6 +220,8 @@ INSTALL ( DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/log4cpp ) +ENABLE_TESTING() +ADD_SUBDIRECTORY ( tests ) IF ( LOG4CPP_BUILD_EXAMPLES AND LOG4CPP_IS_TOP_LEVEL ) ADD_SUBDIRECTORY ( examples ) ENDIF () diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt new file mode 100644 index 0000000..5746144 --- /dev/null +++ b/tests/CMakeLists.txt @@ -0,0 +1,104 @@ +# CMakeLists.txt +# +# Alexander Perepelkin san...@us... +# +# Builds tests for log4cpp. +# Collects all test source files in this directory and builds them against the log4cpp library and threading support. +# Tests can be executed using CTest. + +cmake_minimum_required(VERSION 3.10) + +project(log4cpp_tests LANGUAGES CXX) + +if(NOT TARGET log4cpp::log4cpp_shared) + message(STATUS "log4cpp::log4cpp_shared target not defined") +endif() + +# pthread is needed on POSIX for threading +find_package(Threads REQUIRED) + +# There are few CppUnit based test cases to include yet: +#find_package(CppUnit REQUIRED) + +# Gather test sources +file(GLOB TEST_EXECUTABLE_SOURCES "test*.cpp") +# Remove CppUnit-based file for now +list(REMOVE_ITEM TEST_EXECUTABLE_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/testNDCMain.cpp") + +if(WIN32) + list(REMOVE_ITEM TEST_EXECUTABLE_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/testbench.cpp") +else() + list(REMOVE_ITEM TEST_EXECUTABLE_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/testNTEventLog.cpp") +endif() + +# Helper sources (with no main function) +set(TEST_AUX_SOURCES) + +if(NOT WIN32) +list(APPEND TEST_AUX_SOURCES + Clock.cpp +) +endif() + +if(TEST_EXECUTABLE_SOURCES) + message(STATUS "Found test source files: ${TEST_EXECUTABLE_SOURCES}") +else() + message(WARNING "No test sources found in ${CMAKE_CURRENT_SOURCE_DIR}") +endif() + +if(TARGET log4cpp::log4cpp_shared) + set(LOG4CPP_TEST_LIB log4cpp::log4cpp_shared) +elseif(TARGET log4cpp::log4cpp_static) + set(LOG4CPP_TEST_LIB log4cpp::log4cpp_static) +else() + message(FATAL_ERROR "No log4cpp::log4cpp_shared or log4cpp::log4cpp_static library target found") +endif() + +# Build each test as an executable +foreach(test_source IN LISTS TEST_EXECUTABLE_SOURCES) + # Remove extension to form target name + get_filename_component(test_name ${test_source} NAME_WE) + + add_executable(${test_name} ${test_source} ${TEST_AUX_SOURCES}) + + # include src dir for "Properties.hh" + TARGET_INCLUDE_DIRECTORIES ( ${test_name} + PUBLIC + $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/src> + $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}> + ) + # Link against log4cpp (shared or static) and threads; includes are added automatically + target_link_libraries(${test_name} PRIVATE ${LOG4CPP_TEST_LIB} Threads::Threads) + + # Add test to CTest + add_test(NAME ${test_name} COMMAND ${test_name}) + set_tests_properties(${test_name} PROPERTIES WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) +endforeach() + +# List of resource files to copy +set(TEST_RESOURCE_FILES + "${CMAKE_CURRENT_SOURCE_DIR}/log4cpp.init" + "${CMAKE_CURRENT_SOURCE_DIR}/log4cpp.nt.property" + "${CMAKE_CURRENT_SOURCE_DIR}/log4cpp.properties" + "${CMAKE_CURRENT_SOURCE_DIR}/log4cpp.property" + "${CMAKE_CURRENT_SOURCE_DIR}/testConfig.log4cpp.dailyroll.properties" + "${CMAKE_CURRENT_SOURCE_DIR}/testConfig.log4cpp.dailyroll.nt.properties" + "${CMAKE_CURRENT_SOURCE_DIR}/testConfig.log4cpp.properties" + "${CMAKE_CURRENT_SOURCE_DIR}/testProperties.properties" +) + +# Directory where resources will be copied +set(TEST_RESOURCE_DIR "${CMAKE_CURRENT_BINARY_DIR}") + +# Copy all resources at once +add_custom_target(copy_test_resources ALL + COMMAND ${CMAKE_COMMAND} -E make_directory ${TEST_RESOURCE_DIR} + COMMAND ${CMAKE_COMMAND} -E copy_if_different + ${TEST_RESOURCE_FILES} + ${TEST_RESOURCE_DIR} + # Copy directory nesteddir + COMMAND ${CMAKE_COMMAND} -E copy_directory + ${CMAKE_CURRENT_SOURCE_DIR}/nesteddir + ${TEST_RESOURCE_DIR}/nesteddir + COMMENT "Copying test resource files to ${TEST_RESOURCE_DIR}" +) http://sourceforge.net/p/log4cpp/codegit/ci/ commit 95bb9cc7e65302754f1d14ba81d47e6ce7bd95fb Author: Alexander Perepelkin <san...@us...> Date: Wed Feb 11 23:13:37 2026 +0100 CMake: add test build support using CTest Collect test*.cpp sources, build them against log4cpp (shared or static), and register tests with CTest. diff --git a/CMakeLists.txt b/CMakeLists.txt index e9a3efe..bf1527e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -220,6 +220,8 @@ INSTALL ( DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/log4cpp ) +ENABLE_TESTING() +ADD_SUBDIRECTORY ( tests ) IF ( LOG4CPP_BUILD_EXAMPLES AND LOG4CPP_IS_TOP_LEVEL ) ADD_SUBDIRECTORY ( examples ) ENDIF () diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt new file mode 100644 index 0000000..5746144 --- /dev/null +++ b/tests/CMakeLists.txt @@ -0,0 +1,104 @@ +# CMakeLists.txt +# +# Alexander Perepelkin san...@us... +# +# Builds tests for log4cpp. +# Collects all test source files in this directory and builds them against the log4cpp library and threading support. +# Tests can be executed using CTest. + +cmake_minimum_required(VERSION 3.10) + +project(log4cpp_tests LANGUAGES CXX) + +if(NOT TARGET log4cpp::log4cpp_shared) + message(STATUS "log4cpp::log4cpp_shared target not defined") +endif() + +# pthread is needed on POSIX for threading +find_package(Threads REQUIRED) + +# There are few CppUnit based test cases to include yet: +#find_package(CppUnit REQUIRED) + +# Gather test sources +file(GLOB TEST_EXECUTABLE_SOURCES "test*.cpp") +# Remove CppUnit-based file for now +list(REMOVE_ITEM TEST_EXECUTABLE_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/testNDCMain.cpp") + +if(WIN32) + list(REMOVE_ITEM TEST_EXECUTABLE_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/testbench.cpp") +else() + list(REMOVE_ITEM TEST_EXECUTABLE_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/testNTEventLog.cpp") +endif() + +# Helper sources (with no main function) +set(TEST_AUX_SOURCES) + +if(NOT WIN32) +list(APPEND TEST_AUX_SOURCES + Clock.cpp +) +endif() + +if(TEST_EXECUTABLE_SOURCES) + message(STATUS "Found test source files: ${TEST_EXECUTABLE_SOURCES}") +else() + message(WARNING "No test sources found in ${CMAKE_CURRENT_SOURCE_DIR}") +endif() + +if(TARGET log4cpp::log4cpp_shared) + set(LOG4CPP_TEST_LIB log4cpp::log4cpp_shared) +elseif(TARGET log4cpp::log4cpp_static) + set(LOG4CPP_TEST_LIB log4cpp::log4cpp_static) +else() + message(FATAL_ERROR "No log4cpp::log4cpp_shared or log4cpp::log4cpp_static library target found") +endif() + +# Build each test as an executable +foreach(test_source IN LISTS TEST_EXECUTABLE_SOURCES) ... 62 lines suppressed ... hooks/post-receive -- Log4cpp Git repository. |
| From: <log...@li...> - 2026-02-10 22:07:47 |
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Log4cpp Git repository.". The branch, master has been updated via f88cdf00ece1dbe04cd97bf78b614775e72e2e98 (commit) via 757e846946ce77fc503e5f4a7ebe0e107bf2a269 (commit) via 4ca28ef4d07a107fbb3286e1c4d332b74d383a0b (commit) via c08c0dab44048dd6b6949c9c3bcbb2990c38aef9 (commit) from 4d87c33c33d070210f5805f052bdd1905b8de845 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- http://sourceforge.net/p/log4cpp/codegit/ci/ commit f88cdf00ece1dbe04cd97bf78b614775e72e2e98 Author: Alexander Perepelkin <san...@us...> Date: Tue Feb 10 16:22:33 2026 +0100 Building examples is enabled via the LOG4CPP_BUILD_EXAMPLES option. CMake usage examples are provided for both scenarios: importing a CMake-installed log4cpp library and using log4cpp as a CMake subproject. Both shared and static library variants are demonstrated. The CMake usage examples can be built either as part of the log4cpp library (when LOG4CPP_BUILD_EXAMPLES is enabled) or as standalone CMake applications that import or include log4cpp from their own directories. diff --git a/CMakeLists.txt b/CMakeLists.txt index e55761a..18eabeb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,7 +3,7 @@ # Alexander Perepelkin san...@us... # # Note: -# (1) A dummy file include/config.h is required (remnant from configure) +# (1) A dummy file include/config.h is required (remnant from configure, produced by command ./configure) # (2) Default installation directory is /usr/local, override with -DCMAKE_INSTALL_PREFIX="" during cmake # invocation # (3) Do the usual "make clean all" to build the library @@ -20,12 +20,20 @@ INCLUDE ( CMakePackageConfigHelpers ) SET ( LOG4CPP_LIBRARY_NAME "log4cpp" ) #SET ( CMAKE_VERBOSE_MAKEFILE ON ) +IF ( CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR ) + SET ( LOG4CPP_IS_TOP_LEVEL ON ) +ELSE () + SET ( LOG4CPP_IS_TOP_LEVEL OFF ) +ENDIF () + FIND_PACKAGE ( Threads REQUIRED ) IF (NOT CMAKE_BUILD_TYPE) SET ( CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build." ) ENDIF () +OPTION ( LOG4CPP_BUILD_EXAMPLES "Build log4cpp examples" OFF ) + # for macOS use var APPLE IF (WIN32) SET ( CMAKE_DEBUG_POSTFIX "D" ) @@ -199,3 +207,7 @@ INSTALL ( ${CMAKE_CURRENT_BINARY_DIR}/log4cppConfigVersion.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/log4cpp ) + +IF ( LOG4CPP_BUILD_EXAMPLES AND LOG4CPP_IS_TOP_LEVEL ) + ADD_SUBDIRECTORY ( examples ) +ENDIF () diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt new file mode 100644 index 0000000..1bf2417 --- /dev/null +++ b/examples/CMakeLists.txt @@ -0,0 +1,6 @@ +# examples/CMakeLists.txt +# Forward building to subdirectories if examples are enabled + +if(LOG4CPP_BUILD_EXAMPLES) + add_subdirectory(cmake_usages) +endif() diff --git a/examples/cmake_usages/CMakeLists.txt b/examples/cmake_usages/CMakeLists.txt new file mode 100644 index 0000000..9066bb2 --- /dev/null +++ b/examples/cmake_usages/CMakeLists.txt @@ -0,0 +1,5 @@ +# examples/cmake_usages/CMakeLists.txt +# Add each subfolder example + +add_subdirectory(log4cpp_as_package) +add_subdirectory(log4cpp_as_subproject) diff --git a/examples/cmake_usages/log4cpp_as_package/CMakeLists.txt b/examples/cmake_usages/log4cpp_as_package/CMakeLists.txt new file mode 100644 index 0000000..50cc3f0 --- /dev/null +++ b/examples/cmake_usages/log4cpp_as_package/CMakeLists.txt @@ -0,0 +1,42 @@ +# +# Note: +# Example builds two targets, each against either shared or static log4cpp library. +# If only one of them is available, linking to another one should be removed. +# +cmake_minimum_required(VERSION 3.10) +project(log4cpp_as_package_example LANGUAGES CXX) + +# Determine if this example is being built standalone and not being included from top-level CMake as one of examples +get_directory_property(HAS_PARENT PARENT_DIRECTORY) +if(NOT HAS_PARENT) + set(EXAMPLE_BUILT_ALONE ON) +else() + set(EXAMPLE_BUILT_ALONE OFF) +endif() + +# If built standalone, find the (already) installed log4cpp package +if(EXAMPLE_BUILT_ALONE) + # Find log4cpp installed via CMake export files + find_package(log4cpp REQUIRED) +endif() + +# Create executable linked to shared library +add_executable(log4cpp_as_package_example log4cpp_as_package.cpp) +# Create executable with static library +add_executable(log4cpp_as_package_example_static log4cpp_as_package.cpp) + +target_compile_features(log4cpp_as_package_example PUBLIC cxx_std_17) +target_compile_features(log4cpp_as_package_example_static PUBLIC cxx_std_17) + +# Link 1st exe against log4cpp shared library +target_link_libraries(log4cpp_as_package_example PRIVATE log4cpp::log4cpp_shared) +# Link 2nd exe against log4cpp static library +target_link_libraries(log4cpp_as_package_example_static PRIVATE log4cpp::log4cpp_static) + +# when linking to log4cpp::log4cpp_static, link to threads shared lib too +find_package(Threads REQUIRED) +target_link_libraries(log4cpp_as_package_example_static PRIVATE Threads::Threads) + +file(COPY ${PROJECT_SOURCE_DIR}/resources +# DESTINATION ${CMAKE_BINARY_DIR}) + DESTINATION .) diff --git a/examples/cmake_usages/log4cpp_as_package/log4cpp_as_package.cpp b/examples/cmake_usages/log4cpp_as_package/log4cpp_as_package.cpp new file mode 100644 index 0000000..84006a3 --- /dev/null +++ b/examples/cmake_usages/log4cpp_as_package/log4cpp_as_package.cpp @@ -0,0 +1,17 @@ +#include <filesystem> +#include <log4cpp/Category.hh> + +#include "log4cpp/PropertyConfigurator.hh" + +// Specify the directory that contains log4cpp’s CMake configuration files when running CMake configuration: +// cmake <...> -Dlog4cpp_DIR=<log4cpp_installation_path>/lib/cmake/log4cpp +int main() { + std::filesystem::path initFile = std::filesystem::current_path() / "resources" / "log4cpp.properties"; + std::string initFileName = initFile.string(); + + log4cpp::PropertyConfigurator::configure(initFileName); + log4cpp::Category &root = log4cpp::Category::getRoot(); + + root.info("Hello, log4cpp lib as imported cmake package!"); + return 0; +} diff --git a/examples/cmake_usages/log4cpp_as_package/resources/log4cpp.properties b/examples/cmake_usages/log4cpp_as_package/resources/log4cpp.properties new file mode 100644 index 0000000..c965d1b --- /dev/null +++ b/examples/cmake_usages/log4cpp_as_package/resources/log4cpp.properties @@ -0,0 +1,6 @@ +# log4cpp.properties + +log4cpp.rootCategory=DEBUG, rootAppender +log4cpp.appender.rootAppender=ConsoleAppender +log4cpp.appender.rootAppender.layout=PatternLayout +log4cpp.appender.rootAppender.layout.ConversionPattern=%d [%p] %m%n \ No newline at end of file diff --git a/examples/cmake_usages/log4cpp_as_subproject/CMakeLists.txt b/examples/cmake_usages/log4cpp_as_subproject/CMakeLists.txt new file mode 100644 index 0000000..b0dd862 --- /dev/null +++ b/examples/cmake_usages/log4cpp_as_subproject/CMakeLists.txt @@ -0,0 +1,50 @@ +# +# Note: +# Example builds two targets, each against either shared or static log4cpp library. +# If only one of them is available, linking to another one should be removed. +# +cmake_minimum_required(VERSION 3.10) +project(log4cpp_as_subproject_example LANGUAGES CXX) + +# Ensure shared libraries are built by subprojects +#set(BUILD_SHARED_LIBS ON CACHE BOOL "") + +# Determine if this example is being built standalone and not being included from top-level CMake as one of examples +get_directory_property(HAS_PARENT PARENT_DIRECTORY) +if(NOT HAS_PARENT) + set(EXAMPLE_BUILT_ALONE ON) +else() + set(EXAMPLE_BUILT_ALONE OFF) +endif() + +# If built standalone, add the project log4cpp as a subproject (subdirectory) +if(EXAMPLE_BUILT_ALONE) + add_subdirectory(../../.. log4cpp-build) +endif() + +# Sanity check: we require shared log4cpp +#if(NOT TARGET log4cpp::log4cpp_shared) +# message(FATAL_ERROR "log4cpp::log4cpp_shared target not available") +#endif() + +# Sanity check: we require static log4cpp +#if(NOT TARGET log4cpp::log4cpp_static) +# message(FATAL_ERROR "log4cpp::log4cpp_static target not available") +#endif() + +# Create executable linked to shared library +add_executable(log4cpp_as_subproject_example log4cpp_as_subproject.cpp) +# Create executable with static library +add_executable(log4cpp_as_subproject_example_static log4cpp_as_subproject.cpp) + +target_compile_features(log4cpp_as_subproject_example PUBLIC cxx_std_17) +target_compile_features(log4cpp_as_subproject_example_static PUBLIC cxx_std_17) + +# Link 1st exe against log4cpp shared library +target_link_libraries(log4cpp_as_subproject_example PRIVATE log4cpp::log4cpp_shared) +# Link 2nd exe against log4cpp static library +target_link_libraries(log4cpp_as_subproject_example_static PRIVATE log4cpp::log4cpp_static) + +file(COPY ${PROJECT_SOURCE_DIR}/resources + # DESTINATION ${CMAKE_BINARY_DIR}) + DESTINATION .) diff --git a/examples/cmake_usages/log4cpp_as_subproject/log4cpp_as_subproject.cpp b/examples/cmake_usages/log4cpp_as_subproject/log4cpp_as_subproject.cpp new file mode 100644 index 0000000..5cb0ced --- /dev/null +++ b/examples/cmake_usages/log4cpp_as_subproject/log4cpp_as_subproject.cpp @@ -0,0 +1,17 @@ +#include <filesystem> +#include <log4cpp/Category.hh> + +#include "log4cpp/PropertyConfigurator.hh" + +// The log4cpp CMake project is included as a subdirectory, +// and the entire log4cpp library is built as part of this Cmake project. +int main() { + std::filesystem::path initFile = std::filesystem::current_path() / "resources" / "log4cpp.properties"; + std::string initFileName = initFile.string(); + + log4cpp::PropertyConfigurator::configure(initFileName); + log4cpp::Category &root = log4cpp::Category::getRoot(); + + root.info("Hello, log4cpp lib as cmake subdirectory!"); + return 0; +} diff --git a/examples/cmake_usages/log4cpp_as_subproject/resources/log4cpp.properties b/examples/cmake_usages/log4cpp_as_subproject/resources/log4cpp.properties new file mode 100644 index 0000000..c965d1b --- /dev/null +++ b/examples/cmake_usages/log4cpp_as_subproject/resources/log4cpp.properties @@ -0,0 +1,6 @@ +# log4cpp.properties + +log4cpp.rootCategory=DEBUG, rootAppender +log4cpp.appender.rootAppender=ConsoleAppender +log4cpp.appender.rootAppender.layout=PatternLayout +log4cpp.appender.rootAppender.layout.ConversionPattern=%d [%p] %m%n \ No newline at end of file http://sourceforge.net/p/log4cpp/codegit/ci/ commit f88cdf00ece1dbe04cd97bf78b614775e72e2e98 Author: Alexander Perepelkin <san...@us...> Date: Tue Feb 10 16:22:33 2026 +0100 Building examples is enabled via the LOG4CPP_BUILD_EXAMPLES option. CMake usage examples are provided for both scenarios: importing a CMake-installed log4cpp library and using log4cpp as a CMake subproject. Both shared and static library variants are demonstrated. The CMake usage examples can be built either as part of the log4cpp library (when LOG4CPP_BUILD_EXAMPLES is enabled) or as standalone CMake applications that import or include log4cpp from their own directories. diff --git a/CMakeLists.txt b/CMakeLists.txt index e55761a..18eabeb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,7 +3,7 @@ # Alexander Perepelkin san...@us... # # Note: -# (1) A dummy file include/config.h is required (remnant from configure) +# (1) A dummy file include/config.h is required (remnant from configure, produced by command ./configure) # (2) Default installation directory is /usr/local, override with -DCMAKE_INSTALL_PREFIX="" during cmake # invocation # (3) Do the usual "make clean all" to build the library @@ -20,12 +20,20 @@ INCLUDE ( CMakePackageConfigHelpers ) SET ( LOG4CPP_LIBRARY_NAME "log4cpp" ) #SET ( CMAKE_VERBOSE_MAKEFILE ON ) +IF ( CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR ) + SET ( LOG4CPP_IS_TOP_LEVEL ON ) +ELSE () + SET ( LOG4CPP_IS_TOP_LEVEL OFF ) +ENDIF () + FIND_PACKAGE ( Threads REQUIRED ) IF (NOT CMAKE_BUILD_TYPE) SET ( CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build." ) ENDIF () +OPTION ( LOG4CPP_BUILD_EXAMPLES "Build log4cpp examples" OFF ) + # for macOS use var APPLE IF (WIN32) SET ( CMAKE_DEBUG_POSTFIX "D" ) @@ -199,3 +207,7 @@ INSTALL ( ${CMAKE_CURRENT_BINARY_DIR}/log4cppConfigVersion.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/log4cpp ) + +IF ( LOG4CPP_BUILD_EXAMPLES AND LOG4CPP_IS_TOP_LEVEL ) + ADD_SUBDIRECTORY ( examples ) +ENDIF () diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt new file mode 100644 index 0000000..1bf2417 --- /dev/null +++ b/examples/CMakeLists.txt @@ -0,0 +1,6 @@ +# examples/CMakeLists.txt +# Forward building to subdirectories if examples are enabled + +if(LOG4CPP_BUILD_EXAMPLES) + add_subdirectory(cmake_usages) +endif() diff --git a/examples/cmake_usages/CMakeLists.txt b/examples/cmake_usages/CMakeLists.txt new file mode 100644 index 0000000..9066bb2 --- /dev/null +++ b/examples/cmake_usages/CMakeLists.txt @@ -0,0 +1,5 @@ +# examples/cmake_usages/CMakeLists.txt +# Add each subfolder example + +add_subdirectory(log4cpp_as_package) +add_subdirectory(log4cpp_as_subproject) diff --git a/examples/cmake_usages/log4cpp_as_package/CMakeLists.txt b/examples/cmake_usages/log4cpp_as_package/CMakeLists.txt new file mode 100644 index 0000000..50cc3f0 --- /dev/null +++ b/examples/cmake_usages/log4cpp_as_package/CMakeLists.txt @@ -0,0 +1,42 @@ +# +# Note: +# Example builds two targets, each against either shared or static log4cpp library. +# If only one of them is available, linking to another one should be removed. +# +cmake_minimum_required(VERSION 3.10) +project(log4cpp_as_package_example LANGUAGES CXX) + +# Determine if this example is being built standalone and not being included from top-level CMake as one of examples +get_directory_property(HAS_PARENT PARENT_DIRECTORY) +if(NOT HAS_PARENT) + set(EXAMPLE_BUILT_ALONE ON) +else() + set(EXAMPLE_BUILT_ALONE OFF) +endif() + +# If built standalone, find the (already) installed log4cpp package +if(EXAMPLE_BUILT_ALONE) + # Find log4cpp installed via CMake export files + find_package(log4cpp REQUIRED) +endif() + +# Create executable linked to shared library +add_executable(log4cpp_as_package_example log4cpp_as_package.cpp) +# Create executable with static library +add_executable(log4cpp_as_package_example_static log4cpp_as_package.cpp) + +target_compile_features(log4cpp_as_package_example PUBLIC cxx_std_17) +target_compile_features(log4cpp_as_package_example_static PUBLIC cxx_std_17) + +# Link 1st exe against log4cpp shared library +target_link_libraries(log4cpp_as_package_example PRIVATE log4cpp::log4cpp_shared) +# Link 2nd exe against log4cpp static library +target_link_libraries(log4cpp_as_package_example_static PRIVATE log4cpp::log4cpp_static) + +# when linking to log4cpp::log4cpp_static, link to threads shared lib too +find_package(Threads REQUIRED) +target_link_libraries(log4cpp_as_package_example_static PRIVATE Threads::Threads) + +file(COPY ${PROJECT_SOURCE_DIR}/resources +# DESTINATION ${CMAKE_BINARY_DIR}) + DESTINATION .) diff --git a/examples/cmake_usages/log4cpp_as_package/log4cpp_as_package.cpp b/examples/cmake_usages/log4cpp_as_package/log4cpp_as_package.cpp new file mode 100644 index 0000000..84006a3 --- /dev/null +++ b/examples/cmake_usages/log4cpp_as_package/log4cpp_as_package.cpp @@ -0,0 +1,17 @@ +#include <filesystem> +#include <log4cpp/Category.hh> + +#include "log4cpp/PropertyConfigurator.hh" + +// Specify the directory that contains log4cpp’s CMake configuration files when running CMake configuration: +// cmake <...> -Dlog4cpp_DIR=<log4cpp_installation_path>/lib/cmake/log4cpp +int main() { + std::filesystem::path initFile = std::filesystem::current_path() / "resources" / "log4cpp.properties"; + std::string initFileName = initFile.string(); + + log4cpp::PropertyConfigurator::configure(initFileName); + log4cpp::Category &root = log4cpp::Category::getRoot(); + + root.info("Hello, log4cpp lib as imported cmake package!"); + return 0; +} diff --git a/examples/cmake_usages/log4cpp_as_package/resources/log4cpp.properties b/examples/cmake_usages/log4cpp_as_package/resources/log4cpp.properties new file mode 100644 index 0000000..c965d1b --- /dev/null +++ b/examples/cmake_usages/log4cpp_as_package/resources/log4cpp.properties @@ -0,0 +1,6 @@ +# log4cpp.properties + +log4cpp.rootCategory=DEBUG, rootAppender +log4cpp.appender.rootAppender=ConsoleAppender +log4cpp.appender.rootAppender.layout=PatternLayout +log4cpp.appender.rootAppender.layout.ConversionPattern=%d [%p] %m%n \ No newline at end of file diff --git a/examples/cmake_usages/log4cpp_as_subproject/CMakeLists.txt b/examples/cmake_usages/log4cpp_as_subproject/CMakeLists.txt new file mode 100644 index 0000000..b0dd862 --- /dev/null +++ b/examples/cmake_usages/log4cpp_as_subproject/CMakeLists.txt @@ -0,0 +1,50 @@ +# +# Note: +# Example builds two targets, each against either shared or static log4cpp library. +# If only one of them is available, linking to another one should be removed. +# +cmake_minimum_required(VERSION 3.10) +project(log4cpp_as_subproject_example LANGUAGES CXX) + +# Ensure shared libraries are built by subprojects +#set(BUILD_SHARED_LIBS ON CACHE BOOL "") + +# Determine if this example is being built standalone and not being included from top-level CMake as one of examples +get_directory_property(HAS_PARENT PARENT_DIRECTORY) +if(NOT HAS_PARENT) + set(EXAMPLE_BUILT_ALONE ON) +else() + set(EXAMPLE_BUILT_ALONE OFF) +endif() + +# If built standalone, add the project log4cpp as a subproject (subdirectory) +if(EXAMPLE_BUILT_ALONE) + add_subdirectory(../../.. log4cpp-build) +endif() + +# Sanity check: we require shared log4cpp +#if(NOT TARGET log4cpp::log4cpp_shared) +# message(FATAL_ERROR "log4cpp::log4cpp_shared target not available") +#endif() + +# Sanity check: we require static log4cpp +#if(NOT TARGET log4cpp::log4cpp_static) +# message(FATAL_ERROR "log4cpp::log4cpp_static target not available") +#endif() + +# Create executable linked to shared library +add_executable(log4cpp_as_subproject_example log4cpp_as_subproject.cpp) +# Create executable with static library +add_executable(log4cpp_as_subproject_example_static log4cpp_as_subproject.cpp) + +target_compile_features(log4cpp_as_subproject_example PUBLIC cxx_std_17) +target_compile_features(log4cpp_as_subproject_example_static PUBLIC cxx_std_17) + +# Link 1st exe against log4cpp shared library +target_link_libraries(log4cpp_as_subproject_example PRIVATE log4cpp::log4cpp_shared) +# Link 2nd exe against log4cpp static library +target_link_libraries(log4cpp_as_subproject_example_static PRIVATE log4cpp::log4cpp_static) + +file(COPY ${PROJECT_SOURCE_DIR}/resources + # DESTINATION ${CMAKE_BINARY_DIR}) + DESTINATION .) diff --git a/examples/cmake_usages/log4cpp_as_subproject/log4cpp_as_subproject.cpp b/examples/cmake_usages/log4cpp_as_subproject/log4cpp_as_subproject.cpp new file mode 100644 index 0000000..5cb0ced --- /dev/null +++ b/examples/cmake_usages/log4cpp_as_subproject/log4cpp_as_subproject.cpp @@ -0,0 +1,17 @@ +#include <filesystem> +#include <log4cpp/Category.hh> + +#include "log4cpp/PropertyConfigurator.hh" + +// The log4cpp CMake project is included as a subdirectory, +// and the entire log4cpp library is built as part of this Cmake project. +int main() { + std::filesystem::path initFile = std::filesystem::current_path() / "resources" / "log4cpp.properties"; + std::string initFileName = initFile.string(); + + log4cpp::PropertyConfigurator::configure(initFileName); ... 550 lines suppressed ... hooks/post-receive -- Log4cpp Git repository. |
| From: <log...@li...> - 2026-01-20 13:56:08 |
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Log4cpp Git repository.". The branch, master has been updated via 4d87c33c33d070210f5805f052bdd1905b8de845 (commit) from 31e5cd5505fd33e4466fa1510f796ef27dd1d4f1 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- http://sourceforge.net/p/log4cpp/codegit/ci/ commit 4d87c33c33d070210f5805f052bdd1905b8de845 Author: Alexander Perepelkin <san...@us...> Date: Tue Jan 20 14:55:16 2026 +0100 Exclude documentation and configuration from Github language statistics diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..7d60464 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,3 @@ +doc/** linguist-vendored +config/** linguist-vendored +m4/** linguist-vendored \ No newline at end of file ----------------------------------------------------------------------- Summary of changes: .gitattributes | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .gitattributes hooks/post-receive -- Log4cpp Git repository. |
| From: <log...@li...> - 2025-12-12 19:46:52 |
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Log4cpp Git repository.". The branch, master has been updated via 31e5cd5505fd33e4466fa1510f796ef27dd1d4f1 (commit) via f58a52284b102314e1f0f43eb602e611225ad4f5 (commit) via ed9549d2cb68e3fe4a4e63f926fe4da31dbf4913 (commit) via 1f520aa8523ccf967a973e88345aaf86fe5bbd5a (commit) via 7eea25a6e549693835f4615eddc6956657f46279 (commit) via 6a77cc74041955f6d162977ad9320d63788266d5 (commit) from 7e80abbe6d4c6cefd674fc2952bf1e599478bf10 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- http://sourceforge.net/p/log4cpp/codegit/ci/ commit 31e5cd5505fd33e4466fa1510f796ef27dd1d4f1 Author: Alexander Perepelkin <san...@us...> Date: Fri Dec 12 20:45:16 2025 +0100 index.html, ChangeLog diff --git a/ChangeLog b/ChangeLog index ea85da3..6810876 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2025-12-12 20:18 sanchouss_ + * Fix few compilation warnings + * Reformat source codebase automatically with clang-format-21 + * Add .clang-format, BasedOnStyle: LLVM, with only minor tweaks to stay closer to the most of the current files + * Mirror git repository at github: https://github.com/log4cpp/log4cpp + 2025-11-13 20:48 sanchouss_ * CMake script update; support for Embarcadero RAD Studio 12 diff --git a/doc/html/index.html b/doc/html/index.html index c76f286..141c40a 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -15,7 +15,7 @@ for C++ Project Page on Sourceforge</a> </span> | <span>Last Published: -2025-12-01</span> |</div> +2025-12-12</span> |</div> <hr class="delimiter"> <div id="projectpage"> <div id="navigationpanel" class="lightbackground"> @@ -622,19 +622,19 @@ Log file A3.log is rolled over as soon as it reaches limit of 200 bytes, 1 backu <p> Log4cpp is moved to git <a href="https://sourceforge.net/p/log4cpp/codegit/">SourceForge Git page</a> since version 1.1.1, CVS repo is stale now. </p> - Each release will receive a tag named REL_x_y_z. - <p></p> - <p>The project uses <a href="https://www.gnu.org/software/automake/">GNU Autotools</a> build system. + <p>A mirror of the Git repository is also available on GitHub: <a + href="https://github.com/log4cpp/log4cpp">https://github.com/log4cpp/log4cpp</a></p> + <p> To start working with a freshly checked out log4cpp repository, run <b><code>./autogen.sh</code></b> first. This will create <code>./configure</code> and the necessary <code>Makefile.in</code>'s. - You'll need at least autoconf 2.50, automake 1.6.0 and libtool 1.4. + You'll need at least autoconf 2.50, automake 1.6.0 and libtool 1.4 (<a href="https://www.gnu.org/software/automake/">GNU Autotools</a> build system). </p> <p>Log4cpp of older versions (prior to version 1.1.1) is available also with CVS, see the <a href="https://sourceforge.net/p/log4cpp/code/">SourceForge CVS page</a> for instructions.</p> <small> CVS had two branches: <table> <tbody><tr><td>MAIN</td><td>for log4cpp development</td></tr> - <tr><td>BRANCH_MAINT_0_2</td><td>for maintainance of log4cpp-stable (0.2.x)</td></tr> + <tr><td>BRANCH_MAINT_0_2</td><td>for maintenance of log4cpp-stable (0.2.x)</td></tr> </tbody></table><br> </small> <a href="#begin">^</a> @@ -645,6 +645,7 @@ Log4cpp is moved to git <a href="https://sourceforge.net/p/log4cpp/codegit/">Sou <p> WARNING: releases from the development branch are a 'work in progress' and may fail to build, crash or redecorate your desktop. </p> + <p>Each release will receive a tag named REL_x_y_z or prefixed with REL_x.y.z</p> <small> <dl> http://sourceforge.net/p/log4cpp/codegit/ci/ commit 31e5cd5505fd33e4466fa1510f796ef27dd1d4f1 Author: Alexander Perepelkin <san...@us...> Date: Fri Dec 12 20:45:16 2025 +0100 index.html, ChangeLog diff --git a/ChangeLog b/ChangeLog index ea85da3..6810876 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2025-12-12 20:18 sanchouss_ + * Fix few compilation warnings + * Reformat source codebase automatically with clang-format-21 + * Add .clang-format, BasedOnStyle: LLVM, with only minor tweaks to stay closer to the most of the current files + * Mirror git repository at github: https://github.com/log4cpp/log4cpp + 2025-11-13 20:48 sanchouss_ * CMake script update; support for Embarcadero RAD Studio 12 diff --git a/doc/html/index.html b/doc/html/index.html index c76f286..141c40a 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -15,7 +15,7 @@ for C++ Project Page on Sourceforge</a> </span> | <span>Last Published: -2025-12-01</span> |</div> +2025-12-12</span> |</div> <hr class="delimiter"> <div id="projectpage"> <div id="navigationpanel" class="lightbackground"> @@ -622,19 +622,19 @@ Log file A3.log is rolled over as soon as it reaches limit of 200 bytes, 1 backu <p> Log4cpp is moved to git <a href="https://sourceforge.net/p/log4cpp/codegit/">SourceForge Git page</a> since version 1.1.1, CVS repo is stale now. </p> - Each release will receive a tag named REL_x_y_z. - <p></p> - <p>The project uses <a href="https://www.gnu.org/software/automake/">GNU Autotools</a> build system. + <p>A mirror of the Git repository is also available on GitHub: <a + href="https://github.com/log4cpp/log4cpp">https://github.com/log4cpp/log4cpp</a></p> + <p> To start working with a freshly checked out log4cpp repository, run <b><code>./autogen.sh</code></b> first. This will create <code>./configure</code> and the necessary <code>Makefile.in</code>'s. - You'll need at least autoconf 2.50, automake 1.6.0 and libtool 1.4. + You'll need at least autoconf 2.50, automake 1.6.0 and libtool 1.4 (<a href="https://www.gnu.org/software/automake/">GNU Autotools</a> build system). </p> <p>Log4cpp of older versions (prior to version 1.1.1) is available also with CVS, see the <a href="https://sourceforge.net/p/log4cpp/code/">SourceForge CVS page</a> for instructions.</p> <small> CVS had two branches: <table> <tbody><tr><td>MAIN</td><td>for log4cpp development</td></tr> - <tr><td>BRANCH_MAINT_0_2</td><td>for maintainance of log4cpp-stable (0.2.x)</td></tr> + <tr><td>BRANCH_MAINT_0_2</td><td>for maintenance of log4cpp-stable (0.2.x)</td></tr> </tbody></table><br> </small> <a href="#begin">^</a> @@ -645,6 +645,7 @@ Log4cpp is moved to git <a href="https://sourceforge.net/p/log4cpp/codegit/">Sou <p> WARNING: releases from the development branch are a 'work in progress' and may fail to build, crash or redecorate your desktop. </p> + <p>Each release will receive a tag named REL_x_y_z or prefixed with REL_x.y.z</p> <small> <dl> http://sourceforge.net/p/log4cpp/codegit/ci/ commit 31e5cd5505fd33e4466fa1510f796ef27dd1d4f1 Author: Alexander Perepelkin <san...@us...> Date: Fri Dec 12 20:45:16 2025 +0100 index.html, ChangeLog diff --git a/ChangeLog b/ChangeLog index ea85da3..6810876 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2025-12-12 20:18 sanchouss_ + * Fix few compilation warnings + * Reformat source codebase automatically with clang-format-21 + * Add .clang-format, BasedOnStyle: LLVM, with only minor tweaks to stay closer to the most of the current files + * Mirror git repository at github: https://github.com/log4cpp/log4cpp + 2025-11-13 20:48 sanchouss_ * CMake script update; support for Embarcadero RAD Studio 12 diff --git a/doc/html/index.html b/doc/html/index.html index c76f286..141c40a 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -15,7 +15,7 @@ for C++ Project Page on Sourceforge</a> </span> | <span>Last Published: -2025-12-01</span> |</div> +2025-12-12</span> |</div> <hr class="delimiter"> <div id="projectpage"> <div id="navigationpanel" class="lightbackground"> @@ -622,19 +622,19 @@ Log file A3.log is rolled over as soon as it reaches limit of 200 bytes, 1 backu <p> Log4cpp is moved to git <a href="https://sourceforge.net/p/log4cpp/codegit/">SourceForge Git page</a> since version 1.1.1, CVS repo is stale now. </p> - Each release will receive a tag named REL_x_y_z. - <p></p> - <p>The project uses <a href="https://www.gnu.org/software/automake/">GNU Autotools</a> build system. + <p>A mirror of the Git repository is also available on GitHub: <a + href="https://github.com/log4cpp/log4cpp">https://github.com/log4cpp/log4cpp</a></p> + <p> To start working with a freshly checked out log4cpp repository, run <b><code>./autogen.sh</code></b> first. This will create <code>./configure</code> and the necessary <code>Makefile.in</code>'s. - You'll need at least autoconf 2.50, automake 1.6.0 and libtool 1.4. + You'll need at least autoconf 2.50, automake 1.6.0 and libtool 1.4 (<a href="https://www.gnu.org/software/automake/">GNU Autotools</a> build system). </p> <p>Log4cpp of older versions (prior to version 1.1.1) is available also with CVS, see the <a href="https://sourceforge.net/p/log4cpp/code/">SourceForge CVS page</a> for instructions.</p> <small> CVS had two branches: <table> <tbody><tr><td>MAIN</td><td>for log4cpp development</td></tr> - <tr><td>BRANCH_MAINT_0_2</td><td>for maintainance of log4cpp-stable (0.2.x)</td></tr> + <tr><td>BRANCH_MAINT_0_2</td><td>for maintenance of log4cpp-stable (0.2.x)</td></tr> </tbody></table><br> </small> <a href="#begin">^</a> @@ -645,6 +645,7 @@ Log4cpp is moved to git <a href="https://sourceforge.net/p/log4cpp/codegit/">Sou <p> WARNING: releases from the development branch are a 'work in progress' and may fail to build, crash or redecorate your desktop. </p> + <p>Each release will receive a tag named REL_x_y_z or prefixed with REL_x.y.z</p> <small> <dl> http://sourceforge.net/p/log4cpp/codegit/ci/ commit 31e5cd5505fd33e4466fa1510f796ef27dd1d4f1 Author: Alexander Perepelkin <san...@us...> Date: Fri Dec 12 20:45:16 2025 +0100 index.html, ChangeLog diff --git a/ChangeLog b/ChangeLog index ea85da3..6810876 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2025-12-12 20:18 sanchouss_ + * Fix few compilation warnings + * Reformat source codebase automatically with clang-format-21 + * Add .clang-format, BasedOnStyle: LLVM, with only minor tweaks to stay closer to the most of the current files + * Mirror git repository at github: https://github.com/log4cpp/log4cpp + 2025-11-13 20:48 sanchouss_ * CMake script update; support for Embarcadero RAD Studio 12 diff --git a/doc/html/index.html b/doc/html/index.html index c76f286..141c40a 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -15,7 +15,7 @@ for C++ Project Page on Sourceforge</a> </span> | <span>Last Published: -2025-12-01</span> |</div> +2025-12-12</span> |</div> <hr class="delimiter"> <div id="projectpage"> <div id="navigationpanel" class="lightbackground"> @@ -622,19 +622,19 @@ Log file A3.log is rolled over as soon as it reaches limit of 200 bytes, 1 backu <p> Log4cpp is moved to git <a href="https://sourceforge.net/p/log4cpp/codegit/">SourceForge Git page</a> since version 1.1.1, CVS repo is stale now. </p> - Each release will receive a tag named REL_x_y_z. - <p></p> - <p>The project uses <a href="https://www.gnu.org/software/automake/">GNU Autotools</a> build system. + <p>A mirror of the Git repository is also available on GitHub: <a + href="https://github.com/log4cpp/log4cpp">https://github.com/log4cpp/log4cpp</a></p> + <p> To start working with a freshly checked out log4cpp repository, run <b><code>./autogen.sh</code></b> first. This will create <code>./configure</code> and the necessary <code>Makefile.in</code>'s. - You'll need at least autoconf 2.50, automake 1.6.0 and libtool 1.4. + You'll need at least autoconf 2.50, automake 1.6.0 and libtool 1.4 (<a href="https://www.gnu.org/software/automake/">GNU Autotools</a> build system). </p> <p>Log4cpp of older versions (prior to version 1.1.1) is available also with CVS, see the <a href="https://sourceforge.net/p/log4cpp/code/">SourceForge CVS page</a> for instructions.</p> <small> CVS had two branches: <table> <tbody><tr><td>MAIN</td><td>for log4cpp development</td></tr> - <tr><td>BRANCH_MAINT_0_2</td><td>for maintainance of log4cpp-stable (0.2.x)</td></tr> + <tr><td>BRANCH_MAINT_0_2</td><td>for maintenance of log4cpp-stable (0.2.x)</td></tr> </tbody></table><br> </small> <a href="#begin">^</a> @@ -645,6 +645,7 @@ Log4cpp is moved to git <a href="https://sourceforge.net/p/log4cpp/codegit/">Sou <p> WARNING: releases from the development branch are a 'work in progress' and may fail to build, crash or redecorate your desktop. </p> + <p>Each release will receive a tag named REL_x_y_z or prefixed with REL_x.y.z</p> <small> <dl> http://sourceforge.net/p/log4cpp/codegit/ci/ commit 31e5cd5505fd33e4466fa1510f796ef27dd1d4f1 Author: Alexander Perepelkin <san...@us...> Date: Fri Dec 12 20:45:16 2025 +0100 index.html, ChangeLog diff --git a/ChangeLog b/ChangeLog index ea85da3..6810876 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2025-12-12 20:18 sanchouss_ + * Fix few compilation warnings + * Reformat source codebase automatically with clang-format-21 + * Add .clang-format, BasedOnStyle: LLVM, with only minor tweaks to stay closer to the most of the current files + * Mirror git repository at github: https://github.com/log4cpp/log4cpp + 2025-11-13 20:48 sanchouss_ * CMake script update; support for Embarcadero RAD Studio 12 diff --git a/doc/html/index.html b/doc/html/index.html index c76f286..141c40a 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -15,7 +15,7 @@ for C++ Project Page on Sourceforge</a> </span> | <span>Last Published: -2025-12-01</span> |</div> +2025-12-12</span> |</div> <hr class="delimiter"> <div id="projectpage"> <div id="navigationpanel" class="lightbackground"> @@ -622,19 +622,19 @@ Log file A3.log is rolled over as soon as it reaches limit of 200 bytes, 1 backu <p> Log4cpp is moved to git <a href="https://sourceforge.net/p/log4cpp/codegit/">SourceForge Git page</a> since version 1.1.1, CVS repo is stale now. </p> - Each release will receive a tag named REL_x_y_z. - <p></p> - <p>The project uses <a href="https://www.gnu.org/software/automake/">GNU Autotools</a> build system. + <p>A mirror of the Git repository is also available on GitHub: <a + href="https://github.com/log4cpp/log4cpp">https://github.com/log4cpp/log4cpp</a></p> + <p> To start working with a freshly checked out log4cpp repository, run <b><code>./autogen.sh</code></b> first. This will create <code>./configure</code> and the necessary <code>Makefile.in</code>'s. - You'll need at least autoconf 2.50, automake 1.6.0 and libtool 1.4. + You'll need at least autoconf 2.50, automake 1.6.0 and libtool 1.4 (<a href="https://www.gnu.org/software/automake/">GNU Autotools</a> build system). </p> <p>Log4cpp of older versions (prior to version 1.1.1) is available also with CVS, see the <a href="https://sourceforge.net/p/log4cpp/code/">SourceForge CVS page</a> for instructions.</p> <small> CVS had two branches: <table> <tbody><tr><td>MAIN</td><td>for log4cpp development</td></tr> - <tr><td>BRANCH_MAINT_0_2</td><td>for maintainance of log4cpp-stable (0.2.x)</td></tr> + <tr><td>BRANCH_MAINT_0_2</td><td>for maintenance of log4cpp-stable (0.2.x)</td></tr> </tbody></table><br> </small> <a href="#begin">^</a> @@ -645,6 +645,7 @@ Log4cpp is moved to git <a href="https://sourceforge.net/p/log4cpp/codegit/">Sou <p> WARNING: releases from the development branch are a 'work in progress' and may fail to build, crash or redecorate your desktop. </p> + <p>Each release will receive a tag named REL_x_y_z or prefixed with REL_x.y.z</p> <small> <dl> http://sourceforge.net/p/log4cpp/codegit/ci/ commit 31e5cd5505fd33e4466fa1510f796ef27dd1d4f1 Author: Alexander Perepelkin <san...@us...> Date: Fri Dec 12 20:45:16 2025 +0100 index.html, ChangeLog diff --git a/ChangeLog b/ChangeLog index ea85da3..6810876 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2025-12-12 20:18 sanchouss_ + * Fix few compilation warnings + * Reformat source codebase automatically with clang-format-21 + * Add .clang-format, BasedOnStyle: LLVM, with only minor tweaks to stay closer to the most of the current files + * Mirror git repository at github: https://github.com/log4cpp/log4cpp + 2025-11-13 20:48 sanchouss_ * CMake script update; support for Embarcadero RAD Studio 12 diff --git a/doc/html/index.html b/doc/html/index.html index c76f286..141c40a 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -15,7 +15,7 @@ for C++ Project Page on Sourceforge</a> </span> | <span>Last Published: -2025-12-01</span> |</div> +2025-12-12</span> |</div> <hr class="delimiter"> <div id="projectpage"> <div id="navigationpanel" class="lightbackground"> @@ -622,19 +622,19 @@ Log file A3.log is rolled over as soon as it reaches limit of 200 bytes, 1 backu <p> Log4cpp is moved to git <a href="https://sourceforge.net/p/log4cpp/codegit/">SourceForge Git page</a> since version 1.1.1, CVS repo is stale now. </p> - Each release will receive a tag named REL_x_y_z. - <p></p> - <p>The project uses <a href="https://www.gnu.org/software/automake/">GNU Autotools</a> build system. + <p>A mirror of the Git repository is also available on GitHub: <a + href="https://github.com/log4cpp/log4cpp">https://github.com/log4cpp/log4cpp</a></p> + <p> To start working with a freshly checked out log4cpp repository, run <b><code>./autogen.sh</code></b> first. This will create <code>./configure</code> and the necessary <code>Makefile.in</code>'s. - You'll need at least autoconf 2.50, automake 1.6.0 and libtool 1.4. + You'll need at least autoconf 2.50, automake 1.6.0 and libtool 1.4 (<a href="https://www.gnu.org/software/automake/">GNU Autotools</a> build system). </p> <p>Log4cpp of older versions (prior to version 1.1.1) is available also with CVS, see the <a href="https://sourceforge.net/p/log4cpp/code/">SourceForge CVS page</a> for instructions.</p> <small> CVS had two branches: <table> <tbody><tr><td>MAIN</td><td>for log4cpp development</td></tr> - <tr><td>BRANCH_MAINT_0_2</td><td>for maintainance of log4cpp-stable (0.2.x)</td></tr> + <tr><td>BRANCH_MAINT_0_2</td><td>for maintenance of log4cpp-stable (0.2.x)</td></tr> </tbody></table><br> </small> <a href="#begin">^</a> @@ -645,6 +645,7 @@ Log4cpp is moved to git <a href="https://sourceforge.net/p/log4cpp/codegit/">Sou <p> WARNING: releases from the development branch are a 'work in progress' and may fail to build, crash or redecorate your desktop. </p> + <p>Each release will receive a tag named REL_x_y_z or prefixed with REL_x.y.z</p> <small> <dl> ----------------------------------------------------------------------- Summary of changes: .clang-format | 247 ++++++++++++ ChangeLog | 6 + doc/html/index.html | 22 +- include/log4cpp/AbortAppender.hh | 13 +- include/log4cpp/Appender.hh | 114 +++--- include/log4cpp/AppenderSkeleton.hh | 33 +- include/log4cpp/AppendersFactory.hh | 39 +- include/log4cpp/BasicConfigurator.hh | 9 +- include/log4cpp/BasicLayout.hh | 10 +- include/log4cpp/BufferingAppender.hh | 52 +-- include/log4cpp/Category.hh | 289 +++++++------- include/log4cpp/CategoryStream.hh | 59 ++- include/log4cpp/Configurator.hh | 8 +- include/log4cpp/DailyRollingFileAppender.hh | 26 +- include/log4cpp/Export.hh | 29 +- include/log4cpp/FactoryParams.hh | 218 +++++----- include/log4cpp/FileAppender.hh | 28 +- include/log4cpp/Filter.hh | 43 +- include/log4cpp/FixedContextCategory.hh | 64 ++- include/log4cpp/HierarchyMaintainer.hh | 20 +- include/log4cpp/IdsaAppender.hh | 24 +- include/log4cpp/Layout.hh | 16 +- include/log4cpp/LayoutAppender.hh | 20 +- include/log4cpp/LayoutsFactory.hh | 39 +- include/log4cpp/LevelEvaluator.hh | 20 +- include/log4cpp/LoggingEvent.hh | 18 +- include/log4cpp/Manipulator.hh | 32 +- include/log4cpp/NDC.hh | 69 ++-- include/log4cpp/NTEventLogAppender.hh | 63 ++- include/log4cpp/OstreamAppender.hh | 12 +- include/log4cpp/PassThroughLayout.hh | 14 +- include/log4cpp/PatternLayout.hh | 31 +- include/log4cpp/Portability.hh | 62 +-- include/log4cpp/Priority.hh | 66 ++-- include/log4cpp/PropertyConfigurator.hh | 16 +- include/log4cpp/RemoteSyslogAppender.hh | 102 +++-- include/log4cpp/RollingFileAppender.hh | 23 +- include/log4cpp/SimpleConfigurator.hh | 17 +- include/log4cpp/SimpleLayout.hh | 12 +- include/log4cpp/SmtpAppender.hh | 28 +- include/log4cpp/StringQueueAppender.hh | 16 +- include/log4cpp/SyslogAppender.hh | 23 +- include/log4cpp/TimeStamp.hh | 11 +- include/log4cpp/TriggeringEventEvaluator.hh | 14 +- include/log4cpp/TriggeringEventEvaluatorFactory.hh | 38 +- include/log4cpp/Win32DebugAppender.hh | 58 +-- include/log4cpp/threading/BoostThreads.hh | 24 +- include/log4cpp/threading/DummyThreads.hh | 28 +- include/log4cpp/threading/MSThreads.hh | 99 ++--- include/log4cpp/threading/OmniThreads.hh | 68 ++-- include/log4cpp/threading/PThreads.hh | 68 ++-- src/AbortAppender.cpp | 21 +- src/Appender.cpp | 116 +++--- src/AppenderSkeleton.cpp | 22 +- src/AppendersFactory.cpp | 103 +++-- src/BasicConfigurator.cpp | 9 +- src/BasicLayout.cpp | 22 +- src/BufferingAppender.cpp | 81 ++-- src/Category.cpp | 149 +++---- src/CategoryStream.cpp | 97 ++--- src/Configurator.cpp | 10 +- src/DailyRollingFileAppender.cpp | 286 +++++++------- src/DllMain.cpp | 21 +- src/DummyThreads.cpp | 4 +- src/FactoryParams.cpp | 26 +- src/FileAppender.cpp | 61 ++- src/Filter.cpp | 14 +- src/FixedContextCategory.cpp | 37 +- src/HierarchyMaintainer.cpp | 51 ++- src/IdsaAppender.cpp | 62 ++- ... 59 lines suppressed ... hooks/post-receive -- Log4cpp Git repository. |
| From: <log...@li...> - 2025-12-01 19:36:23 |
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Log4cpp Git repository.". The annotated tag, REL_1.1.5_Dec_01_2025 has been created at c3b45ac5c34ccd6c607103e95b254edf3141df4a (tag) tagging d9da5fca956a4e0b532fcca295d1903604d5f47d (commit) replaces REL_1.1.5rc1_Aug_23_2024 tagged by Alexander Perepelkin on Mon Dec 1 20:21:32 2025 +0100 - Log ----------------------------------------------------------------- log4cpp-1.1.5, 01 Dec 2025 Alexander Perepelkin (20): index.html index.html Discussion 48226 further fix for clean cmake builds on x86 Ubuntu etc. Update .gitignore autoupdate autoreconf -fi -I m4 ChangeLog Fix spellings caught by Debian Patches Fix warnings given by gcc version 13.3.0 ChangeLog index.html index.html Stop executing ./autogen.sh if any error happens Bump autoconf requirement to 2.59 only; have some fallbacks for modern macros; address bug #158; Cmake script update: support release and debug build types (defaults to release); build both static and shared libraries; pass necessary cpp macros for debug Changelog, index.html DailyRollingFileAppender copyright index.html, AUTHORS Cmake fixes, add RAD Studio 12 support index.html ----------------------------------------------------------------------- hooks/post-receive -- Log4cpp Git repository. |
| From: <log...@li...> - 2025-12-01 19:36:21 |
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Log4cpp Git repository.". The annotated tag, REL_1.1.3_Jul_13_2017 has been created at 2c2db5baabfb054e84349078134e9eaf5d4d7cd9 (tag) tagging 2e117d81e94ec4f9c5af42fcf76a0583a036e106 (commit) replaces REL_1.1.2_Apr_18_2017 tagged by Alexander Perepelkin on Mon Dec 1 20:26:56 2025 +0100 - Log ----------------------------------------------------------------- log4cpp-1.1.3, 13 Jul 2017 Alexander Perepelkin (3): fix for bug 146 by Ryan Schmidt fix for bug 147 - Being prepared for Removing Deprecated Exception Specifications from C++17 ChangeLog ----------------------------------------------------------------------- hooks/post-receive -- Log4cpp Git repository. |
| From: <log...@li...> - 2025-12-01 19:36:19 |
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Log4cpp Git repository.". The annotated tag, REL_1.1.2_Apr_18_2017 has been created at ba40b9992f27c7133ce6d07fa78ceb7cde0a692a (tag) tagging cad9150f1a0ec81931582e9dc3cf28e0da9f5834 (commit) replaces REL_1.0_Sep_03_2007 tagged by Alexander Perepelkin on Mon Dec 1 20:29:55 2025 +0100 - Log ----------------------------------------------------------------- log4cpp-1.1.2, 18 Apr 2017 Alexander Perepelkin (47): little doc syntax fix Fix for bug 2940452 Fix for bug 3109495 Fix for bug#3198140 testcase for fix of bug#2826590, Bug in StringUtil.cpp Fix for thread id unsigned #1252614 Number history files in RollingFileAppender so that they can be lexicographically ordered by name properly small optimization to avoid invokation of thread-specific routines each time when a string is constructed from a log event MSVC 2010 support. Project files converted for msvc10 and adjusted. Fix for test of logging into windows events. remove historical .vcproj files Fix for test of logging into windows events. new index html thanks upd ) fix for bug#1579890 Fixes for BCB5 project Main html file edit: note about rel. 1.1.1 fix for bug#137, for strings longer than 256 chars, and test for this case Bug #136 - CRLF for *.dsp Copyright notes, .gitignore copyright notes for src/ Add multithreading answer, formatting options Add remote-syslog and smtp configure features (enabled by default). Add SmtpAppender to the automake sources. (by Eric Simard) options to disable syslog and smtp appenders are documented adding DailyRollingFileAppender to build DailyRollingFileAppender and tests for it: Linux, msvc2010 DailyRollingFileAppender: add empty nested dirs update start page Merge branch 'master' of ssh://git.code.sf.net/p/log4cpp/codegit Add configuration targets into tests for ConsoleAppender mem leak solution for all appenders config fixes; rem commented line Merge branch 'bug-139-mem-leaks-alltogether' of ssh://git.code.sf.net/p/log4cpp/codegit bug-140: removed std::cout when file rollover bug-142: conservative fix bug-141: conservative fix Fix for reported patch-45, plus tests and minors src/PThreads.cpp small rename LOG4CPP_EXPORT fix for bugs-143 Add missing config.h/Portability.hh include bug-145: fix daily rolling; add manual test to see rolling daily test support for windows test daily rolling: disable test which changes dates ChangeLog doc update Andrew Brown (1): PropertyConfiguratorImpl: add target property to allow printing to STDERR Francis ANDRE (3): Initial revision. Initial revision. Missing LocalTime.hh & LocalTime.cpp Thomas Wabner (6): [intern] changes by Tan Meng YUE to have the cmake stuff available [feature] cmake file from Tan Meng YUE to compile the library on various platforms with cmake [bug] fixed 2789510 -- CFlags in log4cpp.pc incorrect -- removed extra flags from CFLAGS and CXXFLAGS [bug] fixed 2830158 -- MinGW: 'std::ostringstream' has a previous declaration -- added missed config-MinGW32.h to list of makefiles [intern] changed version information to next iteration; next version will be 1.1; LT_VERSION changed from 5:5:0 to 5:6:0 [bug] fixed 2736791 -- compiler problem with MSVC-8(2005) -- applied patch from bug entry darkangel (12): msvc 6.5 support Fix incomplite type usage Fixed LT_VERSION to reflect ABI breakage Added simple test for RollingFileAppender. Rewrite rollOver function to get rid of macroses and posible bug on HP-UX 11 Added missed files Added missing files Added support for mingw+boost+stlport build variant made CodeBlocks + gcc 3.4.5 + boost threads + STLPort works fix for gcc 4.3.0 build. Patches ID: 2057453 make tow different log4cpp property files one for nt, second for others added va_copy to prevent posible crash on some systems. Patches ID: 2083274 MSVC and Borland doesn't have va_copy - fallback to simple assigning sanchouss_ (1): First git commit ----------------------------------------------------------------------- hooks/post-receive -- Log4cpp Git repository. |
| From: <log...@li...> - 2025-11-17 13:05:31 |
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Log4cpp Git repository.". The branch, master has been updated via 7e80abbe6d4c6cefd674fc2952bf1e599478bf10 (commit) from d9da5fca956a4e0b532fcca295d1903604d5f47d (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- http://sourceforge.net/p/log4cpp/codegit/ci/ commit 7e80abbe6d4c6cefd674fc2952bf1e599478bf10 Author: Alexander Perepelkin <san...@us...> Date: Mon Nov 17 14:05:14 2025 +0100 index.html, styles.css diff --git a/doc/html/index.html b/doc/html/index.html index d5ae3ec..f76406e 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -15,7 +15,7 @@ for C++ Project Page on Sourceforge</a> </span> | <span>Last Published: -2025-11-15</span> |</div> +2025-11-17</span> |</div> <hr class="delimiter"> <div id="projectpage"> <div id="navigationpanel" class="lightbackground"> @@ -262,23 +262,31 @@ cmake -S . -B build_debug -DCMAKE_BUILD_TYPE=Debug<br> cmake --build build_debug </pre> <h3><a id="buildwindowscmake">Windows, CMake</a></h3> + <h4>MS Visual Studio 2022</h4> + <blockquote> <p><b>MS Visual Studio 2022</b> can open <code>log4cpp</code> directly as a CMake project. Use <code>File → Open → CMake...</code> menu items to choose <code>log4cpp/CMakeLists.txt</code> file and start CMake generation. After generation is finished, choose <code>Build → Build All</code> to build <code>log4cpp</code> libs. <br>Note: Make sure not to use project files intended for older MSVC versions (<code>msvc10, msvc7, msvc6</code>). If such files are used, you may encounter build error like: (<code>Platform Toolset = 'v100') cannot be found</code>. </p> - <p><b>Embarcadero RAD Studio 12</b> can build <code>log4cpp</code> project using its bundled version of CMake, provided via the RAD Package Manager. - Make sure that Embarcadero's CMake (and not another installation) is used. + </blockquote> + <h4>Embarcadero RAD Studio 12</h4> + <blockquote> + <p><b>Embarcadero RAD Studio 12</b> can build <code>log4cpp</code> project using its bundled version of CMake, provided via the RAD Package Manager.<br> + Make sure that Embarcadero's CMake (and not another installation) is used for command line. + Ninja generator will be used as build system, you can get <code>ninja-win.zip</code> at + <a href="https://ninja-build.org/">Ninja site</a> and extract the executable into catalog included into PATH environment variable.<br> Open <b>RAD Studio Command Prompt</b> and run commands to build <code>log4cpp</code> libs:</p> <p>Release:</p> <pre class="code"> cmake.exe -G Ninja -S . -B build_release -DCMAKE_SYSTEM_NAME=Windows -DCMAKE_SYSTEM_PROCESSOR=x86_64 -DCMAKE_CROSSCOMPILING=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_ASM_COMPILER=bcc64x -DCMAKE_C_COMPILER=bcc64x -DCMAKE_CXX_COMPILER=bcc64x<br> -cmake --build build_release --config Release -v </pre> +cmake.exe --build build_release --config Release -v </pre> <p>Debug:</p> <pre class="code"> cmake.exe -G Ninja -S . -B build_debug -DCMAKE_SYSTEM_NAME=Windows -DCMAKE_SYSTEM_PROCESSOR=x86_64 -DCMAKE_CROSSCOMPILING=OFF -DCMAKE_BUILD_TYPE=Debug -DCMAKE_ASM_COMPILER=bcc64x -DCMAKE_C_COMPILER=bcc64x -DCMAKE_CXX_COMPILER=bcc64x<br> -cmake --build build_debug --config Debug -v </pre> +cmake.exe --build build_debug --config Debug -v </pre> + </blockquote> <p><i>Works since log4cpp 1.1.5. </i></p> <a href="#begin">^</a> diff --git a/doc/html/styles.css b/doc/html/styles.css new file mode 100644 index 0000000..dbe12be --- /dev/null +++ b/doc/html/styles.css @@ -0,0 +1,93 @@ +#headerdiv { + background-color: rgb(240, 240, 240); + text-align: center; + margin: 10px; +} + +.briefline { + font-size: x-small; + background-color: rgb(220, 220, 220); + padding: 5px 10px; + border-style: dotted; + border-width: 1px; + border-color: rgb(190, 190, 190); + margin: 10px; +} + +.delimiter { + clear: both; + display: none; + visibility: hidden; +} + +body { + margin: 0px; + padding: 0px; + font-family: Verdana, Helvetica, Arial, sans-serif; + font-size: 13px; +} + +DT { + font-weight: bold; +} + +#projectpage { + margin: 0px; + padding: 0px; +} + +.lightbackground { + background-color: rgb(240, 240, 240); +} + +#navigationpanel h5 { + color: black; + border-bottom: 1px solid rgb(190, 190, 190); + margin: 1px; + padding: 1px; + font-size: small; +} + +#navigationpanel { + padding: 5px; + margin: 10px; + width: 180px; + float: left; + border: 1px solid rgb(150, 150, 150); +} + +#navigationpanel ul { + margin: 1px; + padding: 1px; + font-size: small; +} + +#navigationpanel li { + list-style-type: none; + padding-left: 15px; + font-size: smaller; +} + +.chapter { + padding: 4px; + margin: 0px; +} + +.chapter h2 { + color: darkblue; + background-color: rgb(240, 240, 240); + border-bottom: 1px solid rgb(190, 190, 190); +} + +#contentpanel { + margin-right: 20px; + margin-left: 220px; +} + +.code { + padding: 12px; + margin: 10px; + background-color: rgb(240, 240, 240); + white-space: pre-wrap; + word-wrap: break-word; +} \ No newline at end of file ----------------------------------------------------------------------- Summary of changes: doc/html/index.html | 18 ++++++++--- doc/html/styles.css | 93 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 106 insertions(+), 5 deletions(-) create mode 100644 doc/html/styles.css hooks/post-receive -- Log4cpp Git repository. |
| From: <log...@li...> - 2025-11-15 19:44:27 |
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Log4cpp Git repository.". The branch, master has been updated via d9da5fca956a4e0b532fcca295d1903604d5f47d (commit) from f77a7b1978c13abc693a3e7e1b376c592abdb259 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- http://sourceforge.net/p/log4cpp/codegit/ci/ commit d9da5fca956a4e0b532fcca295d1903604d5f47d Author: Alexander Perepelkin <san...@us...> Date: Sat Nov 15 20:43:57 2025 +0100 index.html diff --git a/doc/html/index.html b/doc/html/index.html index 4334a6f..d5ae3ec 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -15,7 +15,7 @@ for C++ Project Page on Sourceforge</a> </span> | <span>Last Published: -2025-11-08</span> |</div> +2025-11-15</span> |</div> <hr class="delimiter"> <div id="projectpage"> <div id="navigationpanel" class="lightbackground"> @@ -640,9 +640,10 @@ WARNING: releases from the development branch are a 'work in progress' and may f <small> <dl> -<dt>1.1.5rc3 - master branch (08 November 2025)</dt> +<dt>1.1.5rc4 - master branch (13 November 2025)</dt> <dd>Cmake script update: support release and debug build types (defaults to release); build both static and shared libraries; pass necessary cpp macros for debug</dd> <dd>MS Visual Studio 2022 can open log4cpp as CMake Project</dd> +<dd>Support for Embarcadero RAD Studio 12 in CMake script</dd> <dd>Address bug #158; Add path to m4 macros for autoreconf in GNU Autotools scripts</dd> <dd>Discussion 48226 by Andrew E Page. Alter CMakeLists to allow installation paths for x86 and arm64 be different so that cross-compilation on single host is possible.</dd> <dd>Update scripts for GNU Autotools shipped with the log4cpp distribution to their fresh versions</dd> ----------------------------------------------------------------------- Summary of changes: doc/html/index.html | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) hooks/post-receive -- Log4cpp Git repository. |
| From: <log...@li...> - 2025-11-13 19:58:53 |
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Log4cpp Git repository.". The branch, master has been updated via f77a7b1978c13abc693a3e7e1b376c592abdb259 (commit) via d91a7ded7bc97b947843b868d8b6ee2f9b6461f0 (commit) via 7f808086479482e7917b78c0e45fba336c2b8c59 (commit) from 7a6b6c83f1ce70f99ae39a752ed87e163c8825c4 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- http://sourceforge.net/p/log4cpp/codegit/ci/ commit f77a7b1978c13abc693a3e7e1b376c592abdb259 Author: Alexander Perepelkin <san...@us...> Date: Thu Nov 13 20:52:06 2025 +0100 Cmake fixes, add RAD Studio 12 support diff --git a/CMakeLists.txt b/CMakeLists.txt index 0f00163..1075142 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -24,7 +24,10 @@ ENDIF () IF (WIN32) SET ( CMAKE_DEBUG_POSTFIX "D" ) - ADD_DEFINITIONS ( -D_CRT_SECURE_NO_WARNINGS -DLOG4CPP_HAS_DLL -DLOG4CPP_BUILD_DLL ) + ADD_DEFINITIONS ( -DWIN32 ) + IF ( NOT CMAKE_BUILD_TYPE STREQUAL "Release" ) + SET ( WIN_DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX} ) + ENDIF() ELSE (WIN32) IF (APPLE) ADD_DEFINITIONS ( -DLOG4CPP_HAVE_SSTREAM ) @@ -97,7 +100,7 @@ ELSE() ENDIF () ENDIF() -message("LOG4CPP_BUILD_SHARED is ${LOG4CPP_BUILD_SHARED} LOG4CPP_BUILD_STATIC is ${LOG4CPP_BUILD_STATIC}") +MESSAGE("LOG4CPP_BUILD_SHARED is ${LOG4CPP_BUILD_SHARED}; LOG4CPP_BUILD_STATIC is ${LOG4CPP_BUILD_STATIC}") IF (LOG4CPP_BUILD_STATIC) ADD_LIBRARY ( LOG4CPP_STATIC STATIC ${LOG4CPP_LIBRARY_SOURCES} ) @@ -109,20 +112,31 @@ IF (LOG4CPP_BUILD_STATIC) ENDIF() TARGET_COMPILE_DEFINITIONS ( LOG4CPP_STATIC PRIVATE $<$<CONFIG:Debug>:_DEBUG DEBUG LOG4CPP_FIX_ERROR_COLLISION> ) TARGET_COMPILE_DEFINITIONS ( LOG4CPP_STATIC PRIVATE $<$<CONFIG:Release>:NDEBUG> ) -ENDIF () +ENDIF (LOG4CPP_BUILD_STATIC) IF (LOG4CPP_BUILD_SHARED) ADD_LIBRARY ( LOG4CPP_SHARED SHARED ${LOG4CPP_LIBRARY_SOURCES} ) SET_TARGET_PROPERTIES( LOG4CPP_SHARED PROPERTIES OUTPUT_NAME ${LOG4CPP_LIBRARY_NAME} ) TARGET_COMPILE_DEFINITIONS ( LOG4CPP_SHARED PRIVATE $<$<CONFIG:Debug>:_DEBUG DEBUG LOG4CPP_FIX_ERROR_COLLISION> ) TARGET_COMPILE_DEFINITIONS ( LOG4CPP_SHARED PRIVATE $<$<CONFIG:Release>:NDEBUG> ) -ENDIF () + IF (WIN32) + TARGET_COMPILE_DEFINITIONS ( LOG4CPP_SHARED PRIVATE -D_CRT_SECURE_NO_WARNINGS -DLOG4CPP_HAS_DLL -DLOG4CPP_BUILD_DLL ) + ENDIF (WIN32) +ENDIF (LOG4CPP_BUILD_SHARED) IF (WIN32) - TARGET_LINK_LIBRARIES ( LOG4CPP_STATIC PRIVATE kernel32 user32 ws2_32 advapi32 msvcrt${CMAKE_DEBUG_POSTFIX} ) - SET_TARGET_PROPERTIES ( LOG4CPP_STATIC PROPERTIES LINK_FLAGS /NODEFAULTLIB:msvcrt${CMAKE_DEBUG_POSTFIX} ) - TARGET_LINK_LIBRARIES ( LOG4CPP_SHARED PRIVATE kernel32 user32 ws2_32 advapi32 msvcrt${CMAKE_DEBUG_POSTFIX} ) - SET_TARGET_PROPERTIES ( LOG4CPP_SHARED PROPERTIES LINK_FLAGS /NODEFAULTLIB:msvcrt${CMAKE_DEBUG_POSTFIX} ) + # RAD Studio specifics + IF (CMAKE_CXX_COMPILER MATCHES ".*bcc32c.*" OR CMAKE_CXX_COMPILER MATCHES ".*bcc64x.*") + MESSAGE(STATUS "Embarcadero C++Builder detected") + SET ( WIN_DEBUG_POSTFIX "" ) + SET_EMBT_TARGET( LOG4CPP_STATIC RTL ) + SET_EMBT_TARGET( LOG4CPP_SHARED RTL ) + ENDIF() + + TARGET_LINK_LIBRARIES ( LOG4CPP_STATIC PRIVATE kernel32 user32 ws2_32 advapi32 msvcrt${WIN_DEBUG_POSTFIX} ) + #SET_TARGET_PROPERTIES ( LOG4CPP_STATIC PROPERTIES LINK_FLAGS /NODEFAULTLIB:msvcrt${WIN_DEBUG_POSTFIX} ) + TARGET_LINK_LIBRARIES ( LOG4CPP_SHARED PRIVATE kernel32 user32 ws2_32 advapi32 msvcrt${WIN_DEBUG_POSTFIX} ) + #SET_TARGET_PROPERTIES ( LOG4CPP_SHARED PROPERTIES LINK_FLAGS /NODEFAULTLIB:msvcrt${WIN_DEBUG_POSTFIX} ) ENDIF (WIN32) INSTALL ( diff --git a/ChangeLog b/ChangeLog index 82fbbc1..ea85da3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,6 @@ +2025-11-13 20:48 sanchouss_ + * CMake script update; support for Embarcadero RAD Studio 12 + 2025-11-08 22:37 sanchouss_ * Cmake script update: support release and debug build types (defaults to release); build both static and shared libraries; pass necessary cpp macros for debug * MS Visual Studio 2022 can open log4cpp as CMake Project http://sourceforge.net/p/log4cpp/codegit/ci/ commit f77a7b1978c13abc693a3e7e1b376c592abdb259 Author: Alexander Perepelkin <san...@us...> Date: Thu Nov 13 20:52:06 2025 +0100 Cmake fixes, add RAD Studio 12 support diff --git a/CMakeLists.txt b/CMakeLists.txt index 0f00163..1075142 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -24,7 +24,10 @@ ENDIF () IF (WIN32) SET ( CMAKE_DEBUG_POSTFIX "D" ) - ADD_DEFINITIONS ( -D_CRT_SECURE_NO_WARNINGS -DLOG4CPP_HAS_DLL -DLOG4CPP_BUILD_DLL ) + ADD_DEFINITIONS ( -DWIN32 ) + IF ( NOT CMAKE_BUILD_TYPE STREQUAL "Release" ) + SET ( WIN_DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX} ) + ENDIF() ELSE (WIN32) IF (APPLE) ADD_DEFINITIONS ( -DLOG4CPP_HAVE_SSTREAM ) @@ -97,7 +100,7 @@ ELSE() ENDIF () ENDIF() -message("LOG4CPP_BUILD_SHARED is ${LOG4CPP_BUILD_SHARED} LOG4CPP_BUILD_STATIC is ${LOG4CPP_BUILD_STATIC}") +MESSAGE("LOG4CPP_BUILD_SHARED is ${LOG4CPP_BUILD_SHARED}; LOG4CPP_BUILD_STATIC is ${LOG4CPP_BUILD_STATIC}") IF (LOG4CPP_BUILD_STATIC) ADD_LIBRARY ( LOG4CPP_STATIC STATIC ${LOG4CPP_LIBRARY_SOURCES} ) @@ -109,20 +112,31 @@ IF (LOG4CPP_BUILD_STATIC) ENDIF() TARGET_COMPILE_DEFINITIONS ( LOG4CPP_STATIC PRIVATE $<$<CONFIG:Debug>:_DEBUG DEBUG LOG4CPP_FIX_ERROR_COLLISION> ) TARGET_COMPILE_DEFINITIONS ( LOG4CPP_STATIC PRIVATE $<$<CONFIG:Release>:NDEBUG> ) -ENDIF () +ENDIF (LOG4CPP_BUILD_STATIC) IF (LOG4CPP_BUILD_SHARED) ADD_LIBRARY ( LOG4CPP_SHARED SHARED ${LOG4CPP_LIBRARY_SOURCES} ) SET_TARGET_PROPERTIES( LOG4CPP_SHARED PROPERTIES OUTPUT_NAME ${LOG4CPP_LIBRARY_NAME} ) TARGET_COMPILE_DEFINITIONS ( LOG4CPP_SHARED PRIVATE $<$<CONFIG:Debug>:_DEBUG DEBUG LOG4CPP_FIX_ERROR_COLLISION> ) TARGET_COMPILE_DEFINITIONS ( LOG4CPP_SHARED PRIVATE $<$<CONFIG:Release>:NDEBUG> ) -ENDIF () + IF (WIN32) + TARGET_COMPILE_DEFINITIONS ( LOG4CPP_SHARED PRIVATE -D_CRT_SECURE_NO_WARNINGS -DLOG4CPP_HAS_DLL -DLOG4CPP_BUILD_DLL ) + ENDIF (WIN32) +ENDIF (LOG4CPP_BUILD_SHARED) IF (WIN32) - TARGET_LINK_LIBRARIES ( LOG4CPP_STATIC PRIVATE kernel32 user32 ws2_32 advapi32 msvcrt${CMAKE_DEBUG_POSTFIX} ) - SET_TARGET_PROPERTIES ( LOG4CPP_STATIC PROPERTIES LINK_FLAGS /NODEFAULTLIB:msvcrt${CMAKE_DEBUG_POSTFIX} ) - TARGET_LINK_LIBRARIES ( LOG4CPP_SHARED PRIVATE kernel32 user32 ws2_32 advapi32 msvcrt${CMAKE_DEBUG_POSTFIX} ) - SET_TARGET_PROPERTIES ( LOG4CPP_SHARED PROPERTIES LINK_FLAGS /NODEFAULTLIB:msvcrt${CMAKE_DEBUG_POSTFIX} ) + # RAD Studio specifics + IF (CMAKE_CXX_COMPILER MATCHES ".*bcc32c.*" OR CMAKE_CXX_COMPILER MATCHES ".*bcc64x.*") + MESSAGE(STATUS "Embarcadero C++Builder detected") + SET ( WIN_DEBUG_POSTFIX "" ) + SET_EMBT_TARGET( LOG4CPP_STATIC RTL ) + SET_EMBT_TARGET( LOG4CPP_SHARED RTL ) + ENDIF() + + TARGET_LINK_LIBRARIES ( LOG4CPP_STATIC PRIVATE kernel32 user32 ws2_32 advapi32 msvcrt${WIN_DEBUG_POSTFIX} ) + #SET_TARGET_PROPERTIES ( LOG4CPP_STATIC PROPERTIES LINK_FLAGS /NODEFAULTLIB:msvcrt${WIN_DEBUG_POSTFIX} ) + TARGET_LINK_LIBRARIES ( LOG4CPP_SHARED PRIVATE kernel32 user32 ws2_32 advapi32 msvcrt${WIN_DEBUG_POSTFIX} ) + #SET_TARGET_PROPERTIES ( LOG4CPP_SHARED PROPERTIES LINK_FLAGS /NODEFAULTLIB:msvcrt${WIN_DEBUG_POSTFIX} ) ENDIF (WIN32) INSTALL ( diff --git a/ChangeLog b/ChangeLog index 82fbbc1..ea85da3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,6 @@ +2025-11-13 20:48 sanchouss_ + * CMake script update; support for Embarcadero RAD Studio 12 + 2025-11-08 22:37 sanchouss_ * Cmake script update: support release and debug build types (defaults to release); build both static and shared libraries; pass necessary cpp macros for debug * MS Visual Studio 2022 can open log4cpp as CMake Project http://sourceforge.net/p/log4cpp/codegit/ci/ commit f77a7b1978c13abc693a3e7e1b376c592abdb259 Author: Alexander Perepelkin <san...@us...> Date: Thu Nov 13 20:52:06 2025 +0100 Cmake fixes, add RAD Studio 12 support diff --git a/CMakeLists.txt b/CMakeLists.txt index 0f00163..1075142 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -24,7 +24,10 @@ ENDIF () IF (WIN32) SET ( CMAKE_DEBUG_POSTFIX "D" ) - ADD_DEFINITIONS ( -D_CRT_SECURE_NO_WARNINGS -DLOG4CPP_HAS_DLL -DLOG4CPP_BUILD_DLL ) + ADD_DEFINITIONS ( -DWIN32 ) + IF ( NOT CMAKE_BUILD_TYPE STREQUAL "Release" ) + SET ( WIN_DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX} ) + ENDIF() ELSE (WIN32) IF (APPLE) ADD_DEFINITIONS ( -DLOG4CPP_HAVE_SSTREAM ) @@ -97,7 +100,7 @@ ELSE() ENDIF () ENDIF() -message("LOG4CPP_BUILD_SHARED is ${LOG4CPP_BUILD_SHARED} LOG4CPP_BUILD_STATIC is ${LOG4CPP_BUILD_STATIC}") +MESSAGE("LOG4CPP_BUILD_SHARED is ${LOG4CPP_BUILD_SHARED}; LOG4CPP_BUILD_STATIC is ${LOG4CPP_BUILD_STATIC}") IF (LOG4CPP_BUILD_STATIC) ADD_LIBRARY ( LOG4CPP_STATIC STATIC ${LOG4CPP_LIBRARY_SOURCES} ) @@ -109,20 +112,31 @@ IF (LOG4CPP_BUILD_STATIC) ENDIF() TARGET_COMPILE_DEFINITIONS ( LOG4CPP_STATIC PRIVATE $<$<CONFIG:Debug>:_DEBUG DEBUG LOG4CPP_FIX_ERROR_COLLISION> ) TARGET_COMPILE_DEFINITIONS ( LOG4CPP_STATIC PRIVATE $<$<CONFIG:Release>:NDEBUG> ) -ENDIF () +ENDIF (LOG4CPP_BUILD_STATIC) IF (LOG4CPP_BUILD_SHARED) ADD_LIBRARY ( LOG4CPP_SHARED SHARED ${LOG4CPP_LIBRARY_SOURCES} ) SET_TARGET_PROPERTIES( LOG4CPP_SHARED PROPERTIES OUTPUT_NAME ${LOG4CPP_LIBRARY_NAME} ) TARGET_COMPILE_DEFINITIONS ( LOG4CPP_SHARED PRIVATE $<$<CONFIG:Debug>:_DEBUG DEBUG LOG4CPP_FIX_ERROR_COLLISION> ) TARGET_COMPILE_DEFINITIONS ( LOG4CPP_SHARED PRIVATE $<$<CONFIG:Release>:NDEBUG> ) -ENDIF () + IF (WIN32) + TARGET_COMPILE_DEFINITIONS ( LOG4CPP_SHARED PRIVATE -D_CRT_SECURE_NO_WARNINGS -DLOG4CPP_HAS_DLL -DLOG4CPP_BUILD_DLL ) + ENDIF (WIN32) +ENDIF (LOG4CPP_BUILD_SHARED) IF (WIN32) - TARGET_LINK_LIBRARIES ( LOG4CPP_STATIC PRIVATE kernel32 user32 ws2_32 advapi32 msvcrt${CMAKE_DEBUG_POSTFIX} ) - SET_TARGET_PROPERTIES ( LOG4CPP_STATIC PROPERTIES LINK_FLAGS /NODEFAULTLIB:msvcrt${CMAKE_DEBUG_POSTFIX} ) - TARGET_LINK_LIBRARIES ( LOG4CPP_SHARED PRIVATE kernel32 user32 ws2_32 advapi32 msvcrt${CMAKE_DEBUG_POSTFIX} ) - SET_TARGET_PROPERTIES ( LOG4CPP_SHARED PROPERTIES LINK_FLAGS /NODEFAULTLIB:msvcrt${CMAKE_DEBUG_POSTFIX} ) + # RAD Studio specifics + IF (CMAKE_CXX_COMPILER MATCHES ".*bcc32c.*" OR CMAKE_CXX_COMPILER MATCHES ".*bcc64x.*") + MESSAGE(STATUS "Embarcadero C++Builder detected") + SET ( WIN_DEBUG_POSTFIX "" ) + SET_EMBT_TARGET( LOG4CPP_STATIC RTL ) + SET_EMBT_TARGET( LOG4CPP_SHARED RTL ) + ENDIF() + + TARGET_LINK_LIBRARIES ( LOG4CPP_STATIC PRIVATE kernel32 user32 ws2_32 advapi32 msvcrt${WIN_DEBUG_POSTFIX} ) + #SET_TARGET_PROPERTIES ( LOG4CPP_STATIC PROPERTIES LINK_FLAGS /NODEFAULTLIB:msvcrt${WIN_DEBUG_POSTFIX} ) + TARGET_LINK_LIBRARIES ( LOG4CPP_SHARED PRIVATE kernel32 user32 ws2_32 advapi32 msvcrt${WIN_DEBUG_POSTFIX} ) + #SET_TARGET_PROPERTIES ( LOG4CPP_SHARED PROPERTIES LINK_FLAGS /NODEFAULTLIB:msvcrt${WIN_DEBUG_POSTFIX} ) ENDIF (WIN32) INSTALL ( diff --git a/ChangeLog b/ChangeLog index 82fbbc1..ea85da3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,6 @@ +2025-11-13 20:48 sanchouss_ + * CMake script update; support for Embarcadero RAD Studio 12 + 2025-11-08 22:37 sanchouss_ * Cmake script update: support release and debug build types (defaults to release); build both static and shared libraries; pass necessary cpp macros for debug * MS Visual Studio 2022 can open log4cpp as CMake Project ----------------------------------------------------------------------- Summary of changes: AUTHORS | 19 ++++++++++++++++++- CMakeLists.txt | 30 ++++++++++++++++++++++-------- ChangeLog | 3 +++ doc/html/index.html | 31 ++++++++++++++++++++++++------- src/DailyRollingFileAppender.cpp | 2 ++ 5 files changed, 69 insertions(+), 16 deletions(-) hooks/post-receive -- Log4cpp Git repository. |
| From: <log...@li...> - 2025-11-08 22:10:39 |
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Log4cpp Git repository.". The branch, master has been updated via 7a6b6c83f1ce70f99ae39a752ed87e163c8825c4 (commit) via 8f7b52632d8e7c3a00f514018acd0c7c3bcf910f (commit) via 1e61c8b67b4666e28e9b042aa5b01cda5536d82f (commit) via e51295bbfec32272e06051228ac16e3b18e3e288 (commit) from 4958949bdb44cb2d4c71a2695faf53fd6c19ce0a (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- http://sourceforge.net/p/log4cpp/codegit/ci/ commit 7a6b6c83f1ce70f99ae39a752ed87e163c8825c4 Author: Alexander Perepelkin <san...@us...> Date: Sat Nov 8 23:09:13 2025 +0100 Changelog, index.html diff --git a/ChangeLog b/ChangeLog index b0fc142..82fbbc1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2025-11-08 22:37 sanchouss_ + * Cmake script update: support release and debug build types (defaults to release); build both static and shared libraries; pass necessary cpp macros for debug + * MS Visual Studio 2022 can open log4cpp as CMake Project + * Address bug #158; Add path to m4 macros for autoreconf in GNU Autotools scripts + 2025-10-30 13:15 sanchouss_ * Follow up with the fix for change from discussion 48226 * Update scripts for GNU Autotools shipped with the log4cpp distribution to their fresh versions diff --git a/doc/html/index.html b/doc/html/index.html index 7be880b..25a5177 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -15,7 +15,7 @@ for C++ Project Page on Sourceforge</a> </span> | <span>Last Published: -2025-10-30</span> |</div> +2025-11-08</span> |</div> <hr class="delimiter"> <div id="projectpage"> <div id="navigationpanel" class="lightbackground"> @@ -25,6 +25,12 @@ Page on Sourceforge</a> is log4cpp?</a> </li> <li> <a title="Download" href="#download">Download</a></li> <li><a title="Building" href="#building">Building</a></li> + <ul> + <li><a title="Linux/*nix" href="#buildlinux">Linux/*nix, Autoconf</a> </li> + <li><a title="Linux/*nix" href="#buildcmake">Linux/*nix, CMake</a> </li> + <li><a title="Windows, prj files" href="#buildwindowsprj">Windows, prj files</a> </li> + <li><a title="Windows, CMake" href="#buildwindowscmake">Windows, CMake</a> </li> + </ul> <li><a title="License" href="#license">License</a> </li> <li><a title="API Doxygen" href="#apidoxy">API Doxygen</a> </li> @@ -38,10 +44,6 @@ is log4cpp?</a> </li> example</a> </li> <li><a title="Properties file example" href="#propfile">Properties file example</a></li> -<ul> -<li> <a title="Linux/*nix" href="#buildlinux">Linux/*nix</a> </li> -<li> <a title="Windows" href="#buildwindows">Windows</a> </li> -</ul> </ul> <h5>Development</h5> <ul> @@ -92,7 +94,8 @@ the source tar-ball is as simple as <div class="chapter"> <h2><a id="building">Building Log4cpp</a></h2> <h3><a id="buildlinux">Autoconf</a></h3> -<p>The project uses <a href="https://www.gnu.org/software/automake/">GNU Autotools</a> as primary build system. CMake is secondary option.</p> +<p>The project uses <a href="https://www.gnu.org/software/automake/">GNU Autotools</a> as primary build system. + <a href="#buildcmake">CMake</a> is secondary option.</p> <p>If file <code>./configure</code> is absent in project directory (as when the code is checked out from repository), run the following:</p> <pre class="code">./autogen.sh<br></pre> This will create <code>./configure</code> and the necessary <code>Makefile.in</code>'s. Then: @@ -182,7 +185,7 @@ Also static libraries appear not to work. In short do: </dd> </dl> <dl> -<dt><a id="buildwindows">Win32 - VS2010</a></dt> +<dt><a id="buildwindowsprj">Win32 - VS2010</a></dt> <dd>Use the workspace and project files in subdirectory msvc10. (You may need to adjust include/log4cpp/config-win32.h and the project files to your particular needs)</dd> @@ -225,7 +228,7 @@ only. <dd>1) Copy the src and include directory (including all its contents and subdirectories) onto your OpenVMS system.</dd> <dd>2) Compile each source file (*.CPP and *.C in the src -directory) one by one by the following command, +directory) one by one with the following command, <pre class="code">cxx /include=("/a1\$dkb0/user/tony/project/log4cpp/include") /define=(__USE_STD_IOSTREAM,__OPENVMS__) /repository=a1$dkb0:[user.tony.project.log4cpp.repository] APPENDER.CPP<br>cxx /include=("/a1\$dkb0/user/tony/project/log4cpp/include") /define=(__USE_STD_IOSTREAM,__OPENVMS__) /repository=a1$dkb0:[user.tony.project.log4cpp.repository] APPENDERSKELETON.CPP<br></pre> ...etc<br> Please substitute a correct path for your include directory. A @@ -246,6 +249,23 @@ A1$DKB0:[USER.TONY.PROJECT.LOG4CPP.REPOSITORY].<br> </dd> </dl> </dl> + +<h3><a id="buildcmake">CMake</a></h3> + <p>Browse into the source code catalog (<code>log4cpp</code>) and run the following for Release build:</p> + <pre class="code"> +cmake -S . -B build_release -DCMAKE_BUILD_TYPE=Release<br> +cmake --build build_release + </pre> + This will create <code>./build_release</code>, compile and build libraries into it. + <p>Debug build is analogous:</p> + <pre class="code"> +cmake -S . -B build_debug -DCMAKE_BUILD_TYPE=Debug<br> +cmake --build build_debug + </pre> + <h3><a id="buildwindowscmake">Windows, CMake</a></h3> + <p>On Windows MS Visual Studio can open <code>log4cpp</code> catalog and detect that it is a CMake project.</p> + <p>Works since log4cpp 1.1.5. </p> + <a href="#begin">^</a> </div> @@ -605,7 +625,10 @@ WARNING: releases from the development branch are a 'work in progress' and may f <small> <dl> -<dt>1.1.5rc2 - master branch (30 October 2025)</dt> +<dt>1.1.5rc3 - master branch (08 November 2025)</dt> +<dd>Cmake script update: support release and debug build types (defaults to release); build both static and shared libraries; pass necessary cpp macros for debug</dd> +<dd>MS Visual Studio 2022 can open log4cpp as CMake Project</dd> +<dd>Address bug #158; Add path to m4 macros for autoreconf in GNU Autotools scripts</dd> <dd>Discussion 48226 by Andrew E Page. Alter CMakeLists to allow installation paths for x86 and arm64 be different so that cross-compilation on single host is possible.</dd> <dd>Update scripts for GNU Autotools shipped with the log4cpp distribution to their fresh versions</dd> <dd>Fixes for compilation warnings and spellings caught by Debian Patch</dd> http://sourceforge.net/p/log4cpp/codegit/ci/ commit 7a6b6c83f1ce70f99ae39a752ed87e163c8825c4 Author: Alexander Perepelkin <san...@us...> Date: Sat Nov 8 23:09:13 2025 +0100 Changelog, index.html diff --git a/ChangeLog b/ChangeLog index b0fc142..82fbbc1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2025-11-08 22:37 sanchouss_ + * Cmake script update: support release and debug build types (defaults to release); build both static and shared libraries; pass necessary cpp macros for debug + * MS Visual Studio 2022 can open log4cpp as CMake Project + * Address bug #158; Add path to m4 macros for autoreconf in GNU Autotools scripts + 2025-10-30 13:15 sanchouss_ * Follow up with the fix for change from discussion 48226 * Update scripts for GNU Autotools shipped with the log4cpp distribution to their fresh versions diff --git a/doc/html/index.html b/doc/html/index.html index 7be880b..25a5177 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -15,7 +15,7 @@ for C++ Project Page on Sourceforge</a> </span> | <span>Last Published: -2025-10-30</span> |</div> +2025-11-08</span> |</div> <hr class="delimiter"> <div id="projectpage"> <div id="navigationpanel" class="lightbackground"> @@ -25,6 +25,12 @@ Page on Sourceforge</a> is log4cpp?</a> </li> <li> <a title="Download" href="#download">Download</a></li> <li><a title="Building" href="#building">Building</a></li> + <ul> + <li><a title="Linux/*nix" href="#buildlinux">Linux/*nix, Autoconf</a> </li> + <li><a title="Linux/*nix" href="#buildcmake">Linux/*nix, CMake</a> </li> + <li><a title="Windows, prj files" href="#buildwindowsprj">Windows, prj files</a> </li> + <li><a title="Windows, CMake" href="#buildwindowscmake">Windows, CMake</a> </li> + </ul> <li><a title="License" href="#license">License</a> </li> <li><a title="API Doxygen" href="#apidoxy">API Doxygen</a> </li> @@ -38,10 +44,6 @@ is log4cpp?</a> </li> example</a> </li> <li><a title="Properties file example" href="#propfile">Properties file example</a></li> -<ul> -<li> <a title="Linux/*nix" href="#buildlinux">Linux/*nix</a> </li> -<li> <a title="Windows" href="#buildwindows">Windows</a> </li> -</ul> </ul> <h5>Development</h5> <ul> @@ -92,7 +94,8 @@ the source tar-ball is as simple as <div class="chapter"> <h2><a id="building">Building Log4cpp</a></h2> <h3><a id="buildlinux">Autoconf</a></h3> -<p>The project uses <a href="https://www.gnu.org/software/automake/">GNU Autotools</a> as primary build system. CMake is secondary option.</p> +<p>The project uses <a href="https://www.gnu.org/software/automake/">GNU Autotools</a> as primary build system. + <a href="#buildcmake">CMake</a> is secondary option.</p> <p>If file <code>./configure</code> is absent in project directory (as when the code is checked out from repository), run the following:</p> <pre class="code">./autogen.sh<br></pre> This will create <code>./configure</code> and the necessary <code>Makefile.in</code>'s. Then: @@ -182,7 +185,7 @@ Also static libraries appear not to work. In short do: </dd> </dl> <dl> -<dt><a id="buildwindows">Win32 - VS2010</a></dt> +<dt><a id="buildwindowsprj">Win32 - VS2010</a></dt> <dd>Use the workspace and project files in subdirectory msvc10. (You may need to adjust include/log4cpp/config-win32.h and the project files to your particular needs)</dd> @@ -225,7 +228,7 @@ only. <dd>1) Copy the src and include directory (including all its contents and subdirectories) onto your OpenVMS system.</dd> <dd>2) Compile each source file (*.CPP and *.C in the src -directory) one by one by the following command, +directory) one by one with the following command, <pre class="code">cxx /include=("/a1\$dkb0/user/tony/project/log4cpp/include") /define=(__USE_STD_IOSTREAM,__OPENVMS__) /repository=a1$dkb0:[user.tony.project.log4cpp.repository] APPENDER.CPP<br>cxx /include=("/a1\$dkb0/user/tony/project/log4cpp/include") /define=(__USE_STD_IOSTREAM,__OPENVMS__) /repository=a1$dkb0:[user.tony.project.log4cpp.repository] APPENDERSKELETON.CPP<br></pre> ...etc<br> Please substitute a correct path for your include directory. A @@ -246,6 +249,23 @@ A1$DKB0:[USER.TONY.PROJECT.LOG4CPP.REPOSITORY].<br> </dd> </dl> </dl> + +<h3><a id="buildcmake">CMake</a></h3> + <p>Browse into the source code catalog (<code>log4cpp</code>) and run the following for Release build:</p> + <pre class="code"> +cmake -S . -B build_release -DCMAKE_BUILD_TYPE=Release<br> +cmake --build build_release + </pre> + This will create <code>./build_release</code>, compile and build libraries into it. + <p>Debug build is analogous:</p> + <pre class="code"> +cmake -S . -B build_debug -DCMAKE_BUILD_TYPE=Debug<br> +cmake --build build_debug + </pre> + <h3><a id="buildwindowscmake">Windows, CMake</a></h3> + <p>On Windows MS Visual Studio can open <code>log4cpp</code> catalog and detect that it is a CMake project.</p> + <p>Works since log4cpp 1.1.5. </p> + <a href="#begin">^</a> </div> @@ -605,7 +625,10 @@ WARNING: releases from the development branch are a 'work in progress' and may f <small> <dl> -<dt>1.1.5rc2 - master branch (30 October 2025)</dt> +<dt>1.1.5rc3 - master branch (08 November 2025)</dt> +<dd>Cmake script update: support release and debug build types (defaults to release); build both static and shared libraries; pass necessary cpp macros for debug</dd> +<dd>MS Visual Studio 2022 can open log4cpp as CMake Project</dd> +<dd>Address bug #158; Add path to m4 macros for autoreconf in GNU Autotools scripts</dd> <dd>Discussion 48226 by Andrew E Page. Alter CMakeLists to allow installation paths for x86 and arm64 be different so that cross-compilation on single host is possible.</dd> <dd>Update scripts for GNU Autotools shipped with the log4cpp distribution to their fresh versions</dd> <dd>Fixes for compilation warnings and spellings caught by Debian Patch</dd> http://sourceforge.net/p/log4cpp/codegit/ci/ commit 7a6b6c83f1ce70f99ae39a752ed87e163c8825c4 Author: Alexander Perepelkin <san...@us...> Date: Sat Nov 8 23:09:13 2025 +0100 Changelog, index.html diff --git a/ChangeLog b/ChangeLog index b0fc142..82fbbc1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2025-11-08 22:37 sanchouss_ + * Cmake script update: support release and debug build types (defaults to release); build both static and shared libraries; pass necessary cpp macros for debug + * MS Visual Studio 2022 can open log4cpp as CMake Project + * Address bug #158; Add path to m4 macros for autoreconf in GNU Autotools scripts + 2025-10-30 13:15 sanchouss_ * Follow up with the fix for change from discussion 48226 * Update scripts for GNU Autotools shipped with the log4cpp distribution to their fresh versions diff --git a/doc/html/index.html b/doc/html/index.html index 7be880b..25a5177 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -15,7 +15,7 @@ for C++ Project Page on Sourceforge</a> </span> | <span>Last Published: -2025-10-30</span> |</div> +2025-11-08</span> |</div> <hr class="delimiter"> <div id="projectpage"> <div id="navigationpanel" class="lightbackground"> @@ -25,6 +25,12 @@ Page on Sourceforge</a> is log4cpp?</a> </li> <li> <a title="Download" href="#download">Download</a></li> <li><a title="Building" href="#building">Building</a></li> + <ul> + <li><a title="Linux/*nix" href="#buildlinux">Linux/*nix, Autoconf</a> </li> + <li><a title="Linux/*nix" href="#buildcmake">Linux/*nix, CMake</a> </li> + <li><a title="Windows, prj files" href="#buildwindowsprj">Windows, prj files</a> </li> + <li><a title="Windows, CMake" href="#buildwindowscmake">Windows, CMake</a> </li> + </ul> <li><a title="License" href="#license">License</a> </li> <li><a title="API Doxygen" href="#apidoxy">API Doxygen</a> </li> @@ -38,10 +44,6 @@ is log4cpp?</a> </li> example</a> </li> <li><a title="Properties file example" href="#propfile">Properties file example</a></li> -<ul> -<li> <a title="Linux/*nix" href="#buildlinux">Linux/*nix</a> </li> -<li> <a title="Windows" href="#buildwindows">Windows</a> </li> -</ul> </ul> <h5>Development</h5> <ul> @@ -92,7 +94,8 @@ the source tar-ball is as simple as <div class="chapter"> <h2><a id="building">Building Log4cpp</a></h2> <h3><a id="buildlinux">Autoconf</a></h3> -<p>The project uses <a href="https://www.gnu.org/software/automake/">GNU Autotools</a> as primary build system. CMake is secondary option.</p> +<p>The project uses <a href="https://www.gnu.org/software/automake/">GNU Autotools</a> as primary build system. + <a href="#buildcmake">CMake</a> is secondary option.</p> <p>If file <code>./configure</code> is absent in project directory (as when the code is checked out from repository), run the following:</p> <pre class="code">./autogen.sh<br></pre> This will create <code>./configure</code> and the necessary <code>Makefile.in</code>'s. Then: @@ -182,7 +185,7 @@ Also static libraries appear not to work. In short do: </dd> </dl> <dl> -<dt><a id="buildwindows">Win32 - VS2010</a></dt> +<dt><a id="buildwindowsprj">Win32 - VS2010</a></dt> <dd>Use the workspace and project files in subdirectory msvc10. (You may need to adjust include/log4cpp/config-win32.h and the project files to your particular needs)</dd> @@ -225,7 +228,7 @@ only. <dd>1) Copy the src and include directory (including all its contents and subdirectories) onto your OpenVMS system.</dd> <dd>2) Compile each source file (*.CPP and *.C in the src -directory) one by one by the following command, +directory) one by one with the following command, <pre class="code">cxx /include=("/a1\$dkb0/user/tony/project/log4cpp/include") /define=(__USE_STD_IOSTREAM,__OPENVMS__) /repository=a1$dkb0:[user.tony.project.log4cpp.repository] APPENDER.CPP<br>cxx /include=("/a1\$dkb0/user/tony/project/log4cpp/include") /define=(__USE_STD_IOSTREAM,__OPENVMS__) /repository=a1$dkb0:[user.tony.project.log4cpp.repository] APPENDERSKELETON.CPP<br></pre> ...etc<br> Please substitute a correct path for your include directory. A @@ -246,6 +249,23 @@ A1$DKB0:[USER.TONY.PROJECT.LOG4CPP.REPOSITORY].<br> </dd> </dl> </dl> + +<h3><a id="buildcmake">CMake</a></h3> + <p>Browse into the source code catalog (<code>log4cpp</code>) and run the following for Release build:</p> + <pre class="code"> +cmake -S . -B build_release -DCMAKE_BUILD_TYPE=Release<br> +cmake --build build_release + </pre> + This will create <code>./build_release</code>, compile and build libraries into it. + <p>Debug build is analogous:</p> + <pre class="code"> +cmake -S . -B build_debug -DCMAKE_BUILD_TYPE=Debug<br> +cmake --build build_debug + </pre> + <h3><a id="buildwindowscmake">Windows, CMake</a></h3> + <p>On Windows MS Visual Studio can open <code>log4cpp</code> catalog and detect that it is a CMake project.</p> + <p>Works since log4cpp 1.1.5. </p> + <a href="#begin">^</a> </div> @@ -605,7 +625,10 @@ WARNING: releases from the development branch are a 'work in progress' and may f <small> <dl> -<dt>1.1.5rc2 - master branch (30 October 2025)</dt> +<dt>1.1.5rc3 - master branch (08 November 2025)</dt> +<dd>Cmake script update: support release and debug build types (defaults to release); build both static and shared libraries; pass necessary cpp macros for debug</dd> +<dd>MS Visual Studio 2022 can open log4cpp as CMake Project</dd> +<dd>Address bug #158; Add path to m4 macros for autoreconf in GNU Autotools scripts</dd> <dd>Discussion 48226 by Andrew E Page. Alter CMakeLists to allow installation paths for x86 and arm64 be different so that cross-compilation on single host is possible.</dd> <dd>Update scripts for GNU Autotools shipped with the log4cpp distribution to their fresh versions</dd> <dd>Fixes for compilation warnings and spellings caught by Debian Patch</dd> http://sourceforge.net/p/log4cpp/codegit/ci/ commit 7a6b6c83f1ce70f99ae39a752ed87e163c8825c4 Author: Alexander Perepelkin <san...@us...> Date: Sat Nov 8 23:09:13 2025 +0100 Changelog, index.html diff --git a/ChangeLog b/ChangeLog index b0fc142..82fbbc1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2025-11-08 22:37 sanchouss_ + * Cmake script update: support release and debug build types (defaults to release); build both static and shared libraries; pass necessary cpp macros for debug + * MS Visual Studio 2022 can open log4cpp as CMake Project + * Address bug #158; Add path to m4 macros for autoreconf in GNU Autotools scripts + 2025-10-30 13:15 sanchouss_ * Follow up with the fix for change from discussion 48226 * Update scripts for GNU Autotools shipped with the log4cpp distribution to their fresh versions diff --git a/doc/html/index.html b/doc/html/index.html index 7be880b..25a5177 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -15,7 +15,7 @@ for C++ Project Page on Sourceforge</a> </span> | <span>Last Published: -2025-10-30</span> |</div> +2025-11-08</span> |</div> <hr class="delimiter"> <div id="projectpage"> <div id="navigationpanel" class="lightbackground"> @@ -25,6 +25,12 @@ Page on Sourceforge</a> is log4cpp?</a> </li> <li> <a title="Download" href="#download">Download</a></li> <li><a title="Building" href="#building">Building</a></li> + <ul> + <li><a title="Linux/*nix" href="#buildlinux">Linux/*nix, Autoconf</a> </li> + <li><a title="Linux/*nix" href="#buildcmake">Linux/*nix, CMake</a> </li> + <li><a title="Windows, prj files" href="#buildwindowsprj">Windows, prj files</a> </li> + <li><a title="Windows, CMake" href="#buildwindowscmake">Windows, CMake</a> </li> + </ul> <li><a title="License" href="#license">License</a> </li> <li><a title="API Doxygen" href="#apidoxy">API Doxygen</a> </li> @@ -38,10 +44,6 @@ is log4cpp?</a> </li> example</a> </li> <li><a title="Properties file example" href="#propfile">Properties file example</a></li> -<ul> -<li> <a title="Linux/*nix" href="#buildlinux">Linux/*nix</a> </li> -<li> <a title="Windows" href="#buildwindows">Windows</a> </li> -</ul> </ul> <h5>Development</h5> <ul> @@ -92,7 +94,8 @@ the source tar-ball is as simple as <div class="chapter"> <h2><a id="building">Building Log4cpp</a></h2> <h3><a id="buildlinux">Autoconf</a></h3> -<p>The project uses <a href="https://www.gnu.org/software/automake/">GNU Autotools</a> as primary build system. CMake is secondary option.</p> +<p>The project uses <a href="https://www.gnu.org/software/automake/">GNU Autotools</a> as primary build system. + <a href="#buildcmake">CMake</a> is secondary option.</p> <p>If file <code>./configure</code> is absent in project directory (as when the code is checked out from repository), run the following:</p> <pre class="code">./autogen.sh<br></pre> This will create <code>./configure</code> and the necessary <code>Makefile.in</code>'s. Then: @@ -182,7 +185,7 @@ Also static libraries appear not to work. In short do: </dd> </dl> <dl> -<dt><a id="buildwindows">Win32 - VS2010</a></dt> +<dt><a id="buildwindowsprj">Win32 - VS2010</a></dt> <dd>Use the workspace and project files in subdirectory msvc10. (You may need to adjust include/log4cpp/config-win32.h and the project files to your particular needs)</dd> @@ -225,7 +228,7 @@ only. <dd>1) Copy the src and include directory (including all its contents and subdirectories) onto your OpenVMS system.</dd> <dd>2) Compile each source file (*.CPP and *.C in the src -directory) one by one by the following command, +directory) one by one with the following command, <pre class="code">cxx /include=("/a1\$dkb0/user/tony/project/log4cpp/include") /define=(__USE_STD_IOSTREAM,__OPENVMS__) /repository=a1$dkb0:[user.tony.project.log4cpp.repository] APPENDER.CPP<br>cxx /include=("/a1\$dkb0/user/tony/project/log4cpp/include") /define=(__USE_STD_IOSTREAM,__OPENVMS__) /repository=a1$dkb0:[user.tony.project.log4cpp.repository] APPENDERSKELETON.CPP<br></pre> ...etc<br> Please substitute a correct path for your include directory. A @@ -246,6 +249,23 @@ A1$DKB0:[USER.TONY.PROJECT.LOG4CPP.REPOSITORY].<br> </dd> </dl> </dl> + +<h3><a id="buildcmake">CMake</a></h3> + <p>Browse into the source code catalog (<code>log4cpp</code>) and run the following for Release build:</p> + <pre class="code"> +cmake -S . -B build_release -DCMAKE_BUILD_TYPE=Release<br> +cmake --build build_release + </pre> + This will create <code>./build_release</code>, compile and build libraries into it. + <p>Debug build is analogous:</p> + <pre class="code"> +cmake -S . -B build_debug -DCMAKE_BUILD_TYPE=Debug<br> +cmake --build build_debug + </pre> + <h3><a id="buildwindowscmake">Windows, CMake</a></h3> + <p>On Windows MS Visual Studio can open <code>log4cpp</code> catalog and detect that it is a CMake project.</p> + <p>Works since log4cpp 1.1.5. </p> + <a href="#begin">^</a> </div> @@ -605,7 +625,10 @@ WARNING: releases from the development branch are a 'work in progress' and may f <small> <dl> -<dt>1.1.5rc2 - master branch (30 October 2025)</dt> +<dt>1.1.5rc3 - master branch (08 November 2025)</dt> +<dd>Cmake script update: support release and debug build types (defaults to release); build both static and shared libraries; pass necessary cpp macros for debug</dd> +<dd>MS Visual Studio 2022 can open log4cpp as CMake Project</dd> +<dd>Address bug #158; Add path to m4 macros for autoreconf in GNU Autotools scripts</dd> <dd>Discussion 48226 by Andrew E Page. Alter CMakeLists to allow installation paths for x86 and arm64 be different so that cross-compilation on single host is possible.</dd> ... 13 lines suppressed ... hooks/post-receive -- Log4cpp Git repository. |
| From: <log...@li...> - 2025-10-30 20:49:34 |
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Log4cpp Git repository.". The branch, master has been updated via 4958949bdb44cb2d4c71a2695faf53fd6c19ce0a (commit) from cfd23bb8e36d704d9f37a5cffa6217fb9b3b9681 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- http://sourceforge.net/p/log4cpp/codegit/ci/ commit 4958949bdb44cb2d4c71a2695faf53fd6c19ce0a Author: Alexander Perepelkin <san...@us...> Date: Thu Oct 30 21:49:14 2025 +0100 index.html diff --git a/doc/html/index.html b/doc/html/index.html index 9f93866..7be880b 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -24,9 +24,11 @@ Page on Sourceforge</a> <li> <a title="What is log4cpp?" href="#whatis">What is log4cpp?</a> </li> <li> <a title="Download" href="#download">Download</a></li> +<li><a title="Building" href="#building">Building</a></li> <li><a title="License" href="#license">License</a> </li> -<li><a title="API Documentation" href="#apidoc">API Documentation</a> </li> +<li><a title="API Doxygen" href="#apidoxy">API Doxygen</a> </li> +<li><a title="Documentation" href="#apidoc">Documentation</a> </li> <li><a title="FAQ" href="#faq">FAQ</a> </li> </ul> @@ -36,8 +38,6 @@ is log4cpp?</a> </li> example</a> </li> <li><a title="Properties file example" href="#propfile">Properties file example</a></li> -<li><a title="Building" href="#building">Building</a> -</li> <ul> <li> <a title="Linux/*nix" href="#buildlinux">Linux/*nix</a> </li> <li> <a title="Windows" href="#buildwindows">Windows</a> </li> @@ -75,8 +75,10 @@ page</a>.<br> We do not supply binaries, because of the numerous incompatible ABIs (e.g. g++ 2.95 vs 2.96 vs 3.0 vs 3.2) and different package formats.<br> +<h2>Distributions</h2> A stable but older version of log4cpp is available in Debian stable, see <a href="http://packages.debian.org/stable/libs/">http://packages.debian.org/stable/libs/</a>.<br> +Ubuntu enlists log4cpp among packages at <a href="https://packages.ubuntu.com/">https://packages.ubuntu.com/</a>.<br> FreeBSD users can find log4cpp in the ports collection, see <a href="http://www.freebsd.org/ports/devel.html">http://www.freebsd.org/ports/devel.html</a><br> Log4cpp includes support for building RPMs, so building your own from @@ -91,7 +93,7 @@ the source tar-ball is as simple as <h2><a id="building">Building Log4cpp</a></h2> <h3><a id="buildlinux">Autoconf</a></h3> <p>The project uses <a href="https://www.gnu.org/software/automake/">GNU Autotools</a> as primary build system. CMake is secondary option.</p> -<p>If file <code>./configuzre</code> is absent in project directory (as when the code is checked out from repository), run the following:</p> +<p>If file <code>./configure</code> is absent in project directory (as when the code is checked out from repository), run the following:</p> <pre class="code">./autogen.sh<br></pre> This will create <code>./configure</code> and the necessary <code>Makefile.in</code>'s. Then: <pre class="code">./configure<br>make<br>make check<br>make install<br></pre> @@ -100,7 +102,7 @@ another location specify option <code>--prefix=<location></code> when running configure. </p> <h3>Options for ./configure</h3> -Besides the usual ./configure options like --prefix a few others are +Besides the usual <code>./configure</code> options like <code>--prefix</code> a few others are available: <dl> <dt>--with-idsa</dt> @@ -262,9 +264,16 @@ You should have received a copy of the GNU Lesser General Public<br>License alon </div> <div class="chapter"> -<h2><a id="apidoc">API Documentation</a></h2> +<h2><a id="apidoxy">API Doxygen</a></h2> <p>API Documentation generated by <a href="http://www.doxygen.org/" name="Doxygen">Doxygen</a> -can be found <a href="http://log4cpp.sourceforge.net/api/index.html">here</a>.<br> +can be found at <a href="http://log4cpp.sourceforge.net/api/index.html">Doxygen generated API</a>.<br> +</p> +<a href="#begin">^</a> +</div> + +<div class="chapter"> +<h2><a id="apidoc">Documentation</a></h2> +<p> The Solaris Developer Connection features an article by Mo Budlon on using log4cpp 0.2.x, called '<a href="https://pages.astro.umd.edu/~mpound/carma/log4cpptutorial">Logging @@ -308,7 +317,7 @@ difficult. But even if that could be overcome it will not happen.<br> Of course the LGPL does grant you the opportunity to choose the GPL instead of the LGPL, but I bet XYZ != GPL. <h3>2. COMPILATION AND INSTALLATION</h3> -See <a href="#building">building</a><br> +See <a href="#building">Building</a><br> <h3>3. USAGE</h3> <h4>3.1. I've succesfully compiled log4cpp, now how do I use this stuff?</h4> @@ -471,7 +480,7 @@ Console output for that example <div class="chapter"> <h2><a id="propfile">Properties file example</a></h2> -<p>Sample main.cpp file that makes use of logging configuration file log4cpp.properties +<p>Sample <code>main.cpp</code> file that makes use of logging configuration file <code>log4cpp.properties</code> </p> <pre class="code"> // main.cpp ----------------------------------------------------------------------- Summary of changes: doc/html/index.html | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) hooks/post-receive -- Log4cpp Git repository. |
| From: <log...@li...> - 2025-10-30 12:21:15 |
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Log4cpp Git repository.". The branch, master has been updated via cfd23bb8e36d704d9f37a5cffa6217fb9b3b9681 (commit) via 6dbb0aba795aabc2456b3d374af3db61ef1358c8 (commit) via 4ca3961ef2da322abb8cfc2d2f8cab7aab720b35 (commit) via 2feb0f2a1186ee42008afa350f276c60b826a74b (commit) from df2c339306bf45f47916c4177ab7b88dd44e9104 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- http://sourceforge.net/p/log4cpp/codegit/ci/ commit cfd23bb8e36d704d9f37a5cffa6217fb9b3b9681 Author: Alexander Perepelkin <san...@us...> Date: Thu Oct 30 13:18:30 2025 +0100 index.html diff --git a/doc/html/index.html b/doc/html/index.html index bde7678..9f93866 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -15,7 +15,7 @@ for C++ Project Page on Sourceforge</a> </span> | <span>Last Published: -2025-10-27</span> |</div> +2025-10-30</span> |</div> <hr class="delimiter"> <div id="projectpage"> <div id="navigationpanel" class="lightbackground"> @@ -249,10 +249,15 @@ A1$DKB0:[USER.TONY.PROJECT.LOG4CPP.REPOSITORY].<br> <div class="chapter"> <h2><a id="license">License</a></h2> -<p>As of version 0.2.1 this library is licensed under the Lesser -General Public License instead of the General Public License. -No further license changes are planned :-). </p> -<pre>Log for C++ (short name: log4cpp), a C++ library for flexible logging.<br>Copyright (C) 2000-2002 LifeLine Networks bv<br>Copyright (C) 2000-2002 Bastiaan Bakker<br>Portions Copyright others, see file THANKS and source code.<br>This library is free software; you can redistribute it and/or<br>modify it under the terms of the GNU Lesser General Public<br>License as published by the Free Software Foundation; either<br>version 2.1 of the License, or (at your option) any later version.<br>This library is distributed in the hope that it will be useful,<br>but WITHOUT ANY WARRANTY; without even the implied warranty of<br>MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>Lesser General Public License for more details.<br>You should have received a copy of the GNU Lesser General Public<br>License along with this library; if not, write to the Free Software<br>Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA<br></pre> +<p>This library is licensed under the <b>Lesser General Public License version 2.1 (LGPL 2.1)</b> as of version 0.2.1, instead of the General Public License (GPL). No further license changes are planned. :-) </p> +<pre>Log for C++ (short name: log4cpp), a C++ library for flexible logging.<br> +Copyright (C) 2000-2002 LifeLine Networks bv<br> +Copyright (C) 2000-2002 Bastiaan Bakker<br> +Portions Copyright others, see file THANKS and source code.<br> +This library is free software; you can redistribute it and/or<br>modify it under the terms of the GNU Lesser General Public<br>License as published by the Free Software Foundation; either<br>version 2.1 of the License, or (at your option) any later version.<br> +This library is distributed in the hope that it will be useful,<br>but WITHOUT ANY WARRANTY; without even the implied warranty of<br>MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>Lesser General Public License for more details.<br> +You should have received a copy of the GNU Lesser General Public<br>License along with this library; if not, see +<a href="https://www.gnu.org/licenses/">https://www.gnu.org/licenses/</a>.<br></pre> <a href="#begin">^</a> </div> @@ -262,7 +267,7 @@ No further license changes are planned :-). </p> can be found <a href="http://log4cpp.sourceforge.net/api/index.html">here</a>.<br> The Solaris Developer Connection features an article by Mo Budlon on using -log4cpp 0.2.x, called '<a href="http://developers.sun.com/solaris/articles/logging.html">Logging +log4cpp 0.2.x, called '<a href="https://pages.astro.umd.edu/~mpound/carma/log4cpptutorial">Logging and Tracing in C++ Simplified</a>'. Recommended reading if you trying to figure out how to use log4cpp! </p> @@ -591,8 +596,10 @@ WARNING: releases from the development branch are a 'work in progress' and may f <small> <dl> -<dt>1.1.5rc1 - master branch (23 August 2024)</dt> +<dt>1.1.5rc2 - master branch (30 October 2025)</dt> <dd>Discussion 48226 by Andrew E Page. Alter CMakeLists to allow installation paths for x86 and arm64 be different so that cross-compilation on single host is possible.</dd> +<dd>Update scripts for GNU Autotools shipped with the log4cpp distribution to their fresh versions</dd> +<dd>Fixes for compilation warnings and spellings caught by Debian Patch</dd> </dl> <dl> @@ -638,6 +645,11 @@ WARNING: releases from the development branch are a 'work in progress' and may f <dd>Stable 1.0 release.</dd> </dl> +<dl> +<dt>0.3.5 - master branch (12 April 2005)</dt> +<dd>Updating version to 0.3.5</dd> +</dl> + <dl> <dt>0.3.4 - development branch (28 October 2002)</dt> <dd>Fixed builds for MSVC6 and MSVC7.</dd> http://sourceforge.net/p/log4cpp/codegit/ci/ commit cfd23bb8e36d704d9f37a5cffa6217fb9b3b9681 Author: Alexander Perepelkin <san...@us...> Date: Thu Oct 30 13:18:30 2025 +0100 index.html diff --git a/doc/html/index.html b/doc/html/index.html index bde7678..9f93866 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -15,7 +15,7 @@ for C++ Project Page on Sourceforge</a> </span> | <span>Last Published: -2025-10-27</span> |</div> +2025-10-30</span> |</div> <hr class="delimiter"> <div id="projectpage"> <div id="navigationpanel" class="lightbackground"> @@ -249,10 +249,15 @@ A1$DKB0:[USER.TONY.PROJECT.LOG4CPP.REPOSITORY].<br> <div class="chapter"> <h2><a id="license">License</a></h2> -<p>As of version 0.2.1 this library is licensed under the Lesser -General Public License instead of the General Public License. -No further license changes are planned :-). </p> -<pre>Log for C++ (short name: log4cpp), a C++ library for flexible logging.<br>Copyright (C) 2000-2002 LifeLine Networks bv<br>Copyright (C) 2000-2002 Bastiaan Bakker<br>Portions Copyright others, see file THANKS and source code.<br>This library is free software; you can redistribute it and/or<br>modify it under the terms of the GNU Lesser General Public<br>License as published by the Free Software Foundation; either<br>version 2.1 of the License, or (at your option) any later version.<br>This library is distributed in the hope that it will be useful,<br>but WITHOUT ANY WARRANTY; without even the implied warranty of<br>MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>Lesser General Public License for more details.<br>You should have received a copy of the GNU Lesser General Public<br>License along with this library; if not, write to the Free Software<br>Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA<br></pre> +<p>This library is licensed under the <b>Lesser General Public License version 2.1 (LGPL 2.1)</b> as of version 0.2.1, instead of the General Public License (GPL). No further license changes are planned. :-) </p> +<pre>Log for C++ (short name: log4cpp), a C++ library for flexible logging.<br> +Copyright (C) 2000-2002 LifeLine Networks bv<br> +Copyright (C) 2000-2002 Bastiaan Bakker<br> +Portions Copyright others, see file THANKS and source code.<br> +This library is free software; you can redistribute it and/or<br>modify it under the terms of the GNU Lesser General Public<br>License as published by the Free Software Foundation; either<br>version 2.1 of the License, or (at your option) any later version.<br> +This library is distributed in the hope that it will be useful,<br>but WITHOUT ANY WARRANTY; without even the implied warranty of<br>MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>Lesser General Public License for more details.<br> +You should have received a copy of the GNU Lesser General Public<br>License along with this library; if not, see +<a href="https://www.gnu.org/licenses/">https://www.gnu.org/licenses/</a>.<br></pre> <a href="#begin">^</a> </div> @@ -262,7 +267,7 @@ No further license changes are planned :-). </p> can be found <a href="http://log4cpp.sourceforge.net/api/index.html">here</a>.<br> The Solaris Developer Connection features an article by Mo Budlon on using -log4cpp 0.2.x, called '<a href="http://developers.sun.com/solaris/articles/logging.html">Logging +log4cpp 0.2.x, called '<a href="https://pages.astro.umd.edu/~mpound/carma/log4cpptutorial">Logging and Tracing in C++ Simplified</a>'. Recommended reading if you trying to figure out how to use log4cpp! </p> @@ -591,8 +596,10 @@ WARNING: releases from the development branch are a 'work in progress' and may f <small> <dl> -<dt>1.1.5rc1 - master branch (23 August 2024)</dt> +<dt>1.1.5rc2 - master branch (30 October 2025)</dt> <dd>Discussion 48226 by Andrew E Page. Alter CMakeLists to allow installation paths for x86 and arm64 be different so that cross-compilation on single host is possible.</dd> +<dd>Update scripts for GNU Autotools shipped with the log4cpp distribution to their fresh versions</dd> +<dd>Fixes for compilation warnings and spellings caught by Debian Patch</dd> </dl> <dl> @@ -638,6 +645,11 @@ WARNING: releases from the development branch are a 'work in progress' and may f <dd>Stable 1.0 release.</dd> </dl> +<dl> +<dt>0.3.5 - master branch (12 April 2005)</dt> +<dd>Updating version to 0.3.5</dd> +</dl> + <dl> <dt>0.3.4 - development branch (28 October 2002)</dt> <dd>Fixed builds for MSVC6 and MSVC7.</dd> http://sourceforge.net/p/log4cpp/codegit/ci/ commit cfd23bb8e36d704d9f37a5cffa6217fb9b3b9681 Author: Alexander Perepelkin <san...@us...> Date: Thu Oct 30 13:18:30 2025 +0100 index.html diff --git a/doc/html/index.html b/doc/html/index.html index bde7678..9f93866 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -15,7 +15,7 @@ for C++ Project Page on Sourceforge</a> </span> | <span>Last Published: -2025-10-27</span> |</div> +2025-10-30</span> |</div> <hr class="delimiter"> <div id="projectpage"> <div id="navigationpanel" class="lightbackground"> @@ -249,10 +249,15 @@ A1$DKB0:[USER.TONY.PROJECT.LOG4CPP.REPOSITORY].<br> <div class="chapter"> <h2><a id="license">License</a></h2> -<p>As of version 0.2.1 this library is licensed under the Lesser -General Public License instead of the General Public License. -No further license changes are planned :-). </p> -<pre>Log for C++ (short name: log4cpp), a C++ library for flexible logging.<br>Copyright (C) 2000-2002 LifeLine Networks bv<br>Copyright (C) 2000-2002 Bastiaan Bakker<br>Portions Copyright others, see file THANKS and source code.<br>This library is free software; you can redistribute it and/or<br>modify it under the terms of the GNU Lesser General Public<br>License as published by the Free Software Foundation; either<br>version 2.1 of the License, or (at your option) any later version.<br>This library is distributed in the hope that it will be useful,<br>but WITHOUT ANY WARRANTY; without even the implied warranty of<br>MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>Lesser General Public License for more details.<br>You should have received a copy of the GNU Lesser General Public<br>License along with this library; if not, write to the Free Software<br>Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA<br></pre> +<p>This library is licensed under the <b>Lesser General Public License version 2.1 (LGPL 2.1)</b> as of version 0.2.1, instead of the General Public License (GPL). No further license changes are planned. :-) </p> +<pre>Log for C++ (short name: log4cpp), a C++ library for flexible logging.<br> +Copyright (C) 2000-2002 LifeLine Networks bv<br> +Copyright (C) 2000-2002 Bastiaan Bakker<br> +Portions Copyright others, see file THANKS and source code.<br> +This library is free software; you can redistribute it and/or<br>modify it under the terms of the GNU Lesser General Public<br>License as published by the Free Software Foundation; either<br>version 2.1 of the License, or (at your option) any later version.<br> +This library is distributed in the hope that it will be useful,<br>but WITHOUT ANY WARRANTY; without even the implied warranty of<br>MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>Lesser General Public License for more details.<br> +You should have received a copy of the GNU Lesser General Public<br>License along with this library; if not, see +<a href="https://www.gnu.org/licenses/">https://www.gnu.org/licenses/</a>.<br></pre> <a href="#begin">^</a> </div> @@ -262,7 +267,7 @@ No further license changes are planned :-). </p> can be found <a href="http://log4cpp.sourceforge.net/api/index.html">here</a>.<br> The Solaris Developer Connection features an article by Mo Budlon on using -log4cpp 0.2.x, called '<a href="http://developers.sun.com/solaris/articles/logging.html">Logging +log4cpp 0.2.x, called '<a href="https://pages.astro.umd.edu/~mpound/carma/log4cpptutorial">Logging and Tracing in C++ Simplified</a>'. Recommended reading if you trying to figure out how to use log4cpp! </p> @@ -591,8 +596,10 @@ WARNING: releases from the development branch are a 'work in progress' and may f <small> <dl> -<dt>1.1.5rc1 - master branch (23 August 2024)</dt> +<dt>1.1.5rc2 - master branch (30 October 2025)</dt> <dd>Discussion 48226 by Andrew E Page. Alter CMakeLists to allow installation paths for x86 and arm64 be different so that cross-compilation on single host is possible.</dd> +<dd>Update scripts for GNU Autotools shipped with the log4cpp distribution to their fresh versions</dd> +<dd>Fixes for compilation warnings and spellings caught by Debian Patch</dd> </dl> <dl> @@ -638,6 +645,11 @@ WARNING: releases from the development branch are a 'work in progress' and may f <dd>Stable 1.0 release.</dd> </dl> +<dl> +<dt>0.3.5 - master branch (12 April 2005)</dt> +<dd>Updating version to 0.3.5</dd> +</dl> + <dl> <dt>0.3.4 - development branch (28 October 2002)</dt> <dd>Fixed builds for MSVC6 and MSVC7.</dd> http://sourceforge.net/p/log4cpp/codegit/ci/ commit cfd23bb8e36d704d9f37a5cffa6217fb9b3b9681 Author: Alexander Perepelkin <san...@us...> Date: Thu Oct 30 13:18:30 2025 +0100 index.html diff --git a/doc/html/index.html b/doc/html/index.html index bde7678..9f93866 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -15,7 +15,7 @@ for C++ Project Page on Sourceforge</a> </span> | <span>Last Published: -2025-10-27</span> |</div> +2025-10-30</span> |</div> <hr class="delimiter"> <div id="projectpage"> <div id="navigationpanel" class="lightbackground"> @@ -249,10 +249,15 @@ A1$DKB0:[USER.TONY.PROJECT.LOG4CPP.REPOSITORY].<br> <div class="chapter"> <h2><a id="license">License</a></h2> -<p>As of version 0.2.1 this library is licensed under the Lesser -General Public License instead of the General Public License. -No further license changes are planned :-). </p> -<pre>Log for C++ (short name: log4cpp), a C++ library for flexible logging.<br>Copyright (C) 2000-2002 LifeLine Networks bv<br>Copyright (C) 2000-2002 Bastiaan Bakker<br>Portions Copyright others, see file THANKS and source code.<br>This library is free software; you can redistribute it and/or<br>modify it under the terms of the GNU Lesser General Public<br>License as published by the Free Software Foundation; either<br>version 2.1 of the License, or (at your option) any later version.<br>This library is distributed in the hope that it will be useful,<br>but WITHOUT ANY WARRANTY; without even the implied warranty of<br>MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>Lesser General Public License for more details.<br>You should have received a copy of the GNU Lesser General Public<br>License along with this library; if not, write to the Free Software<br>Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA<br></pre> +<p>This library is licensed under the <b>Lesser General Public License version 2.1 (LGPL 2.1)</b> as of version 0.2.1, instead of the General Public License (GPL). No further license changes are planned. :-) </p> +<pre>Log for C++ (short name: log4cpp), a C++ library for flexible logging.<br> +Copyright (C) 2000-2002 LifeLine Networks bv<br> +Copyright (C) 2000-2002 Bastiaan Bakker<br> +Portions Copyright others, see file THANKS and source code.<br> +This library is free software; you can redistribute it and/or<br>modify it under the terms of the GNU Lesser General Public<br>License as published by the Free Software Foundation; either<br>version 2.1 of the License, or (at your option) any later version.<br> +This library is distributed in the hope that it will be useful,<br>but WITHOUT ANY WARRANTY; without even the implied warranty of<br>MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>Lesser General Public License for more details.<br> +You should have received a copy of the GNU Lesser General Public<br>License along with this library; if not, see +<a href="https://www.gnu.org/licenses/">https://www.gnu.org/licenses/</a>.<br></pre> <a href="#begin">^</a> </div> @@ -262,7 +267,7 @@ No further license changes are planned :-). </p> can be found <a href="http://log4cpp.sourceforge.net/api/index.html">here</a>.<br> The Solaris Developer Connection features an article by Mo Budlon on using -log4cpp 0.2.x, called '<a href="http://developers.sun.com/solaris/articles/logging.html">Logging +log4cpp 0.2.x, called '<a href="https://pages.astro.umd.edu/~mpound/carma/log4cpptutorial">Logging and Tracing in C++ Simplified</a>'. Recommended reading if you trying to figure out how to use log4cpp! </p> @@ -591,8 +596,10 @@ WARNING: releases from the development branch are a 'work in progress' and may f <small> <dl> -<dt>1.1.5rc1 - master branch (23 August 2024)</dt> +<dt>1.1.5rc2 - master branch (30 October 2025)</dt> <dd>Discussion 48226 by Andrew E Page. Alter CMakeLists to allow installation paths for x86 and arm64 be different so that cross-compilation on single host is possible.</dd> +<dd>Update scripts for GNU Autotools shipped with the log4cpp distribution to their fresh versions</dd> +<dd>Fixes for compilation warnings and spellings caught by Debian Patch</dd> </dl> <dl> @@ -638,6 +645,11 @@ WARNING: releases from the development branch are a 'work in progress' and may f <dd>Stable 1.0 release.</dd> </dl> +<dl> +<dt>0.3.5 - master branch (12 April 2005)</dt> +<dd>Updating version to 0.3.5</dd> +</dl> + <dl> <dt>0.3.4 - development branch (28 October 2002)</dt> <dd>Fixed builds for MSVC6 and MSVC7.</dd> ----------------------------------------------------------------------- Summary of changes: ChangeLog | 3 ++- doc/html/index.html | 26 +++++++++++++++++++------- include/log4cpp/config-win32.h | 2 +- src/BufferingAppender.cpp | 2 ++ src/LayoutsFactory.cpp | 2 +- src/SimpleConfigurator.cpp | 4 ++-- src/TriggeringEventEvaluatorFactory.cpp | 2 +- 7 files changed, 28 insertions(+), 13 deletions(-) hooks/post-receive -- Log4cpp Git repository. |