From b348455d538115176363711ff6b9579f8d69ff69 Mon Sep 17 00:00:00 2001 From: Andrew <47818697+Nyeriah@users.noreply.github.com> Date: Sun, 15 Feb 2026 08:55:08 -0300 Subject: [PATCH] =?UTF-8?q?fix(Core/Cmake):=20Rename=20VER=5F*=20macros=20?= =?UTF-8?q?to=20AC=5F*=20and=20centralize=20build=20dir=E2=80=A6=20(#24717?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com> Co-authored-by: Shauren --- modules/ModulesLoader.cpp.in.cmake | 2 +- src/cmake/compiler/clang/settings.cmake | 5 ---- src/cmake/compiler/gcc/settings.cmake | 5 ---- src/cmake/compiler/icc/settings.cmake | 5 ---- src/cmake/compiler/mingw/settings.cmake | 5 ---- src/cmake/compiler/msvc/settings.cmake | 13 --------- src/cmake/macros/ConfigureBaseTargets.cmake | 6 ++++ src/cmake/platform/unix/settings.cmake | 4 --- src/cmake/revision.h.in.cmake | 12 ++++---- src/common/GitRevision.cpp | 10 +++---- src/server/apps/authserver/authserver.rc | 29 +++++++++----------- src/server/apps/worldserver/worldserver.rc | 29 +++++++++----------- src/server/scripts/ScriptLoader.cpp.in.cmake | 2 +- 13 files changed, 45 insertions(+), 82 deletions(-) diff --git a/modules/ModulesLoader.cpp.in.cmake b/modules/ModulesLoader.cpp.in.cmake index 0df08a1cc..807fc840f 100644 --- a/modules/ModulesLoader.cpp.in.cmake +++ b/modules/ModulesLoader.cpp.in.cmake @@ -56,7 +56,7 @@ AC_MODULES_API void AddModulesScripts() /// Exposed in script modules to get the build directive of the module. AC_MODULES_API char const* GetModulesBuildDirective() { - return _BUILD_DIRECTIVE; + return AC_BUILD_TYPE; } #ifdef ACORE_IS_DYNAMIC_SCRIPTLOADER diff --git a/src/cmake/compiler/clang/settings.cmake b/src/cmake/compiler/clang/settings.cmake index 92b95cb47..32f9009a2 100644 --- a/src/cmake/compiler/clang/settings.cmake +++ b/src/cmake/compiler/clang/settings.cmake @@ -16,11 +16,6 @@ if ((USE_COREPCH OR USE_SCRIPTPCH) AND (CMAKE_C_COMPILER_LAUNCHER STREQUAL "ccac set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Xclang -fno-pch-timestamp") endif() -# Set build-directive (used in core to tell which buildtype we used) -target_compile_definitions(acore-compile-option-interface - INTERFACE - -D_BUILD_DIRECTIVE="${CMAKE_BUILD_TYPE}") - set(CLANG_EXPECTED_VERSION 10.0.0) if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS CLANG_EXPECTED_VERSION) diff --git a/src/cmake/compiler/gcc/settings.cmake b/src/cmake/compiler/gcc/settings.cmake index ce26ac135..2e69ac22a 100644 --- a/src/cmake/compiler/gcc/settings.cmake +++ b/src/cmake/compiler/gcc/settings.cmake @@ -10,11 +10,6 @@ # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # -# Set build-directive (used in core to tell which buildtype we used) -target_compile_definitions(acore-compile-option-interface - INTERFACE - -D_BUILD_DIRECTIVE="${CMAKE_BUILD_TYPE}") - set(GCC_EXPECTED_VERSION 8.0.0) if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS GCC_EXPECTED_VERSION) diff --git a/src/cmake/compiler/icc/settings.cmake b/src/cmake/compiler/icc/settings.cmake index 9e9e84b84..3d50f9d7c 100644 --- a/src/cmake/compiler/icc/settings.cmake +++ b/src/cmake/compiler/icc/settings.cmake @@ -10,11 +10,6 @@ # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # -# Set build-directive (used in core to tell which buildtype we used) -target_compile_definitions(acore-compile-option-interface - INTERFACE - -D_BUILD_DIRECTIVE="${CMAKE_BUILD_TYPE}") - if(PLATFORM EQUAL 32) target_compile_options(acore-compile-option-interface INTERFACE diff --git a/src/cmake/compiler/mingw/settings.cmake b/src/cmake/compiler/mingw/settings.cmake index 1b5a0496a..39f3f3893 100644 --- a/src/cmake/compiler/mingw/settings.cmake +++ b/src/cmake/compiler/mingw/settings.cmake @@ -13,11 +13,6 @@ # set up output paths for executable binaries (.exe-files, and .dll-files on DLL-capable platforms) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) -# Set build-directive (used in core to tell which buildtype we used) -target_compile_definitions(acore-compile-option-interface - INTERFACE - -D_BUILD_DIRECTIVE="${CMAKE_BUILD_TYPE}") - if(PLATFORM EQUAL 32) # Required on 32-bit systems to enable SSE2 (standard on x64) target_compile_options(acore-compile-option-interface diff --git a/src/cmake/compiler/msvc/settings.cmake b/src/cmake/compiler/msvc/settings.cmake index 8d859b828..4a95da0ca 100644 --- a/src/cmake/compiler/msvc/settings.cmake +++ b/src/cmake/compiler/msvc/settings.cmake @@ -59,19 +59,6 @@ else() message(STATUS "MSVC: Enabled SSE2 support") endif() -# Set build-directive (used in core to tell which buildtype we used) -# msbuild/devenv don't set CMAKE_MAKE_PROGRAM, you can choose build type from a dropdown after generating projects -if("${CMAKE_MAKE_PROGRAM}" MATCHES "MSBuild") - target_compile_definitions(acore-compile-option-interface - INTERFACE - -D_BUILD_DIRECTIVE="$(ConfigurationName)") -else() - # while all make-like generators do (nmake, ninja) - target_compile_definitions(acore-compile-option-interface - INTERFACE - -D_BUILD_DIRECTIVE="${CMAKE_BUILD_TYPE}") -endif() - # multithreaded compiling on VS target_compile_options(acore-compile-option-interface INTERFACE diff --git a/src/cmake/macros/ConfigureBaseTargets.cmake b/src/cmake/macros/ConfigureBaseTargets.cmake index 830a634ba..e3ff7e022 100644 --- a/src/cmake/macros/ConfigureBaseTargets.cmake +++ b/src/cmake/macros/ConfigureBaseTargets.cmake @@ -20,6 +20,12 @@ set(CXX_EXTENSIONS OFF) set(CMAKE_CXX_STANDARD 20) message(STATUS "Enabled ะก++20 standard") +# Set build-directive (used in core to tell which buildtype we used) +target_compile_definitions(acore-compile-option-interface + INTERFACE + AC_BUILD_TYPE="$" + AC_BUILD_HAS_DEBUG_INFO=$,$>) + # An interface library to make the warnings level available to other targets # This interface taget is set-up through the platform specific script add_library(acore-warning-interface INTERFACE) diff --git a/src/cmake/platform/unix/settings.cmake b/src/cmake/platform/unix/settings.cmake index 1096f533c..be964a665 100644 --- a/src/cmake/platform/unix/settings.cmake +++ b/src/cmake/platform/unix/settings.cmake @@ -51,8 +51,4 @@ elseif(CMAKE_C_COMPILER MATCHES "icc") include(${CMAKE_SOURCE_DIR}/src/cmake/compiler/icc/settings.cmake) elseif(CMAKE_C_COMPILER MATCHES "clang" OR CMAKE_C_COMPILER_ID MATCHES "Clang") include(${CMAKE_SOURCE_DIR}/src/cmake/compiler/clang/settings.cmake) -else() - target_compile_definitions(acore-compile-option-interface - INTERFACE - -D_BUILD_DIRECTIVE="${CMAKE_BUILD_TYPE}") endif() diff --git a/src/cmake/revision.h.in.cmake b/src/cmake/revision.h.in.cmake index de599c5a6..eb721bfb6 100644 --- a/src/cmake/revision.h.in.cmake +++ b/src/cmake/revision.h.in.cmake @@ -10,10 +10,10 @@ #define _SOURCE_DIRECTORY R"(@CMAKE_SOURCE_DIR@)" #define _BUILD_DIRECTORY R"(@BUILDDIR@)" #define _MYSQL_EXECUTABLE R"(@MYSQL_EXECUTABLE@)" - #define VER_COMPANYNAME_STR "AzerothCore" - #define VER_LEGALCOPYRIGHT_STR "(c)2016-@rev_year@ AzerothCore" - #define VER_FILEVERSION 0,0,0 - #define VER_FILEVERSION_STR "@rev_hash@ @rev_date@ (@rev_branch@ branch)" - #define VER_PRODUCTVERSION VER_FILEVERSION - #define VER_PRODUCTVERSION_STR VER_FILEVERSION_STR + #define AC_COMPANYNAME_STR "AzerothCore" + #define AC_LEGALCOPYRIGHT_STR "(c)2016-@rev_year@ AzerothCore" + #define AC_FILEVERSION 0,0,0 + #define AC_FILEVERSION_STR "@rev_hash@ @rev_date@ (@rev_branch@ branch)" + #define AC_PRODUCTVERSION AC_FILEVERSION + #define AC_PRODUCTVERSION_STR AC_FILEVERSION_STR #endif // __REVISION_H__ diff --git a/src/common/GitRevision.cpp b/src/common/GitRevision.cpp index 7d2c4142c..76ea9f3b4 100644 --- a/src/common/GitRevision.cpp +++ b/src/common/GitRevision.cpp @@ -81,25 +81,25 @@ char const* GitRevision::GetMySQLExecutable() char const* GitRevision::GetFullVersion() { - return VER_COMPANYNAME_STR " rev. " VER_PRODUCTVERSION_STR " (" AZEROTH_PLATFORM_STR ", " _BUILD_DIRECTIVE ", " ACORE_LINKAGE_TYPE_STR ")"; // cppcheck-suppress unknownMacro + return AC_COMPANYNAME_STR " rev. " AC_PRODUCTVERSION_STR " (" AZEROTH_PLATFORM_STR ", " AC_BUILD_TYPE ", " ACORE_LINKAGE_TYPE_STR ")"; // cppcheck-suppress unknownMacro } char const* GitRevision::GetCompanyNameStr() { - return VER_COMPANYNAME_STR; + return AC_COMPANYNAME_STR; } char const* GitRevision::GetLegalCopyrightStr() { - return VER_LEGALCOPYRIGHT_STR; + return AC_LEGALCOPYRIGHT_STR; } char const* GitRevision::GetFileVersionStr() { - return VER_FILEVERSION_STR; + return AC_FILEVERSION_STR; } char const* GitRevision::GetProductVersionStr() { - return VER_PRODUCTVERSION_STR; + return AC_PRODUCTVERSION_STR; } diff --git a/src/server/apps/authserver/authserver.rc b/src/server/apps/authserver/authserver.rc index 3cf579e6c..f0c2e3f5e 100644 --- a/src/server/apps/authserver/authserver.rc +++ b/src/server/apps/authserver/authserver.rc @@ -51,21 +51,18 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_SYS_DEFAULT // Version // -VS_VERSION_INFO VERSIONINFO -FILEVERSION VER_FILEVERSION -PRODUCTVERSION VER_PRODUCTVERSION - -FILEFLAGSMASK VS_FFI_FILEFLAGSMASK - -#ifndef _DEBUG - FILEFLAGS 0 +#if AC_BUILD_HAS_DEBUG_INFO == 1 +#define AC_DEBUG VS_FF_DEBUG #else - #define VER_PRERELEASE VS_FF_PRERELEASE - #define VER_PRIVATEBUILD VS_FF_PRIVATEBUILD - #define VER_DEBUG 0 - FILEFLAGS (VER_PRIVATEBUILD|VER_PRERELEASE|VER_DEBUG) +#define AC_DEBUG 0 #endif +VS_VERSION_INFO VERSIONINFO +FILEVERSION AC_FILEVERSION +PRODUCTVERSION AC_PRODUCTVERSION +FILEFLAGSMASK VS_FFI_FILEFLAGSMASK +FILEFLAGS (VS_FF_PRERELEASE | AC_DEBUG) + FILEOS VOS_NT_WINDOWS32 FILETYPE VFT_APP @@ -74,14 +71,14 @@ BEGIN BEGIN BLOCK "080004b0" BEGIN - VALUE "CompanyName", VER_COMPANYNAME_STR + VALUE "CompanyName", AC_COMPANYNAME_STR VALUE "FileDescription", "Authentication Server Daemon" - VALUE "FileVersion", VER_FILEVERSION_STR + VALUE "FileVersion", AC_FILEVERSION_STR VALUE "InternalName", "authserver" - VALUE "LegalCopyright", VER_LEGALCOPYRIGHT_STR + VALUE "LegalCopyright", AC_LEGALCOPYRIGHT_STR VALUE "OriginalFilename", "authserver.exe" VALUE "ProductName", "Authentication Server" - VALUE "ProductVersion", VER_PRODUCTVERSION_STR + VALUE "ProductVersion", AC_PRODUCTVERSION_STR END END diff --git a/src/server/apps/worldserver/worldserver.rc b/src/server/apps/worldserver/worldserver.rc index 6c8df0021..74b3c585d 100644 --- a/src/server/apps/worldserver/worldserver.rc +++ b/src/server/apps/worldserver/worldserver.rc @@ -51,21 +51,18 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_SYS_DEFAULT // Version // -VS_VERSION_INFO VERSIONINFO -FILEVERSION VER_FILEVERSION -PRODUCTVERSION VER_PRODUCTVERSION - -FILEFLAGSMASK VS_FFI_FILEFLAGSMASK - -#ifndef _DEBUG - FILEFLAGS 0 +#if AC_BUILD_HAS_DEBUG_INFO == 1 +#define AC_DEBUG VS_FF_DEBUG #else - #define VER_PRERELEASE VS_FF_PRERELEASE - #define VER_PRIVATEBUILD VS_FF_PRIVATEBUILD - #define VER_DEBUG 0 - FILEFLAGS (VER_PRIVATEBUILD|VER_PRERELEASE|VER_DEBUG) +#define AC_DEBUG 0 #endif +VS_VERSION_INFO VERSIONINFO +FILEVERSION AC_FILEVERSION +PRODUCTVERSION AC_PRODUCTVERSION +FILEFLAGSMASK VS_FFI_FILEFLAGSMASK +FILEFLAGS (VS_FF_PRERELEASE | AC_DEBUG) + FILEOS VOS_NT_WINDOWS32 FILETYPE VFT_APP @@ -74,14 +71,14 @@ BEGIN BEGIN BLOCK "080004b0" BEGIN - VALUE "CompanyName", VER_COMPANYNAME_STR + VALUE "CompanyName", AC_COMPANYNAME_STR VALUE "FileDescription", "World Server Daemon" - VALUE "FileVersion", VER_FILEVERSION_STR + VALUE "FileVersion", AC_FILEVERSION_STR VALUE "InternalName", "worldserver" - VALUE "LegalCopyright", VER_LEGALCOPYRIGHT_STR + VALUE "LegalCopyright", AC_LEGALCOPYRIGHT_STR VALUE "OriginalFilename", "worldserver.exe" VALUE "ProductName", "World Server" - VALUE "ProductVersion", VER_PRODUCTVERSION_STR + VALUE "ProductVersion", AC_PRODUCTVERSION_STR END END diff --git a/src/server/scripts/ScriptLoader.cpp.in.cmake b/src/server/scripts/ScriptLoader.cpp.in.cmake index 1f6096ccb..8457cb2ec 100644 --- a/src/server/scripts/ScriptLoader.cpp.in.cmake +++ b/src/server/scripts/ScriptLoader.cpp.in.cmake @@ -58,7 +58,7 @@ AC_SCRIPT_API void AddScripts() /// Exposed in script modules to get the build directive of the module. AC_SCRIPT_API char const* GetBuildDirective() { - return _BUILD_DIRECTIVE; + return AC_BUILD_TYPE; } #ifdef ACORE_IS_DYNAMIC_SCRIPTLOADER