From ca42ed07cd11e570184095052dbf389eb30781fa Mon Sep 17 00:00:00 2001 From: Rye Mutt <rye@alchemyviewer.org> Date: Sat, 19 Jun 2021 17:58:54 -0400 Subject: [PATCH] Convert newview build settings to .h.in based file copies --- indra/cmake/BuildVersion.cmake | 59 +++++++++++--- indra/cmake/Copy3rdPartyLibs.cmake | 4 +- indra/cmake/OPENAL.cmake | 6 +- indra/llaudio/CMakeLists.txt | 4 +- indra/media_plugins/CMakeLists.txt | 4 +- indra/newview/CMakeLists.txt | 92 ++++++---------------- indra/newview/llappviewerwin32.cpp | 2 + indra/newview/llprogressview.cpp | 6 +- indra/newview/llstartup.cpp | 8 +- indra/newview/llversioninfo.cpp | 5 +- indra/newview/llviewerbuildconfig.h.in | 57 ++++++++++++++ indra/newview/tests/llversioninfo_test.cpp | 13 ++- 12 files changed, 154 insertions(+), 106 deletions(-) create mode 100644 indra/newview/llviewerbuildconfig.h.in diff --git a/indra/cmake/BuildVersion.cmake b/indra/cmake/BuildVersion.cmake index a4bd02001d0..d47ad1fd933 100644 --- a/indra/cmake/BuildVersion.cmake +++ b/indra/cmake/BuildVersion.cmake @@ -57,8 +57,8 @@ if(NOT DEFINED VIEWER_SHORT_VERSION) # will be true in indra/, false in indra/ne find_package(Git) endif() - if((NOT REVISION_FROM_VCS) AND DEFINED ENV{revision}) - set(VIEWER_VERSION_REVISION $ENV{revision}) + if((NOT REVISION_FROM_VCS) AND DEFINED ENV{CI_PIPELINE_ID}) + set(VIEWER_VERSION_REVISION $ENV{CI_PIPELINE_ID}) message(STATUS "Revision (from environment): ${VIEWER_VERSION_REVISION}") elseif((NOT REVISION_FROM_VCS) AND DEFINED ENV{AUTOBUILD_BUILD_ID}) set(VIEWER_VERSION_REVISION $ENV{AUTOBUILD_BUILD_ID}) @@ -78,7 +78,7 @@ if(NOT DEFINED VIEWER_SHORT_VERSION) # will be true in indra/, false in indra/ne else() set(VIEWER_VERSION_REVISION 0) endif() - message("Building '${VIEWER_CHANNEL}' Version ${VIEWER_SHORT_VERSION}.${VIEWER_VERSION_REVISION}") + message(STATUS "Building '${VIEWER_CHANNEL}' Version ${VIEWER_SHORT_VERSION}.${VIEWER_VERSION_REVISION}") else(EXISTS ${VIEWER_VERSION_BASE_FILE}) message(SEND_ERROR "Cannot get viewer version from '${VIEWER_VERSION_BASE_FILE}'") endif(EXISTS ${VIEWER_VERSION_BASE_FILE}) @@ -87,13 +87,48 @@ if(NOT DEFINED VIEWER_SHORT_VERSION) # will be true in indra/, false in indra/ne message(STATUS "Ultimate fallback, revision was blank or not set: will use 0") set(VIEWER_VERSION_REVISION 0) endif("${VIEWER_VERSION_REVISION}" STREQUAL "") - - set(VIEWER_CHANNEL_VERSION_DEFINES - "LL_VIEWER_CHANNEL=${VIEWER_CHANNEL}" - "LL_VIEWER_CHANNEL_CODENAME=${VIEWER_CHANNEL_CODENAME_INTERNAL}" - "LL_VIEWER_VERSION_MAJOR=${VIEWER_VERSION_MAJOR}" - "LL_VIEWER_VERSION_MINOR=${VIEWER_VERSION_MINOR}" - "LL_VIEWER_VERSION_PATCH=${VIEWER_VERSION_PATCH}" - "LL_VIEWER_VERSION_BUILD=${VIEWER_VERSION_REVISION}" - "LLBUILD_CONFIG=\"${CMAKE_BUILD_TYPE}\"") endif(NOT DEFINED VIEWER_SHORT_VERSION) + +if (NOT DEFINED VIEWER_COMMIT_LONG_SHA) + if((NOT REVISION_FROM_VCS) AND DEFINED ENV{CI_COMMIT_SHA}) + set(VIEWER_COMMIT_LONG_SHA $ENV{CI_COMMIT_SHA}) + message(STATUS "Long SHA (from environment): ${VIEWER_COMMIT_LONG_SHA}") + elseif(Git_FOUND) + execute_process(COMMAND ${GIT_EXECUTABLE} rev-parse HEAD + OUTPUT_VARIABLE GIT_COMMIT_SHA + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + + if(GIT_COMMIT_SHA) + set(VIEWER_COMMIT_LONG_SHA ${GIT_COMMIT_SHA}) + else() + set(VIEWER_COMMIT_LONG_SHA 0) + endif() + message(STATUS "Long SHA: ${VIEWER_COMMIT_LONG_SHA}") + else() + set(VIEWER_COMMIT_LONG_SHA 0) + endif() +endif (NOT DEFINED VIEWER_COMMIT_LONG_SHA) + +if (NOT DEFINED VIEWER_COMMIT_SHORT_SHA) + if((NOT REVISION_FROM_VCS) AND DEFINED ENV{CI_COMMIT_SHORT_SHA}) + set(VIEWER_COMMIT_SHORT_SHA $ENV{CI_COMMIT_SHORT_SHA}) + message(STATUS "Short SHA (from environment): ${VIEWER_COMMIT_SHORT_SHA}") + elseif(Git_FOUND) + execute_process(COMMAND ${GIT_EXECUTABLE} rev-parse --short HEAD + OUTPUT_VARIABLE GIT_COMMIT_SHORT_SHA + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + + if(GIT_COMMIT_SHORT_SHA) + set(VIEWER_COMMIT_SHORT_SHA ${GIT_COMMIT_SHORT_SHA}) + else() + set(VIEWER_COMMIT_SHORT_SHA 0) + endif() + message(STATUS "Short SHA: ${VIEWER_COMMIT_LONG_SHA}") + else() + set(VIEWER_COMMIT_SHORT_SHA 0) + endif() +endif (NOT DEFINED VIEWER_COMMIT_SHORT_SHA) \ No newline at end of file diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake index 588758278d0..f80925871f5 100644 --- a/indra/cmake/Copy3rdPartyLibs.cmake +++ b/indra/cmake/Copy3rdPartyLibs.cmake @@ -87,9 +87,9 @@ if(WINDOWS) list(APPEND release_files fmod.dll) endif (USE_FMODSTUDIO) - if (OPENAL) + if (USE_OPENAL) list(APPEND release_files OpenAL32.dll alut.dll) - endif (OPENAL) + endif () if (USE_KDU) list(APPEND debug_files kdud.dll) diff --git a/indra/cmake/OPENAL.cmake b/indra/cmake/OPENAL.cmake index 0912089d13f..7ef4d9f675a 100644 --- a/indra/cmake/OPENAL.cmake +++ b/indra/cmake/OPENAL.cmake @@ -2,8 +2,8 @@ include(Linking) include(Prebuilt) -option(OPENAL "Enable OpenAL" ON) -if (OPENAL) +option(USE_OPENAL "Enable OpenAL" ON) +if (USE_OPENAL) if (USESYSTEMLIBS) pkg_check_modules(FREEALUT REQUIRED freealut) pkg_check_modules(OPENAL REQUIRED openal) @@ -19,4 +19,4 @@ if (OPENAL) set(FREEALUT_LIBRARIES alut) set(OPENAL_INCLUDE_DIRS "${LIBS_PREBUILT_DIR}/include/") endif (USESYSTEMLIBS) -endif (OPENAL) +endif (USE_OPENAL) diff --git a/indra/llaudio/CMakeLists.txt b/indra/llaudio/CMakeLists.txt index 85752b2a17e..51d113e741a 100644 --- a/indra/llaudio/CMakeLists.txt +++ b/indra/llaudio/CMakeLists.txt @@ -60,7 +60,7 @@ if (USE_FMODSTUDIO) ) endif (USE_FMODSTUDIO) -if (OPENAL) +if (USE_OPENAL) include_directories( ${OPENAL_LIBRARIES} ${FREEALUT_LIBRARIES} @@ -75,7 +75,7 @@ if (OPENAL) llaudioengine_openal.h lllistener_openal.h ) -endif (OPENAL) +endif (USE_OPENAL) set_source_files_properties(${llaudio_HEADER_FILES} PROPERTIES HEADER_FILE_ONLY TRUE) diff --git a/indra/media_plugins/CMakeLists.txt b/indra/media_plugins/CMakeLists.txt index e4780bbd54f..0b3ddb32b1e 100644 --- a/indra/media_plugins/CMakeLists.txt +++ b/indra/media_plugins/CMakeLists.txt @@ -1,22 +1,20 @@ # -*- cmake -*- add_subdirectory(base) +add_subdirectory(example) if (LINUX) #add_subdirectory(gstreamer010) add_subdirectory(cef) add_subdirectory(libvlc) - add_subdirectory(example) endif (LINUX) if (DARWIN) add_subdirectory(cef) add_subdirectory(libvlc) - add_subdirectory(example) endif (DARWIN) if (WINDOWS) add_subdirectory(cef) add_subdirectory(libvlc) - add_subdirectory(example) endif (WINDOWS) diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 0cb5e28e0d2..4a0f23a4285 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -65,11 +65,11 @@ if( LLPHYSICSEXTENSIONS_SRC_DIR ) endif (NOT HAVOK_TPV) endif( LLPHYSICSEXTENSIONS_SRC_DIR ) -if(USE_FMODSTUDIO) - include_directories(${FMODSTUDIO_INCLUDE_DIR}) -endif(USE_FMODSTUDIO) +message(STATUS "CMAKE_CURRENT_BINARY_DIR = ${CMAKE_CURRENT_BINARY_DIR}") include_directories( + ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_CURRENT_BINARY_DIR} ${DBUSGLIB_INCLUDE_DIRS} ${ZLIB_INCLUDE_DIRS} ${GLOD_INCLUDE_DIR} @@ -91,15 +91,18 @@ include_directories( ${LLWINDOW_INCLUDE_DIRS} ${LLXML_INCLUDE_DIRS} ${LLLOGIN_INCLUDE_DIRS} - ${LIBS_PREBUILT_DIR}/include/collada - ${LIBS_PREBUILD_DIR}/include/hunspell + "${LIBS_PREBUILT_DIR}/include/collada" + "${LIBS_PREBUILD_DIR}/include/hunspell" ${OPENAL_INCLUDE_DIRS} ${FREEALUT_INCLUDE_DIRS} - ${LIBS_PREBUILT_DIR}/include/collada/1.4 + "${LIBS_PREBUILT_DIR}/include/collada/1.4" ${LLAPPEARANCE_INCLUDE_DIRS} - ${CMAKE_CURRENT_SOURCE_DIR} ) +if(USE_FMODSTUDIO) + include_directories(${FMODSTUDIO_INCLUDE_DIR}) +endif(USE_FMODSTUDIO) + if (BUGSPLAT_DB) include_directories( ${BUGSPLAT_INCLUDE_DIR} @@ -1451,16 +1454,13 @@ source_group("CMake Rules" FILES ViewerInstall.cmake) file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/viewer_version.txt" "${VIEWER_SHORT_VERSION}.${VIEWER_VERSION_REVISION}\n") -set_source_files_properties( - llversioninfo.cpp tests/llversioninfo_test.cpp - PROPERTIES - COMPILE_DEFINITIONS "${VIEWER_CHANNEL_VERSION_DEFINES}" # see BuildVersion.cmake - ) +configure_file(llviewerbuildconfig.h.in llviewerbuildconfig.h @ONLY) +LIST(APPEND viewer_HEADER_FILES ${CMAKE_CURRENT_BINARY_DIR}/llviewerbuildconfig.h) if (DARWIN) LIST(APPEND viewer_SOURCE_FILES llappviewermacosx.cpp) LIST(APPEND viewer_SOURCE_FILES llappviewermacosx-objc.mm) - LIST(APPEND viewer_SOURCE_FILES llappviewermacosx-objc.h) + LIST(APPEND viewer_HEADER_FILES llappviewermacosx-objc.h) LIST(APPEND viewer_SOURCE_FILES llfilepicker_mac.mm) LIST(APPEND viewer_HEADER_FILES llfilepicker_mac.h) @@ -1470,7 +1470,6 @@ if (DARWIN) llappdelegate-objc.mm PROPERTIES SKIP_PRECOMPILE_HEADERS TRUE - COMPILE_DEFINITIONS "${VIEWER_CHANNEL_VERSION_DEFINES}" # BugsplatMac is a module, imported with @import. That language feature # demands these -f switches. # Xcode 10.2 requires that Objective-C++ headers declare nullability of @@ -1532,28 +1531,16 @@ if (DARWIN) ) SOURCE_GROUP("Resources" FILES ${viewer_RESOURCE_FILES}) list(APPEND viewer_SOURCE_FILES ${viewer_RESOURCE_FILES}) - - if (OPENAL) - LIST(APPEND viewer_LIBRARIES ${OPENAL_LIBRARIES} ${FREEALUT_LIBRARIES}) - endif (OPENAL) endif (DARWIN) if (LINUX) LIST(APPEND viewer_SOURCE_FILES llappviewerlinux.cpp) - set_source_files_properties( - llappviewerlinux.cpp - PROPERTIES - COMPILE_DEFINITIONS "${VIEWER_CHANNEL_VERSION_DEFINES}" - ) LIST(APPEND viewer_SOURCE_FILES llappviewerlinux_api_dbus.cpp) SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--as-needed") set(viewer_LIBRARIES Xinerama ) - if (OPENAL) - LIST(APPEND viewer_LIBRARIES ${OPENAL_LIBRARIES} ${FREEALUT_LIBRARIES}) - endif (OPENAL) endif (LINUX) if (WINDOWS) @@ -1561,16 +1548,6 @@ if (WINDOWS) llappviewerwin32.cpp llwindebug.cpp ) - set(APP_VWR_WIN32_COMPILE_DEFS ${VIEWER_CHANNEL_VERSION_DEFINES}) - if(USE_NVAPI) - list(APPEND APP_VWR_WIN32_COMPILE_DEFS "USE_NVAPI=1") - endif() - - set_source_files_properties( - llappviewerwin32.cpp - PROPERTIES - COMPILE_DEFINITIONS "${APP_VWR_WIN32_COMPILE_DEFS}" - ) list(APPEND viewer_HEADER_FILES llappviewerwin32.h @@ -1662,16 +1639,17 @@ if (WINDOWS) configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/res/viewerRes.rc ${CMAKE_CURRENT_BINARY_DIR}/viewerRes.rc ) - set(viewer_RESOURCE_FILES + + list(APPEND viewer_RESOURCE_FILES + windows.manifest ${CMAKE_CURRENT_BINARY_DIR}/viewerRes.rc - ${viewer_RESOURCE_FILES} ) set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/viewerRes.rc PROPERTIES COMPILE_FLAGS "-I${CMAKE_CURRENT_SOURCE_DIR}/res" ) - SOURCE_GROUP("Resource Files" FILES ${viewer_RESOURCE_FILES}) + source_group("Resource Files" FILES ${viewer_RESOURCE_FILES}) if (NOT USESYSTEMLIBS) list(APPEND viewer_SOURCE_FILES ${viewer_RESOURCE_FILES}) @@ -1692,21 +1670,12 @@ if (WINDOWS) wer winspool ) - - if (ADDRESS_SIZE EQUAL 64) - # We deliberately omit this from the 32bit build because it declares that - # the viewer is compatible with Windows 10; we need that to properly detect - # the Windows version, but doing so causes systems with certain HD video - # cards to fail because Windows 10 does not support them. Leaving this out - # causes those systems to run in a Windows 8 compatibility mode, which works. - LIST(APPEND viewer_SOURCE_FILES windows.manifest) - endif (ADDRESS_SIZE EQUAL 64) - - if (OPENAL) - LIST(APPEND viewer_LIBRARIES ${OPENAL_LIBRARIES} ${FREEALUT_LIBRARIES}) - endif (OPENAL) endif (WINDOWS) +if (USE_OPENAL) + LIST(APPEND viewer_LIBRARIES ${OPENAL_LIBRARIES} ${FREEALUT_LIBRARIES}) +endif () + # Add the xui files. This is handy for searching for xui elements # from within the IDE. set(viewer_XUI_FILES @@ -1811,24 +1780,10 @@ if (WINDOWS) list(APPEND viewer_SOURCE_FILES ${viewer_INSTALLER_FILES}) endif (WINDOWS) -if (OPENAL) - set(LLSTARTUP_COMPILE_FLAGS "${LLSTARTUP_COMPILE_FLAGS} -DLL_OPENAL=1") -endif (OPENAL) - if (USE_FMODSTUDIO) - set(LLSTARTUP_COMPILE_FLAGS "${LLSTARTUP_COMPILE_FLAGS} -DUSE_FMODSTUDIO=1") set(FMODWRAPPER_LIBRARY ${FMODSTUDIO_LIBRARY}) endif (USE_FMODSTUDIO) -set_source_files_properties(llstartup.cpp PROPERTIES COMPILE_FLAGS "${LLSTARTUP_COMPILE_FLAGS}") - -if (HAVOK OR HAVOK_TPV) - set(LLSTARTUP_COMPILE_FLAGS "${LLSTARTUP_COMPILE_FLAGS} -DLL_HAVOK") -endif (HAVOK OR HAVOK_TPV) - -# progress view disables/enables icons based on available packages -set_source_files_properties(llprogressview.cpp PROPERTIES COMPILE_FLAGS "${LLSTARTUP_COMPILE_FLAGS}") - list(APPEND viewer_SOURCE_FILES ${viewer_HEADER_FILES}) set_source_files_properties(${viewer_HEADER_FILES} @@ -1944,12 +1899,12 @@ if (WINDOWS) ) endif (USE_FMODSTUDIO) - if (OPENAL) + if (USE_OPENAL) list(APPEND COPY_INPUT_DEPENDENCIES ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/OpenAL32.dll ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/alut.dll ) - endif (OPENAL) + endif () add_custom_command( OUTPUT ${CMAKE_CFG_INTDIR}/copy_touched.bat @@ -2683,4 +2638,3 @@ set_source_files_properties( endif (LL_TESTS) check_message_template(${VIEWER_BINARY_NAME}) - diff --git a/indra/newview/llappviewerwin32.cpp b/indra/newview/llappviewerwin32.cpp index 418d6cc18c9..3c9ab4684c1 100644 --- a/indra/newview/llappviewerwin32.cpp +++ b/indra/newview/llappviewerwin32.cpp @@ -26,6 +26,8 @@ #include "llviewerprecompiledheaders.h" +#include "llviewerbuildconfig.h" + #ifdef INCLUDE_VLD #include "vld.h" #endif diff --git a/indra/newview/llprogressview.cpp b/indra/newview/llprogressview.cpp index ce0c960f7d9..a38088a8b93 100644 --- a/indra/newview/llprogressview.cpp +++ b/indra/newview/llprogressview.cpp @@ -26,6 +26,8 @@ #include "llviewerprecompiledheaders.h" +#include "llviewerbuildconfig.h" + #include "llprogressview.h" #include "indra_constants.h" @@ -401,7 +403,7 @@ void LLProgressView::initLogos() S32 icon_height; -#ifdef USE_FMODSTUDIO +#if USE_FMODSTUDIO // original image size is 264x96, it is on longer side but // with no internal paddings so it gets additional padding icon_width = 77; @@ -416,7 +418,7 @@ void LLProgressView::initLogos() texture_start_x += icon_width + default_pad + 1; #endif //LL_FMODSTUDIO -#ifdef LL_HAVOK +#if LL_HAVOK // original image size is 342x113, central element is on a larger side // plus internal padding, so it gets slightly more height than desired 32 icon_width = 88; diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index 7723651d060..19d6e1bd6c0 100644 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -26,6 +26,8 @@ #include "llviewerprecompiledheaders.h" +#include "llviewerbuildconfig.h" + #include "llappviewer.h" #include "llstartup.h" #include "llcallstack.h" @@ -43,8 +45,8 @@ # include "llaudioengine_fmodstudio.h" #endif -#ifdef LL_OPENAL -#include "llaudioengine_openal.h" +#if USE_OPENAL +# include "llaudioengine_openal.h" #endif #include "llavatarnamecache.h" @@ -644,7 +646,7 @@ bool idle_startup() } #endif -#ifdef LL_OPENAL +#if USE_OPENAL if (!gAudiop #if !LL_WINDOWS && NULL == getenv("LL_BAD_OPENAL_DRIVER") diff --git a/indra/newview/llversioninfo.cpp b/indra/newview/llversioninfo.cpp index ebf15e1559d..bdd97d43dc7 100644 --- a/indra/newview/llversioninfo.cpp +++ b/indra/newview/llversioninfo.cpp @@ -26,6 +26,7 @@ */ #include "llviewerprecompiledheaders.h" +#include "llviewerbuildconfig.h" #include "llevents.h" #include "lleventfilter.h" #include "llversioninfo.h" @@ -51,9 +52,9 @@ LLVersionInfo::LLVersionInfo(): // LL_VIEWER_CHANNEL is a macro defined on the compiler command line. The // macro expands to the string name of the channel, but without quotes. We // need to turn it into a quoted string. LL_TO_STRING() does that. - mWorkingChannelName(LL_TO_STRING(LL_VIEWER_CHANNEL)), + mWorkingChannelName(LL_VIEWER_CHANNEL), build_configuration(LLBUILD_CONFIG), // set in indra/cmake/BuildVersion.cmake - codename(LL_TO_STRING(LL_VIEWER_CHANNEL_CODENAME)), + codename(LL_VIEWER_CHANNEL_CODENAME), // instantiate an LLEventMailDrop with canonical name to listen for news // from SLVersionChecker mPump{new LLEventMailDrop("relnotes")}, diff --git a/indra/newview/llviewerbuildconfig.h.in b/indra/newview/llviewerbuildconfig.h.in new file mode 100644 index 00000000000..b952ea2fe4e --- /dev/null +++ b/indra/newview/llviewerbuildconfig.h.in @@ -0,0 +1,57 @@ +/** + * @file llviewerbuildconfig.h + * @brief Viewer build-time config options. + * @author Rye Mutt <rye@alchemyviewer.org> + * + * $LicenseInfo:firstyear=2019&license=viewerlgpl$ + * Alchemy Viewer Source Code + * Copyright (C) 2019, Rye Mutt <rye@alchemyviewer.org> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; + * version 2.1 of the License only. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * $/LicenseInfo$ + */ + +#ifndef LL_LLVIEWERBUILDCONFIG_H +#define LL_LLVIEWERBUILDCONFIG_H + +// Commit SHA +#define LL_VIEWER_COMMIT_SHA "@VIEWER_COMMIT_LONG_SHA@" +#define LL_VIEWER_COMMIT_SHORT_SHA "@VIEWER_COMMIT_SHORT_SHA@" + +// Build Configuration +#define LLBUILD_CONFIG "@CMAKE_BUILD_TYPE@" + +// Version Information +#define LL_VIEWER_CHANNEL "@VIEWER_CHANNEL@" +#define LL_VIEWER_CHANNEL_CODENAME "@VIEWER_CHANNEL_CODENAME_INTERNAL@" +#define LL_VIEWER_VERSION_MAJOR @VIEWER_VERSION_MAJOR@ +#define LL_VIEWER_VERSION_MINOR @VIEWER_VERSION_MINOR@ +#define LL_VIEWER_VERSION_PATCH @VIEWER_VERSION_PATCH@ +#define LL_VIEWER_VERSION_BUILD @VIEWER_VERSION_REVISION@ + +// Graphics Utils +#cmakedefine01 USE_NVAPI + +// Audio Engines +#cmakedefine01 USE_FMODSTUDIO +#cmakedefine01 USE_OPENAL + +// Havok +#cmakedefine01 HAVOK +#cmakedefine01 HAVOK_TPV +#define LL_HAVOK (HAVOK || HAVOK_TPV) + +#endif // LL_LLVIEWERBUILDCONFIG_H \ No newline at end of file diff --git a/indra/newview/tests/llversioninfo_test.cpp b/indra/newview/tests/llversioninfo_test.cpp index 73bc369f05b..409a02b482a 100644 --- a/indra/newview/tests/llversioninfo_test.cpp +++ b/indra/newview/tests/llversioninfo_test.cpp @@ -25,17 +25,14 @@ #include "linden_common.h" +#include "llviewerbuildconfig.h" + #include "../test/lltut.h" #include "../llversioninfo.h" #include <iostream> -// LL_VIEWER_CHANNEL is a macro defined on the compiler command line. The -// macro expands to the string name of the channel, but without quotes. We -// need to turn it into a quoted string. LL_TO_STRING() does that. -#define ll_viewer_channel LL_TO_STRING(LL_VIEWER_CHANNEL) - namespace tut { struct versioninfo @@ -57,7 +54,7 @@ namespace tut mShortVersion = stream.str(); stream.str(""); - stream << ll_viewer_channel + stream << LL_VIEWER_CHANNEL << " " << mVersion; mVersionAndChannel = stream.str(); @@ -69,7 +66,7 @@ namespace tut mResetVersionAndChannel = stream.str(); stream.str(""); - stream << LL_TO_STRING(LL_VIEWER_CHANNEL_CODENAME); + stream << LL_VIEWER_CHANNEL_CODENAME; mCodename = stream.str(); stream.str(""); } @@ -106,7 +103,7 @@ namespace tut LL_VIEWER_VERSION_BUILD); ensure_equals("Channel version", LLVersionInfo::instance().getChannel(), - ll_viewer_channel); + LL_VIEWER_CHANNEL); ensure_equals("Version String", LLVersionInfo::instance().getVersion(), mVersion); -- GitLab