From 3988d492acc3bb796738d57bca436dbc74835a2d Mon Sep 17 00:00:00 2001 From: Oliver James Date: Thu, 6 Jun 2024 14:13:02 +0100 Subject: [PATCH] Core: Move __DATE__ and __TIME__ into a dedicated TU --- .../juce_core/juce_core_CompilationTime.cpp | 41 +++++++++++++++++++ modules/juce_core/time/juce_Time.cpp | 8 +++- 2 files changed, 47 insertions(+), 2 deletions(-) create mode 100644 modules/juce_core/juce_core_CompilationTime.cpp diff --git a/modules/juce_core/juce_core_CompilationTime.cpp b/modules/juce_core/juce_core_CompilationTime.cpp new file mode 100644 index 0000000000..9ce03fa25c --- /dev/null +++ b/modules/juce_core/juce_core_CompilationTime.cpp @@ -0,0 +1,41 @@ +/* + ============================================================================== + + This file is part of the JUCE framework. + Copyright (c) Raw Material Software Limited + + JUCE is an open source framework subject to commercial or open source + licensing. + + By downloading, installing, or using the JUCE framework, or combining the + JUCE framework with any other source code, object code, content or any other + copyrightable work, you agree to the terms of the JUCE End User Licence + Agreement, and all incorporated terms including the JUCE Privacy Policy and + the JUCE Website Terms of Service, as applicable, which will bind you. If you + do not agree to the terms of these agreements, we will not license the JUCE + framework to you, and you must discontinue the installation or download + process and cease use of the JUCE framework. + + JUCE End User Licence Agreement: https://juce.com/legal/juce-8-licence/ + JUCE Privacy Policy: https://juce.com/juce-privacy-policy + JUCE Website Terms of Service: https://juce.com/juce-website-terms-of-service/ + + Or: + + You may also use this code under the terms of the AGPLv3: + https://www.gnu.org/licenses/agpl-3.0.en.html + + THE JUCE FRAMEWORK IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL + WARRANTIES, WHETHER EXPRESSED OR IMPLIED, INCLUDING WARRANTY OF + MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, ARE DISCLAIMED. + + ============================================================================== +*/ + +namespace juce +{ + +const char* juce_compilationDate = __DATE__; +const char* juce_compilationTime = __TIME__; + +} diff --git a/modules/juce_core/time/juce_Time.cpp b/modules/juce_core/time/juce_Time.cpp index 226336b803..0e8ad8a076 100644 --- a/modules/juce_core/time/juce_Time.cpp +++ b/modules/juce_core/time/juce_Time.cpp @@ -602,14 +602,18 @@ static int getMonthNumberForCompileDate (const String& m) return 0; } +// Implemented in juce_core_CompilationTime.cpp +extern const char* juce_compilationDate; +extern const char* juce_compilationTime; + Time Time::getCompilationDate() { StringArray dateTokens, timeTokens; - dateTokens.addTokens (__DATE__, true); + dateTokens.addTokens (juce_compilationDate, true); dateTokens.removeEmptyStrings (true); - timeTokens.addTokens (__TIME__, ":", StringRef()); + timeTokens.addTokens (juce_compilationTime, ":", StringRef()); return Time (dateTokens[2].getIntValue(), getMonthNumberForCompileDate (dateTokens[0]),