From 2f452d06e6964b0edf26b0b3f6eaa156e3fa2d48 Mon Sep 17 00:00:00 2001 From: Henri Beauchamp <sldev@free.fr> Date: Wed, 13 Mar 2024 13:57:39 +0100 Subject: Proposal #2 to restore how UI/dialogs used to render by prioritizing fallback fonts. With the emojis support, a new font was added, which not only provides emojis but also fancy colorful replacements for UTF-8 characters that used to be supported by our fallback (monochrome) fonts: this causes discrepancies and unwanted/undesired changes in scripted objects menus (e.g. an empty circle or square may render as a black, full one, a heart may render red instead of white), not to mention the larger font size used by the emoji characters... This patch restores the aspect of such menus/dialogs/UI elements with UTF-8 characters that *are* supported by the usual fallback fonts (fonts which may also vary from one viewer to another, and from one OS to another), so that everything keeps working/rendering as it always did so far, while not impairing the use of new colorful emojis. This second proposal ensures that: - "genuine" emojis (in the 0x1f000-0x1ffff range), will *always* be rendered using the new emojis font (this solves, for example, the monochrome "yellow faces" issue seen with some characters in my first proposal). - Special UTF-8 characters (in the 0x2000-0x32FF range) which have been used by scripters so far, will render as they used to, using the monochrome fallback fonts (this repairs scripted dialogs menus). - Remaining special characters, that do not have a corresponding glyph in the monochrome font, but do have one in the emojis font, will use the latter font to render. It also got the nice side-effect of removing the dependency on the ICU4C library. Note however that the recent commit: https://github.com/secondlife/viewer/commit/326055ba82c22fedde186c6a56bafd4fe87e613a will need to be reverted to allow this patch to actually fix scripted dialogs. Also, some cleanup might be needed in skins/default/xui/*/emoji_characters.xml to remove from it the special UTF-8 characters that will no longer be rendered with fanciful colors, but instead with the monochrome font glyphs. --- indra/cmake/CMakeLists.txt | 1 - indra/cmake/Copy3rdPartyLibs.cmake | 9 --------- indra/cmake/ICU4C.cmake | 23 ----------------------- 3 files changed, 33 deletions(-) delete mode 100644 indra/cmake/ICU4C.cmake (limited to 'indra/cmake') diff --git a/indra/cmake/CMakeLists.txt b/indra/cmake/CMakeLists.txt index 05c51c018d..cb3b77300a 100644 --- a/indra/cmake/CMakeLists.txt +++ b/indra/cmake/CMakeLists.txt @@ -30,7 +30,6 @@ set(cmake_SOURCE_FILES GoogleMock.cmake Havok.cmake Hunspell.cmake - ICU4C.cmake JsonCpp.cmake LLAddBuildTest.cmake LLAppearance.cmake diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake index 9f79c13a97..7938d4f54b 100644 --- a/indra/cmake/Copy3rdPartyLibs.cmake +++ b/indra/cmake/Copy3rdPartyLibs.cmake @@ -62,15 +62,6 @@ if(WINDOWS) uriparser.dll ) - # ICU4C (same filenames for 32 and 64 bit builds) - set(release_files ${release_files} icudt48.dll) - set(release_files ${release_files} icuin48.dll) - set(release_files ${release_files} icuio48.dll) - set(release_files ${release_files} icule48.dll) - set(release_files ${release_files} iculx48.dll) - set(release_files ${release_files} icutu48.dll) - set(release_files ${release_files} icuuc48.dll) - # OpenSSL if(ADDRESS_SIZE EQUAL 64) set(release_files ${release_files} libcrypto-1_1-x64.dll) diff --git a/indra/cmake/ICU4C.cmake b/indra/cmake/ICU4C.cmake deleted file mode 100644 index 7b27665483..0000000000 --- a/indra/cmake/ICU4C.cmake +++ /dev/null @@ -1,23 +0,0 @@ -# -*- cmake -*- -include(Prebuilt) - -include_guard() - -add_library( ll::icu4c INTERFACE IMPORTED ) - - -use_system_binary(icu4c) -use_prebuilt_binary(icu4c) -if (WINDOWS) - target_link_libraries( ll::icu4c INTERFACE icuuc) -elseif(DARWIN) - target_link_libraries( ll::icu4c INTERFACE icuuc) -#elseif(LINUX) -## target_link_libraries( ll::icu4c INTERFACE ) -else() - message(FATAL_ERROR "Invalid platform") -endif() - -target_include_directories( ll::icu4c SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include/unicode ) - -use_prebuilt_binary(dictionaries) -- cgit v1.2.3 From 1b68f71348ecf3983b76b40d7940da8377f049b7 Mon Sep 17 00:00:00 2001 From: Andrey Lihatskiy <alihatskiy@productengine.com> Date: Mon, 29 Apr 2024 07:43:28 +0300 Subject: #824 Process source files in bulk: replace tabs with spaces, convert CRLF to LF, and trim trailing whitespaces as needed --- indra/cmake/00-Common.cmake | 2 +- indra/cmake/BuildVersion.cmake | 2 +- indra/cmake/CMakeCopyIfDifferent.cmake | 10 +++++----- indra/cmake/ConfigurePkgConfig.cmake | 24 ++++++++++++------------ indra/cmake/Copy3rdPartyLibs.cmake | 2 +- indra/cmake/DeploySharedLibs.cmake | 2 +- indra/cmake/FindAutobuild.cmake | 6 +++--- indra/cmake/GoogleMock.cmake | 2 +- indra/cmake/Havok.cmake | 2 +- indra/cmake/LLKDU.cmake | 2 +- indra/cmake/LLPhysicsExtensions.cmake | 2 +- indra/cmake/LLPrimitive.cmake | 2 +- indra/cmake/LLSharedLibs.cmake | 4 ++-- indra/cmake/LLWindow.cmake | 2 +- indra/cmake/Linking.cmake | 2 +- indra/cmake/TinyGLTF.cmake | 2 +- indra/cmake/UI.cmake | 2 +- indra/cmake/Variables.cmake | 2 +- indra/cmake/cmake_dummy.cpp | 10 +++++----- indra/cmake/run_build_test.py | 2 +- 20 files changed, 42 insertions(+), 42 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake index 24534c98d9..690159583a 100644 --- a/indra/cmake/00-Common.cmake +++ b/indra/cmake/00-Common.cmake @@ -87,7 +87,7 @@ if (WINDOWS) if( ADDRESS_SIZE EQUAL 32 ) add_compile_options( /arch:SSE2 ) endif() - + # Are we using the crummy Visual Studio KDU build workaround? if (NOT VS_DISABLE_FATAL_WARNINGS) add_compile_options(/WX) diff --git a/indra/cmake/BuildVersion.cmake b/indra/cmake/BuildVersion.cmake index b531f29ee2..aa151bafc8 100644 --- a/indra/cmake/BuildVersion.cmake +++ b/indra/cmake/BuildVersion.cmake @@ -39,7 +39,7 @@ if (NOT DEFINED VIEWER_SHORT_VERSION) # will be true in indra/, false in indra/n endif (DEFINED ENV{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}'") + message(SEND_ERROR "Cannot get viewer version from '${VIEWER_VERSION_BASE_FILE}'") endif ( EXISTS ${VIEWER_VERSION_BASE_FILE} ) if ("${VIEWER_VERSION_REVISION}" STREQUAL "") diff --git a/indra/cmake/CMakeCopyIfDifferent.cmake b/indra/cmake/CMakeCopyIfDifferent.cmake index 55e71ff153..fe6806e38b 100644 --- a/indra/cmake/CMakeCopyIfDifferent.cmake +++ b/indra/cmake/CMakeCopyIfDifferent.cmake @@ -10,20 +10,20 @@ MACRO(COPY_IF_DIFFERENT FROM_DIR TO_DIR TARGETS) # Macro to implement copy_if_different for a list of files -# Arguments - +# Arguments - # FROM_DIR - this is the source directory # TO_DIR - this is the destination directory # TARGETS - A variable to receive a list of targets -# FILES - names of the files to copy -# TODO: add globing. +# FILES - names of the files to copy +# TODO: add globing. SET(AddTargets "") FOREACH(SRC ${ARGN}) - GET_FILENAME_COMPONENT(SRCFILE ${SRC} NAME) + GET_FILENAME_COMPONENT(SRCFILE ${SRC} NAME) IF("${FROM_DIR}" STREQUAL "") SET(FROM ${SRC}) ELSE("${FROM_DIR}" STREQUAL "") SET(FROM ${FROM_DIR}/${SRC}) - ENDIF("${FROM_DIR}" STREQUAL "") + ENDIF("${FROM_DIR}" STREQUAL "") IF("${TO_DIR}" STREQUAL "") SET(TO ${SRCFILE}) ELSE("${TO_DIR}" STREQUAL "") diff --git a/indra/cmake/ConfigurePkgConfig.cmake b/indra/cmake/ConfigurePkgConfig.cmake index 55d865392e..9e798d663b 100644 --- a/indra/cmake/ConfigurePkgConfig.cmake +++ b/indra/cmake/ConfigurePkgConfig.cmake @@ -17,13 +17,13 @@ IF("$ENV{PKG_CONFIG_LIBDIR}" STREQUAL "") SET(PKG_CONFIG_MULTI_GUESS /usr/local/lib/x86_64-linux-gnu) SET(PKG_CONFIG_MULTI_LOCAL_GUESS /usr/local/lib/x86_64-linux-gnu) endif (ADDRESS_SIZE EQUAL 32) - + # Use DPKG architecture, if available. IF (${DPKG_ARCH}) SET(PKG_CONFIG_MULTI_GUESS /usr/lib/${DPKG_ARCH}) SET(PKG_CONFIG_MULTI_LOCAL_GUESS /usrlocal/lib/${DPKG_ARCH}) ENDIF (${DPKG_ARCH}) - + # Explicitly include anything listed in PKG_CONFIG_PATH string(REPLACE ":" ";" PKG_CONFIG_PATH_LIST "$ENV{PKG_CONFIG_PATH}") FOREACH(PKG_CONFIG_DIR ${PKG_CONFIG_PATH_LIST}) @@ -38,25 +38,25 @@ IF("$ENV{PKG_CONFIG_LIBDIR}" STREQUAL "") FIND_PATH(PKG_CONFIG_NO_MULTI_LOCAL pkgconfig HINT ${PKG_CONFIG_NO_MULTI_LOCAL_GUESS}) # Add anything we found to our list. - IF(NOT PKG_CONFIG_ENV STREQUAL PKG_CONFIG_ENV-NOTFOUND) + IF(NOT PKG_CONFIG_ENV STREQUAL PKG_CONFIG_ENV-NOTFOUND) SET(VALID_PKG_LIBDIRS "${VALID_PKG_LIBDIRS}:${PKG_CONFIG_ENV}/pkgconfig") - ENDIF(NOT PKG_CONFIG_ENV STREQUAL PKG_CONFIG_ENV-NOTFOUND) + ENDIF(NOT PKG_CONFIG_ENV STREQUAL PKG_CONFIG_ENV-NOTFOUND) - IF(NOT PKG_CONFIG_MULTI STREQUAL PKG_CONFIG_MULTI-NOTFOUND) + IF(NOT PKG_CONFIG_MULTI STREQUAL PKG_CONFIG_MULTI-NOTFOUND) SET(VALID_PKG_LIBDIRS "${VALID_PKG_LIBDIRS}:${PKG_CONFIG_MULTI}/pkgconfig") - ENDIF(NOT PKG_CONFIG_MULTI STREQUAL PKG_CONFIG_MULTI-NOTFOUND) + ENDIF(NOT PKG_CONFIG_MULTI STREQUAL PKG_CONFIG_MULTI-NOTFOUND) - IF(NOT PKG_CONFIG_MULTI_LOCAL STREQUAL PKG_CONFIG_MULTI_LOCAL-NOTFOUND) + IF(NOT PKG_CONFIG_MULTI_LOCAL STREQUAL PKG_CONFIG_MULTI_LOCAL-NOTFOUND) SET(VALID_PKG_LIBDIRS "${VALID_PKG_LIBDIRS}:${PKG_CONFIG_MULTI_LOCAL}/pkgconfig") - ENDIF(NOT PKG_CONFIG_MULTI_LOCAL STREQUAL PKG_CONFIG_MULTI_LOCAL-NOTFOUND) + ENDIF(NOT PKG_CONFIG_MULTI_LOCAL STREQUAL PKG_CONFIG_MULTI_LOCAL-NOTFOUND) - IF(NOT PKG_CONFIG_NO_MULTI STREQUAL PKG_CONFIG_NO_MULTI-NOTFOUND) + IF(NOT PKG_CONFIG_NO_MULTI STREQUAL PKG_CONFIG_NO_MULTI-NOTFOUND) SET(VALID_PKG_LIBDIRS "${VALID_PKG_LIBDIRS}:${PKG_CONFIG_NO_MULTI}/pkgconfig") - ENDIF(NOT PKG_CONFIG_NO_MULTI STREQUAL PKG_CONFIG_NO_MULTI-NOTFOUND) + ENDIF(NOT PKG_CONFIG_NO_MULTI STREQUAL PKG_CONFIG_NO_MULTI-NOTFOUND) - IF(NOT PKG_CONFIG_NO_MULTI_LOCAL STREQUAL PKG_CONFIG_NO_MULTI_LOCAL-NOTFOUND) + IF(NOT PKG_CONFIG_NO_MULTI_LOCAL STREQUAL PKG_CONFIG_NO_MULTI_LOCAL-NOTFOUND) SET(VALID_PKG_LIBDIRS "${VALID_PKG_LIBDIRS}:${PKG_CONFIG_NO_MULTI_LOCAL}/pkgconfig") - ENDIF(NOT PKG_CONFIG_NO_MULTI_LOCAL STREQUAL PKG_CONFIG_NO_MULTI_LOCAL-NOTFOUND) + ENDIF(NOT PKG_CONFIG_NO_MULTI_LOCAL STREQUAL PKG_CONFIG_NO_MULTI_LOCAL-NOTFOUND) # Also add some non-architecture specific package locations. SET(VALID_PKG_LIBDIRS "${VALID_PKG_LIBDIRS}:/usr/share/pkgconfig:/usr/local/share/pkgconfig") diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake index 9f79c13a97..262cd5813d 100644 --- a/indra/cmake/Copy3rdPartyLibs.cmake +++ b/indra/cmake/Copy3rdPartyLibs.cmake @@ -50,7 +50,7 @@ if(WINDOWS) endif (ADDRESS_SIZE EQUAL 64) #******************************* - # Misc shared libs + # Misc shared libs set(release_src_dir "${ARCH_PREBUILT_DIRS_RELEASE}") set(release_files diff --git a/indra/cmake/DeploySharedLibs.cmake b/indra/cmake/DeploySharedLibs.cmake index 9d6cf0cb35..fe9ffcd8f1 100644 --- a/indra/cmake/DeploySharedLibs.cmake +++ b/indra/cmake/DeploySharedLibs.cmake @@ -5,7 +5,7 @@ # This script requires a few cmake variable to be set on the command line: # BIN_NAME= The full path the the binary to search for dependecies. # SEARCH_DIRS= The full paths to dirs to search for dependencies. -# DST_PATH= The full path where the dependecies will be copied. +# DST_PATH= The full path where the dependecies will be copied. include(GetPrerequisites) diff --git a/indra/cmake/FindAutobuild.cmake b/indra/cmake/FindAutobuild.cmake index ea5ad6d108..79287d4e01 100644 --- a/indra/cmake/FindAutobuild.cmake +++ b/indra/cmake/FindAutobuild.cmake @@ -22,11 +22,11 @@ IF (NOT AUTOBUILD_EXECUTABLE) SET(AUTOBUILD_EXECUTABLE) FIND_PROGRAM( - AUTOBUILD_EXECUTABLE + AUTOBUILD_EXECUTABLE NAMES ${AUTOBUILD_EXE_NAMES} - PATHS + PATHS ENV PATH - ${CMAKE_SOURCE_DIR}/.. + ${CMAKE_SOURCE_DIR}/.. ${CMAKE_SOURCE_DIR}/../.. ${CMAKE_SOURCE_DIR}/../../.. PATH_SUFFIXES "/autobuild/bin/" diff --git a/indra/cmake/GoogleMock.cmake b/indra/cmake/GoogleMock.cmake index e4520fe96e..c3d195c37b 100644 --- a/indra/cmake/GoogleMock.cmake +++ b/indra/cmake/GoogleMock.cmake @@ -9,7 +9,7 @@ if(USE_CONAN) target_link_libraries( ll::googlemock INTERFACE CONAN_PKG::gtest ) #Not very nice, but for the moment we need this for tut.hpp - target_include_directories( ll::googlemock SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include ) + target_include_directories( ll::googlemock SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include ) return() endif() diff --git a/indra/cmake/Havok.cmake b/indra/cmake/Havok.cmake index 652760e626..c544440adc 100644 --- a/indra/cmake/Havok.cmake +++ b/indra/cmake/Havok.cmake @@ -77,7 +77,7 @@ foreach(HAVOK_LIB ${HAVOK_LIBS}) find_library(HAVOK_DEBUG_LIB_${HAVOK_LIB} ${HAVOK_LIB} PATHS ${HAVOK_DEBUG_LIBRARY_PATH}) find_library(HAVOK_RELEASE_LIB_${HAVOK_LIB} ${HAVOK_LIB} PATHS ${HAVOK_RELEASE_LIBRARY_PATH}) find_library(HAVOK_RELWITHDEBINFO_LIB_${HAVOK_LIB} ${HAVOK_LIB} PATHS ${HAVOK_RELWITHDEBINFO_LIBRARY_PATH}) - + if(LINUX) set(debug_dir "${HAVOK_DEBUG_LIBRARY_PATH}/${HAVOK_LIB}") set(release_dir "${HAVOK_RELEASE_LIBRARY_PATH}/${HAVOK_LIB}") diff --git a/indra/cmake/LLKDU.cmake b/indra/cmake/LLKDU.cmake index fda25610da..668b07ffab 100644 --- a/indra/cmake/LLKDU.cmake +++ b/indra/cmake/LLKDU.cmake @@ -1,7 +1,7 @@ # -*- cmake -*- # USE_KDU can be set when launching cmake as an option using the argument -DUSE_KDU:BOOL=ON -# When building using proprietary binaries though (i.e. having access to LL private servers), +# When building using proprietary binaries though (i.e. having access to LL private servers), # we always build with KDU if (INSTALL_PROPRIETARY) set(USE_KDU ON CACHE BOOL "Use Kakadu library.") diff --git a/indra/cmake/LLPhysicsExtensions.cmake b/indra/cmake/LLPhysicsExtensions.cmake index 36821447c9..80d243d9f8 100644 --- a/indra/cmake/LLPhysicsExtensions.cmake +++ b/indra/cmake/LLPhysicsExtensions.cmake @@ -3,7 +3,7 @@ include(Prebuilt) # There are three possible solutions to provide the llphysicsextensions: # - The full source package, selected by -DHAVOK:BOOL=ON -# - The stub source package, selected by -DHAVOK:BOOL=OFF +# - The stub source package, selected by -DHAVOK:BOOL=OFF # - The prebuilt package available to those with sublicenses, selected by -DHAVOK_TPV:BOOL=ON if (INSTALL_PROPRIETARY) diff --git a/indra/cmake/LLPrimitive.cmake b/indra/cmake/LLPrimitive.cmake index 3d8499cbc3..735f5e8052 100644 --- a/indra/cmake/LLPrimitive.cmake +++ b/indra/cmake/LLPrimitive.cmake @@ -14,7 +14,7 @@ add_library( ll::colladadom INTERFACE IMPORTED ) # ND, needs fixup in collada conan pkg if( USE_CONAN ) target_include_directories( ll::colladadom SYSTEM INTERFACE - "${CONAN_INCLUDE_DIRS_COLLADADOM}/collada-dom/" + "${CONAN_INCLUDE_DIRS_COLLADADOM}/collada-dom/" "${CONAN_INCLUDE_DIRS_COLLADADOM}/collada-dom/1.4/" ) endif() diff --git a/indra/cmake/LLSharedLibs.cmake b/indra/cmake/LLSharedLibs.cmake index e3e2a3b0c6..48149129d6 100644 --- a/indra/cmake/LLSharedLibs.cmake +++ b/indra/cmake/LLSharedLibs.cmake @@ -1,6 +1,6 @@ # ll_deploy_sharedlibs_command # target_exe: the cmake target of the executable for which the shared libs will be deployed. -macro(ll_deploy_sharedlibs_command target_exe) +macro(ll_deploy_sharedlibs_command target_exe) set(TARGET_LOCATION $<TARGET_FILE:${target_exe}>) get_filename_component(OUTPUT_PATH ${TARGET_LOCATION} PATH) @@ -26,7 +26,7 @@ macro(ll_deploy_sharedlibs_command target_exe) add_custom_command( TARGET ${target_exe} POST_BUILD - COMMAND ${CMAKE_COMMAND} + COMMAND ${CMAKE_COMMAND} ARGS "-DBIN_NAME=\"${TARGET_LOCATION}\"" "-DSEARCH_DIRS=\"${SEARCH_DIRS}\"" diff --git a/indra/cmake/LLWindow.cmake b/indra/cmake/LLWindow.cmake index b36e970560..2e1b601b79 100644 --- a/indra/cmake/LLWindow.cmake +++ b/indra/cmake/LLWindow.cmake @@ -14,7 +14,7 @@ if (LINUX) use_system_binary(SDL) use_prebuilt_binary(SDL) - + target_include_directories( ll::SDL SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include) target_link_libraries( ll::SDL INTERFACE SDL directfb fusion direct X11) endif (LINUX) diff --git a/indra/cmake/Linking.cmake b/indra/cmake/Linking.cmake index 1ce21c11f9..0ab30d0800 100644 --- a/indra/cmake/Linking.cmake +++ b/indra/cmake/Linking.cmake @@ -11,7 +11,7 @@ if (WINDOWS OR DARWIN ) # Kludge for older cmake versions, 3.20+ is needed to use a genex in add_custom_command( OUTPUT <var> ... ) # Using this will work okay-ish, as Debug is not supported anyway. But for property multi config and also # ninja support the genex version is preferred. - if(${CMAKE_VERSION} VERSION_LESS "3.20.0") + if(${CMAKE_VERSION} VERSION_LESS "3.20.0") if(CMAKE_BUILD_TYPE MATCHES Release) set(SHARED_LIB_STAGING_DIR ${CMAKE_BINARY_DIR}/sharedlibs/Release) elseif (CMAKE_BUILD_TYPE MATCHES RelWithDebInfo) diff --git a/indra/cmake/TinyGLTF.cmake b/indra/cmake/TinyGLTF.cmake index bb731637a0..92b2de309f 100644 --- a/indra/cmake/TinyGLTF.cmake +++ b/indra/cmake/TinyGLTF.cmake @@ -3,5 +3,5 @@ include(Prebuilt) use_prebuilt_binary(tinygltf) -set(TINYGLTF_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include/tinygltf) +set(TINYGLTF_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include/tinygltf) diff --git a/indra/cmake/UI.cmake b/indra/cmake/UI.cmake index 8b70192efc..8f135676d6 100644 --- a/indra/cmake/UI.cmake +++ b/indra/cmake/UI.cmake @@ -12,7 +12,7 @@ if (LINUX) return() endif() use_prebuilt_binary(gtk-atk-pango-glib) - + target_link_libraries( ll::uilibraries INTERFACE atk-1.0 gdk-x11-2.0 diff --git a/indra/cmake/Variables.cmake b/indra/cmake/Variables.cmake index af1f16d04d..59725ecc65 100644 --- a/indra/cmake/Variables.cmake +++ b/indra/cmake/Variables.cmake @@ -117,7 +117,7 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Linux") set(FIND_LIBRARY_USE_LIB64_PATHS ON) endif (ADDRESS_SIZE EQUAL 32) - execute_process(COMMAND dpkg-architecture -a${DEB_ARCHITECTURE} -qDEB_HOST_MULTIARCH + execute_process(COMMAND dpkg-architecture -a${DEB_ARCHITECTURE} -qDEB_HOST_MULTIARCH RESULT_VARIABLE DPKG_RESULT OUTPUT_VARIABLE DPKG_ARCH OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET) diff --git a/indra/cmake/cmake_dummy.cpp b/indra/cmake/cmake_dummy.cpp index ae4475a73e..21a47a9b14 100644 --- a/indra/cmake/cmake_dummy.cpp +++ b/indra/cmake/cmake_dummy.cpp @@ -1,24 +1,24 @@ -/** +/** * @file cmake_dummy.cpp * * $LicenseInfo:firstyear=2008&license=viewerlgpl$ * Second Life Viewer Source Code * Copyright (C) 2010, Linden Research, Inc. - * + * * 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 - * + * * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA * $/LicenseInfo$ */ diff --git a/indra/cmake/run_build_test.py b/indra/cmake/run_build_test.py index 1f040bded5..940a130a50 100755 --- a/indra/cmake/run_build_test.py +++ b/indra/cmake/run_build_test.py @@ -152,7 +152,7 @@ def translate_rc(rc): """ if rc is None: return "still running" - + if rc >= 0: return "terminated with rc %s" % rc -- cgit v1.2.3 From e2e37cced861b98de8c1a7c9c0d3a50d2d90e433 Mon Sep 17 00:00:00 2001 From: Ansariel <ansariel.hiller@phoenixviewer.com> Date: Wed, 22 May 2024 21:25:21 +0200 Subject: Fix line endlings --- indra/cmake/Copy3rdPartyLibs.cmake | 574 ++++++++++++++++++------------------- 1 file changed, 287 insertions(+), 287 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake index 0e6756fd18..a2ce9eab90 100644 --- a/indra/cmake/Copy3rdPartyLibs.cmake +++ b/indra/cmake/Copy3rdPartyLibs.cmake @@ -1,287 +1,287 @@ -# -*- cmake -*- - -# The copy_win_libs folder contains file lists and a script used to -# copy dlls, exes and such needed to run the SecondLife from within -# VisualStudio. - -include(CMakeCopyIfDifferent) -include(Linking) -include(OPENAL) - -# When we copy our dependent libraries, we almost always want to copy them to -# both the Release and the RelWithDebInfo staging directories. This has -# resulted in duplicate (or worse, erroneous attempted duplicate) -# copy_if_different commands. Encapsulate that usage. -# Pass FROM_DIR, TARGETS and the files to copy. TO_DIR is implicit. -# to_staging_dirs diverges from copy_if_different in that it appends to TARGETS. -macro(to_staging_dirs from_dir targets) - set( targetDir "${SHARED_LIB_STAGING_DIR}") - copy_if_different("${from_dir}" "${targetDir}" out_targets ${ARGN}) - - list(APPEND "${targets}" "${out_targets}") -endmacro() - -################################################################### -# set up platform specific lists of files that need to be copied -################################################################### -if(WINDOWS) - #******************************* - # VIVOX - *NOTE: no debug version - set(vivox_lib_dir "${ARCH_PREBUILT_DIRS_RELEASE}") - - # ND, it seems there is no such thing defined. At least when building a viewer - # Does this maybe matter on some LL buildserver? Otherwise this and the snippet using slvoice_src_dir - # can all go - if( ARCH_PREBUILT_BIN_RELEASE ) - set(slvoice_src_dir "${ARCH_PREBUILT_BIN_RELEASE}") - endif() - set(slvoice_files SLVoice.exe ) - if (ADDRESS_SIZE EQUAL 64) - list(APPEND vivox_libs - vivoxsdk_x64.dll - ortp_x64.dll - ) - else (ADDRESS_SIZE EQUAL 64) - list(APPEND vivox_libs - vivoxsdk.dll - ortp.dll - ) - endif (ADDRESS_SIZE EQUAL 64) - - #******************************* - # Misc shared libs - - set(release_src_dir "${ARCH_PREBUILT_DIRS_RELEASE}") - set(release_files - openjp2.dll - libapr-1.dll - libaprutil-1.dll - nghttp2.dll - libhunspell.dll - uriparser.dll - ) - - # OpenSSL - if(ADDRESS_SIZE EQUAL 64) - set(release_files ${release_files} libcrypto-1_1-x64.dll) - set(release_files ${release_files} libssl-1_1-x64.dll) - else(ADDRESS_SIZE EQUAL 64) - set(release_files ${release_files} libcrypto-1_1.dll) - set(release_files ${release_files} libssl-1_1.dll) - endif(ADDRESS_SIZE EQUAL 64) - - # Filenames are different for 32/64 bit BugSplat file and we don't - # have any control over them so need to branch. - if (USE_BUGSPLAT) - if(ADDRESS_SIZE EQUAL 32) - set(release_files ${release_files} BugSplat.dll) - set(release_files ${release_files} BugSplatRc.dll) - set(release_files ${release_files} BsSndRpt.exe) - else(ADDRESS_SIZE EQUAL 32) - set(release_files ${release_files} BugSplat64.dll) - set(release_files ${release_files} BugSplatRc64.dll) - set(release_files ${release_files} BsSndRpt64.exe) - endif(ADDRESS_SIZE EQUAL 32) - endif (USE_BUGSPLAT) - - if (TARGET ll::openal) - list(APPEND release_files openal32.dll alut.dll) - endif () - - #******************************* - # Copy MS C runtime dlls, required for packaging. - if (MSVC80) - set(MSVC_VER 80) - elseif (MSVC_VERSION EQUAL 1600) # VisualStudio 2010 - MESSAGE(STATUS "MSVC_VERSION ${MSVC_VERSION}") - elseif (MSVC_VERSION EQUAL 1800) # VisualStudio 2013, which is (sigh) VS 12 - set(MSVC_VER 120) - elseif (MSVC_VERSION GREATER_EQUAL 1910 AND MSVC_VERSION LESS 1920) # Visual Studio 2017 - set(MSVC_VER 140) - elseif (MSVC_VERSION GREATER_EQUAL 1920 AND MSVC_VERSION LESS 1930) # Visual Studio 2019 - set(MSVC_VER 140) - elseif (MSVC_VERSION GREATER_EQUAL 1930 AND MSVC_VERSION LESS 1940) # Visual Studio 2022 - set(MSVC_VER 140) - else (MSVC80) - MESSAGE(WARNING "New MSVC_VERSION ${MSVC_VERSION} of MSVC: adapt Copy3rdPartyLibs.cmake") - endif (MSVC80) - - if(ADDRESS_SIZE EQUAL 32) - # this folder contains the 32bit DLLs.. (yes really!) - set(registry_find_path "[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Windows;Directory]/SysWOW64") - else(ADDRESS_SIZE EQUAL 32) - # this folder contains the 64bit DLLs.. (yes really!) - set(registry_find_path "[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Windows;Directory]/System32") - endif(ADDRESS_SIZE EQUAL 32) - - # Having a string containing the system registry path is a start, but to - # get CMake to actually read the registry, we must engage some other - # operation. - get_filename_component(registry_path "${registry_find_path}" ABSOLUTE) - - # These are candidate DLL names. Empirically, VS versions before 2015 have - # msvcp*.dll and msvcr*.dll. VS 2017 has msvcp*.dll and vcruntime*.dll. - # Check each of them. - foreach(release_msvc_file - msvcp${MSVC_VER}.dll - msvcr${MSVC_VER}.dll - vcruntime${MSVC_VER}.dll - vcruntime${MSVC_VER}_1.dll - ) - if(EXISTS "${registry_path}/${release_msvc_file}") - to_staging_dirs( - ${registry_path} - third_party_targets - ${release_msvc_file}) - else() - # This isn't a WARNING because, as noted above, every VS version - # we've observed has only a subset of the specified DLL names. - MESSAGE(STATUS "Redist lib ${release_msvc_file} not found") - endif() - endforeach() - MESSAGE(STATUS "Will copy redist files for MSVC ${MSVC_VER}:") - foreach(target ${third_party_targets}) - MESSAGE(STATUS "${target}") - endforeach() - -elseif(DARWIN) - set(vivox_lib_dir "${ARCH_PREBUILT_DIRS_RELEASE}") - set(slvoice_files SLVoice) - set(vivox_libs - libortp.dylib - libvivoxsdk.dylib - ) - set(debug_src_dir "${ARCH_PREBUILT_DIRS_DEBUG}") - set(debug_files - ) - set(release_src_dir "${ARCH_PREBUILT_DIRS_RELEASE}") - set(release_files - libapr-1.0.dylib - libapr-1.dylib - libaprutil-1.0.dylib - libaprutil-1.dylib - ${EXPAT_COPY} - libhunspell-1.3.0.dylib - libndofdev.dylib - libnghttp2.dylib - libnghttp2.14.dylib - liburiparser.dylib - liburiparser.1.dylib - liburiparser.1.0.27.dylib - ) - - if (TARGET ll::openal) - list(APPEND release_files libalut.dylib libopenal.dylib) - endif () - -elseif(LINUX) - # linux is weird, multiple side by side configurations aren't supported - # and we don't seem to have any debug shared libs built yet anyways... - set(SHARED_LIB_STAGING_DIR_DEBUG "${SHARED_LIB_STAGING_DIR}") - set(SHARED_LIB_STAGING_DIR_RELWITHDEBINFO "${SHARED_LIB_STAGING_DIR}") - set(SHARED_LIB_STAGING_DIR_RELEASE "${SHARED_LIB_STAGING_DIR}") - - set(vivox_lib_dir "${ARCH_PREBUILT_DIRS_RELEASE}") - set(vivox_libs - libsndfile.so.1 - libortp.so - libvivoxoal.so.1 - libvivoxsdk.so - ) - set(slvoice_files SLVoice) - - # *TODO - update this to use LIBS_PREBUILT_DIR and LL_ARCH_DIR variables - # or ARCH_PREBUILT_DIRS - set(debug_src_dir "${ARCH_PREBUILT_DIRS_DEBUG}") - set(debug_files - ) - # *TODO - update this to use LIBS_PREBUILT_DIR and LL_ARCH_DIR variables - # or ARCH_PREBUILT_DIRS - set(release_src_dir "${ARCH_PREBUILT_DIRS_RELEASE}") - # *FIX - figure out what to do with duplicate libalut.so here -brad - set(release_files - ${EXPAT_COPY} - ) - - if( USE_AUTOBUILD_3P ) - list( APPEND release_files - libapr-1.so.0 - libaprutil-1.so.0 - libatk-1.0.so - libfreetype.so.6.6.2 - libfreetype.so.6 - libhunspell-1.3.so.0.0.0 - libopenjp2.so - libuuid.so.16 - libuuid.so.16.0.22 - libfontconfig.so.1.8.0 - libfontconfig.so.1 - libgmodule-2.0.so - libgobject-2.0.so - ) - endif() - -else(WINDOWS) - message(STATUS "WARNING: unrecognized platform for staging 3rd party libs, skipping...") - set(vivox_lib_dir "${CMAKE_SOURCE_DIR}/newview/vivox-runtime/i686-linux") - set(vivox_libs "") - # *TODO - update this to use LIBS_PREBUILT_DIR and LL_ARCH_DIR variables - # or ARCH_PREBUILT_DIRS - set(debug_src_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-linux/lib/debug") - set(debug_files "") - # *TODO - update this to use LIBS_PREBUILT_DIR and LL_ARCH_DIR variables - # or ARCH_PREBUILT_DIRS - set(release_src_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-linux/lib/release") - set(release_files "") - - set(debug_llkdu_src "") - set(debug_llkdu_dst "") - set(release_llkdu_src "") - set(release_llkdu_dst "") - set(relwithdebinfo_llkdu_dst "") -endif(WINDOWS) - - -################################################################ -# Done building the file lists, now set up the copy commands. -################################################################ - -# Curiously, slvoice_files are only copied to SHARED_LIB_STAGING_DIR_RELEASE. -# It's unclear whether this is oversight or intentional, but anyway leave the -# single copy_if_different command rather than using to_staging_dirs. - -if( slvoice_src_dir ) - copy_if_different( - ${slvoice_src_dir} - "${SHARED_LIB_STAGING_DIR_RELEASE}" - out_targets - ${slvoice_files} - ) - list(APPEND third_party_targets ${out_targets}) -endif() - -to_staging_dirs( - ${vivox_lib_dir} - third_party_targets - ${vivox_libs} - ) - -to_staging_dirs( - ${release_src_dir} - third_party_targets - ${release_files} - ) - -add_custom_target( - stage_third_party_libs ALL - DEPENDS ${third_party_targets} -) - -if(DARWIN) - # Support our "@executable_path/../Resources" load path for executables - # that end up in any of the above SHARED_LIB_STAGING_DIR_MUMBLE - # directories. - add_custom_command( TARGET stage_third_party_libs POST_BUILD - COMMAND ${CMAKE_COMMAND} -E create_symlink ${SHARED_LIB_STAGING_DIR} ${CMAKE_BINARY_DIR}/sharedlibs/Resources - ) -endif() +# -*- cmake -*- + +# The copy_win_libs folder contains file lists and a script used to +# copy dlls, exes and such needed to run the SecondLife from within +# VisualStudio. + +include(CMakeCopyIfDifferent) +include(Linking) +include(OPENAL) + +# When we copy our dependent libraries, we almost always want to copy them to +# both the Release and the RelWithDebInfo staging directories. This has +# resulted in duplicate (or worse, erroneous attempted duplicate) +# copy_if_different commands. Encapsulate that usage. +# Pass FROM_DIR, TARGETS and the files to copy. TO_DIR is implicit. +# to_staging_dirs diverges from copy_if_different in that it appends to TARGETS. +macro(to_staging_dirs from_dir targets) + set( targetDir "${SHARED_LIB_STAGING_DIR}") + copy_if_different("${from_dir}" "${targetDir}" out_targets ${ARGN}) + + list(APPEND "${targets}" "${out_targets}") +endmacro() + +################################################################### +# set up platform specific lists of files that need to be copied +################################################################### +if(WINDOWS) + #******************************* + # VIVOX - *NOTE: no debug version + set(vivox_lib_dir "${ARCH_PREBUILT_DIRS_RELEASE}") + + # ND, it seems there is no such thing defined. At least when building a viewer + # Does this maybe matter on some LL buildserver? Otherwise this and the snippet using slvoice_src_dir + # can all go + if( ARCH_PREBUILT_BIN_RELEASE ) + set(slvoice_src_dir "${ARCH_PREBUILT_BIN_RELEASE}") + endif() + set(slvoice_files SLVoice.exe ) + if (ADDRESS_SIZE EQUAL 64) + list(APPEND vivox_libs + vivoxsdk_x64.dll + ortp_x64.dll + ) + else (ADDRESS_SIZE EQUAL 64) + list(APPEND vivox_libs + vivoxsdk.dll + ortp.dll + ) + endif (ADDRESS_SIZE EQUAL 64) + + #******************************* + # Misc shared libs + + set(release_src_dir "${ARCH_PREBUILT_DIRS_RELEASE}") + set(release_files + openjp2.dll + libapr-1.dll + libaprutil-1.dll + nghttp2.dll + libhunspell.dll + uriparser.dll + ) + + # OpenSSL + if(ADDRESS_SIZE EQUAL 64) + set(release_files ${release_files} libcrypto-1_1-x64.dll) + set(release_files ${release_files} libssl-1_1-x64.dll) + else(ADDRESS_SIZE EQUAL 64) + set(release_files ${release_files} libcrypto-1_1.dll) + set(release_files ${release_files} libssl-1_1.dll) + endif(ADDRESS_SIZE EQUAL 64) + + # Filenames are different for 32/64 bit BugSplat file and we don't + # have any control over them so need to branch. + if (USE_BUGSPLAT) + if(ADDRESS_SIZE EQUAL 32) + set(release_files ${release_files} BugSplat.dll) + set(release_files ${release_files} BugSplatRc.dll) + set(release_files ${release_files} BsSndRpt.exe) + else(ADDRESS_SIZE EQUAL 32) + set(release_files ${release_files} BugSplat64.dll) + set(release_files ${release_files} BugSplatRc64.dll) + set(release_files ${release_files} BsSndRpt64.exe) + endif(ADDRESS_SIZE EQUAL 32) + endif (USE_BUGSPLAT) + + if (TARGET ll::openal) + list(APPEND release_files openal32.dll alut.dll) + endif () + + #******************************* + # Copy MS C runtime dlls, required for packaging. + if (MSVC80) + set(MSVC_VER 80) + elseif (MSVC_VERSION EQUAL 1600) # VisualStudio 2010 + MESSAGE(STATUS "MSVC_VERSION ${MSVC_VERSION}") + elseif (MSVC_VERSION EQUAL 1800) # VisualStudio 2013, which is (sigh) VS 12 + set(MSVC_VER 120) + elseif (MSVC_VERSION GREATER_EQUAL 1910 AND MSVC_VERSION LESS 1920) # Visual Studio 2017 + set(MSVC_VER 140) + elseif (MSVC_VERSION GREATER_EQUAL 1920 AND MSVC_VERSION LESS 1930) # Visual Studio 2019 + set(MSVC_VER 140) + elseif (MSVC_VERSION GREATER_EQUAL 1930 AND MSVC_VERSION LESS 1940) # Visual Studio 2022 + set(MSVC_VER 140) + else (MSVC80) + MESSAGE(WARNING "New MSVC_VERSION ${MSVC_VERSION} of MSVC: adapt Copy3rdPartyLibs.cmake") + endif (MSVC80) + + if(ADDRESS_SIZE EQUAL 32) + # this folder contains the 32bit DLLs.. (yes really!) + set(registry_find_path "[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Windows;Directory]/SysWOW64") + else(ADDRESS_SIZE EQUAL 32) + # this folder contains the 64bit DLLs.. (yes really!) + set(registry_find_path "[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Windows;Directory]/System32") + endif(ADDRESS_SIZE EQUAL 32) + + # Having a string containing the system registry path is a start, but to + # get CMake to actually read the registry, we must engage some other + # operation. + get_filename_component(registry_path "${registry_find_path}" ABSOLUTE) + + # These are candidate DLL names. Empirically, VS versions before 2015 have + # msvcp*.dll and msvcr*.dll. VS 2017 has msvcp*.dll and vcruntime*.dll. + # Check each of them. + foreach(release_msvc_file + msvcp${MSVC_VER}.dll + msvcr${MSVC_VER}.dll + vcruntime${MSVC_VER}.dll + vcruntime${MSVC_VER}_1.dll + ) + if(EXISTS "${registry_path}/${release_msvc_file}") + to_staging_dirs( + ${registry_path} + third_party_targets + ${release_msvc_file}) + else() + # This isn't a WARNING because, as noted above, every VS version + # we've observed has only a subset of the specified DLL names. + MESSAGE(STATUS "Redist lib ${release_msvc_file} not found") + endif() + endforeach() + MESSAGE(STATUS "Will copy redist files for MSVC ${MSVC_VER}:") + foreach(target ${third_party_targets}) + MESSAGE(STATUS "${target}") + endforeach() + +elseif(DARWIN) + set(vivox_lib_dir "${ARCH_PREBUILT_DIRS_RELEASE}") + set(slvoice_files SLVoice) + set(vivox_libs + libortp.dylib + libvivoxsdk.dylib + ) + set(debug_src_dir "${ARCH_PREBUILT_DIRS_DEBUG}") + set(debug_files + ) + set(release_src_dir "${ARCH_PREBUILT_DIRS_RELEASE}") + set(release_files + libapr-1.0.dylib + libapr-1.dylib + libaprutil-1.0.dylib + libaprutil-1.dylib + ${EXPAT_COPY} + libhunspell-1.3.0.dylib + libndofdev.dylib + libnghttp2.dylib + libnghttp2.14.dylib + liburiparser.dylib + liburiparser.1.dylib + liburiparser.1.0.27.dylib + ) + + if (TARGET ll::openal) + list(APPEND release_files libalut.dylib libopenal.dylib) + endif () + +elseif(LINUX) + # linux is weird, multiple side by side configurations aren't supported + # and we don't seem to have any debug shared libs built yet anyways... + set(SHARED_LIB_STAGING_DIR_DEBUG "${SHARED_LIB_STAGING_DIR}") + set(SHARED_LIB_STAGING_DIR_RELWITHDEBINFO "${SHARED_LIB_STAGING_DIR}") + set(SHARED_LIB_STAGING_DIR_RELEASE "${SHARED_LIB_STAGING_DIR}") + + set(vivox_lib_dir "${ARCH_PREBUILT_DIRS_RELEASE}") + set(vivox_libs + libsndfile.so.1 + libortp.so + libvivoxoal.so.1 + libvivoxsdk.so + ) + set(slvoice_files SLVoice) + + # *TODO - update this to use LIBS_PREBUILT_DIR and LL_ARCH_DIR variables + # or ARCH_PREBUILT_DIRS + set(debug_src_dir "${ARCH_PREBUILT_DIRS_DEBUG}") + set(debug_files + ) + # *TODO - update this to use LIBS_PREBUILT_DIR and LL_ARCH_DIR variables + # or ARCH_PREBUILT_DIRS + set(release_src_dir "${ARCH_PREBUILT_DIRS_RELEASE}") + # *FIX - figure out what to do with duplicate libalut.so here -brad + set(release_files + ${EXPAT_COPY} + ) + + if( USE_AUTOBUILD_3P ) + list( APPEND release_files + libapr-1.so.0 + libaprutil-1.so.0 + libatk-1.0.so + libfreetype.so.6.6.2 + libfreetype.so.6 + libhunspell-1.3.so.0.0.0 + libopenjp2.so + libuuid.so.16 + libuuid.so.16.0.22 + libfontconfig.so.1.8.0 + libfontconfig.so.1 + libgmodule-2.0.so + libgobject-2.0.so + ) + endif() + +else(WINDOWS) + message(STATUS "WARNING: unrecognized platform for staging 3rd party libs, skipping...") + set(vivox_lib_dir "${CMAKE_SOURCE_DIR}/newview/vivox-runtime/i686-linux") + set(vivox_libs "") + # *TODO - update this to use LIBS_PREBUILT_DIR and LL_ARCH_DIR variables + # or ARCH_PREBUILT_DIRS + set(debug_src_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-linux/lib/debug") + set(debug_files "") + # *TODO - update this to use LIBS_PREBUILT_DIR and LL_ARCH_DIR variables + # or ARCH_PREBUILT_DIRS + set(release_src_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-linux/lib/release") + set(release_files "") + + set(debug_llkdu_src "") + set(debug_llkdu_dst "") + set(release_llkdu_src "") + set(release_llkdu_dst "") + set(relwithdebinfo_llkdu_dst "") +endif(WINDOWS) + + +################################################################ +# Done building the file lists, now set up the copy commands. +################################################################ + +# Curiously, slvoice_files are only copied to SHARED_LIB_STAGING_DIR_RELEASE. +# It's unclear whether this is oversight or intentional, but anyway leave the +# single copy_if_different command rather than using to_staging_dirs. + +if( slvoice_src_dir ) + copy_if_different( + ${slvoice_src_dir} + "${SHARED_LIB_STAGING_DIR_RELEASE}" + out_targets + ${slvoice_files} + ) + list(APPEND third_party_targets ${out_targets}) +endif() + +to_staging_dirs( + ${vivox_lib_dir} + third_party_targets + ${vivox_libs} + ) + +to_staging_dirs( + ${release_src_dir} + third_party_targets + ${release_files} + ) + +add_custom_target( + stage_third_party_libs ALL + DEPENDS ${third_party_targets} +) + +if(DARWIN) + # Support our "@executable_path/../Resources" load path for executables + # that end up in any of the above SHARED_LIB_STAGING_DIR_MUMBLE + # directories. + add_custom_command( TARGET stage_third_party_libs POST_BUILD + COMMAND ${CMAKE_COMMAND} -E create_symlink ${SHARED_LIB_STAGING_DIR} ${CMAKE_BINARY_DIR}/sharedlibs/Resources + ) +endif() -- cgit v1.2.3