From efb987f595d6749d42e3148bf0e071f5bafce450 Mon Sep 17 00:00:00 2001 From: Signal Linden Date: Wed, 12 Oct 2022 12:59:12 -0700 Subject: Run on windows-2022-large --- indra/cmake/00-Common.cmake | 9 --------- 1 file changed, 9 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake index c848d00710..bf5a107c73 100644 --- a/indra/cmake/00-Common.cmake +++ b/indra/cmake/00-Common.cmake @@ -55,15 +55,6 @@ if (WINDOWS) # http://www.cmake.org/pipermail/cmake/2009-September/032143.html string(REPLACE "/Zm1000" " " CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) - # Without PreferredToolArchitecture=x64, as of 2020-06-26 the 32-bit - # compiler on our TeamCity build hosts has started running out of virtual - # memory for the precompiled header file. - # CP changed to only append the flag for 32bit builds - on 64bit builds, - # locally at least, the build output is spammed with 1000s of 'D9002' - # warnings about this switch being ignored. - if( ADDRESS_SIZE EQUAL 32 ) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /p:PreferredToolArchitecture=x64") - endif() # zlib has assembly-language object files incompatible with SAFESEH add_link_options(/LARGEADDRESSAWARE /SAFESEH:NO -- cgit v1.2.3 From 53c89d9723b816d06516ae59d7e0f0d12e477ec9 Mon Sep 17 00:00:00 2001 From: Nat Goodspeed Date: Fri, 2 Jun 2023 16:30:28 -0400 Subject: SL-18837: Don't try to copy long, specific libnghttp2.14.19.0.dylib. The package doesn't include that any more. --- indra/cmake/Copy3rdPartyLibs.cmake | 1 - 1 file changed, 1 deletion(-) (limited to 'indra/cmake') diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake index d43cc30706..e4d06d6ba2 100644 --- a/indra/cmake/Copy3rdPartyLibs.cmake +++ b/indra/cmake/Copy3rdPartyLibs.cmake @@ -172,7 +172,6 @@ elseif(DARWIN) libndofdev.dylib libnghttp2.dylib libnghttp2.14.dylib - libnghttp2.14.19.0.dylib liburiparser.dylib liburiparser.1.dylib liburiparser.1.0.27.dylib -- cgit v1.2.3 From a4a68c4f5e2e411ba636d25e6b07129ca5de2bb9 Mon Sep 17 00:00:00 2001 From: Nat Goodspeed Date: Mon, 5 Jun 2023 10:39:34 -0400 Subject: SL-18837: We no longer build Windows apr-iconv -- don't reference. With VS 2022 on Windows GitHub Actions runners, we can't build apr_suite at all with the upstream .sln / .vcxproj files, so we had to switch to "experimental" CMake support. However there's no CMakeLists.txt file for apr-iconv, so the Windows package omits that library. --- indra/cmake/APR.cmake | 2 -- indra/cmake/Copy3rdPartyLibs.cmake | 1 - 2 files changed, 3 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/APR.cmake b/indra/cmake/APR.cmake index 8a0939c92c..21139319c3 100644 --- a/indra/cmake/APR.cmake +++ b/indra/cmake/APR.cmake @@ -16,7 +16,6 @@ if (WINDOWS) endif (LLCOMMON_LINK_SHARED) target_link_libraries( ll::apr INTERFACE ${ARCH_PREBUILT_DIRS_RELEASE}/${APR_selector}apr-1.lib - ${ARCH_PREBUILT_DIRS_RELEASE}/${APR_selector}apriconv-1.lib ${ARCH_PREBUILT_DIRS_RELEASE}/${APR_selector}aprutil-1.lib ) elseif (DARWIN) @@ -37,7 +36,6 @@ else (WINDOWS) target_link_libraries( ll::apr INTERFACE apr-1 aprutil-1 - iconv uuid rt ) diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake index e4d06d6ba2..a3db02372d 100644 --- a/indra/cmake/Copy3rdPartyLibs.cmake +++ b/indra/cmake/Copy3rdPartyLibs.cmake @@ -57,7 +57,6 @@ if(WINDOWS) openjp2.dll libapr-1.dll libaprutil-1.dll - libapriconv-1.dll nghttp2.dll libhunspell.dll uriparser.dll -- cgit v1.2.3 From b5e1484c00880bfd8001cd1418f3eb96fc38b89e Mon Sep 17 00:00:00 2001 From: Nat Goodspeed Date: Mon, 5 Jun 2023 12:22:28 -0400 Subject: SL-18837: Windows APR 1.7.2 requires MS rpcrt4.dll. --- indra/cmake/Linking.cmake | 1 + 1 file changed, 1 insertion(+) (limited to 'indra/cmake') diff --git a/indra/cmake/Linking.cmake b/indra/cmake/Linking.cmake index 4a501f420b..1ce21c11f9 100644 --- a/indra/cmake/Linking.cmake +++ b/indra/cmake/Linking.cmake @@ -62,6 +62,7 @@ elseif (WINDOWS) user32 ole32 dbghelp + rpcrt4.lib legacy_stdio_definitions ) else() -- cgit v1.2.3 From 19e9e8cf419c18b527bc19c5da1ab2cdf040dd0a Mon Sep 17 00:00:00 2001 From: Nat Goodspeed Date: Mon, 5 Jun 2023 12:32:10 -0400 Subject: SL-18837: Try to silence cascade of Boost.Bind warning messages. --- indra/cmake/00-Common.cmake | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'indra/cmake') diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake index bf5a107c73..dc9ccd356a 100644 --- a/indra/cmake/00-Common.cmake +++ b/indra/cmake/00-Common.cmake @@ -26,6 +26,11 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} $ENV{LL_BUILD}") # Portable compilation flags. add_compile_definitions( ADDRESS_SIZE=${ADDRESS_SIZE}) +# Because older versions of Boost.Bind dumped placeholders _1, _2 et al. into +# the global namespace, Boost now requires either BOOST_BIND_NO_PLACEHOLDERS +# to avoid that or BOOST_BIND_GLOBAL_PLACEHOLDERS to state that we require it +# -- which we do. Without one or the other, we get a ton of Boost warnings. +add_compile_definitions(BOOST_BIND_GLOBAL_PLACEHOLDERS) # Configure crash reporting set(RELEASE_CRASH_REPORTING OFF CACHE BOOL "Enable use of crash reporting in release builds") -- cgit v1.2.3 From f57de07f73871bc7be6c338ea18893a494d104eb Mon Sep 17 00:00:00 2001 From: Brad Linden Date: Wed, 7 Jun 2023 13:46:29 -0700 Subject: Attempt to port some build.yaml improvements from DRTVWR-559 over to actions branch --- indra/cmake/Variables.cmake | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/Variables.cmake b/indra/cmake/Variables.cmake index e6285ab48b..778384f87c 100644 --- a/indra/cmake/Variables.cmake +++ b/indra/cmake/Variables.cmake @@ -173,13 +173,17 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") set(CMAKE_XCODE_ATTRIBUTE_GCC_OPTIMIZATION_LEVEL "${CMAKE_MATCH_1}") message(STATUS "CMAKE_XCODE_ATTRIBUTE_GCC_OPTIMIZATION_LEVEL = '${CMAKE_XCODE_ATTRIBUTE_GCC_OPTIMIZATION_LEVEL}'") - string(REGEX MATCHALL "[^ ]+" LL_BUILD_LIST "$ENV{LL_BUILD}") - list(FIND LL_BUILD_LIST "-iwithsysroot" sysroot_idx) - if ("${sysroot_idx}" LESS 0) - message(FATAL_ERROR "Environment variable LL_BUILD must contain '-iwithsysroot'") - endif () - math(EXPR sysroot_idx "${sysroot_idx} + 1") - list(GET LL_BUILD_LIST "${sysroot_idx}" CMAKE_OSX_SYSROOT) + # allow disabling this check by setting LL_SKIP_REQUIRE_SYSROOT either ON as cmake cache var or non-empty as environment var + set(LL_SKIP_REQUIRE_SYSROOT OFF CACHE BOOL "Skip requirement to set toolchain sysroot ahead of time. Not skipped by default for consistency, but skipping can be useful for selecting alternative xcode versions side by side") + if("$ENV{LL_SKIP_REQUIRE_SYSROOT}" STREQUAL "" AND NOT ${LL_SKIP_REQUIRE_SYSROOT}) + string(REGEX MATCHALL "[^ ]+" LL_BUILD_LIST "$ENV{LL_BUILD}") + list(FIND LL_BUILD_LIST "-iwithsysroot" sysroot_idx) + if ("${sysroot_idx}" LESS 0) + message(FATAL_ERROR "Environment variable LL_BUILD must contain '-iwithsysroot'") + endif () + math(EXPR sysroot_idx "${sysroot_idx} + 1") + list(GET LL_BUILD_LIST "${sysroot_idx}" CMAKE_OSX_SYSROOT) + endif() message(STATUS "CMAKE_OSX_SYSROOT = '${CMAKE_OSX_SYSROOT}'") set(CMAKE_XCODE_ATTRIBUTE_GCC_VERSION "com.apple.compilers.llvm.clang.1_0") -- cgit v1.2.3 From 512d450fe31eee5772339c27333e0d56f4bfbd45 Mon Sep 17 00:00:00 2001 From: Ansariel Date: Mon, 28 Aug 2023 18:47:20 +0200 Subject: Fix CMake CMP0148 deprecation warning introduced with CMake 3.27.4 --- indra/cmake/Python.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/cmake') diff --git a/indra/cmake/Python.cmake b/indra/cmake/Python.cmake index f9259f6c2b..2167fb7864 100644 --- a/indra/cmake/Python.cmake +++ b/indra/cmake/Python.cmake @@ -40,7 +40,7 @@ elseif (WINDOWS) ${regpaths} ${pymaybe} ) - include(FindPythonInterp) + find_package(Python3 COMPONENTS Interpreter) else() find_program(python python3) -- cgit v1.2.3 From 7efe86cdde1fd8821d73e330c52145cdb786999b Mon Sep 17 00:00:00 2001 From: Nat Goodspeed Date: Tue, 5 Sep 2023 16:42:48 -0400 Subject: DRTVWR-587: Simplify Python.cmake by omitting find_package(Python3). Elsewhere in CMake land, we reference PYTHONINTERP_FOUND and PYTHON_EXECUTABLE, both of which are explicitly set by Python.cmake. We don't seem to need the find_package(Python3 COMPONENTS Interpreter) call. Given that we take some pains to be careful about which Windows Python interpreter we find, this eliminates a wildcard. --- indra/cmake/Python.cmake | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/Python.cmake b/indra/cmake/Python.cmake index 2167fb7864..676cf31f2f 100644 --- a/indra/cmake/Python.cmake +++ b/indra/cmake/Python.cmake @@ -40,18 +40,15 @@ elseif (WINDOWS) ${regpaths} ${pymaybe} ) - find_package(Python3 COMPONENTS Interpreter) else() find_program(python python3) - - if (python) - set(PYTHONINTERP_FOUND ON) - endif (python) endif (DEFINED ENV{PYTHON}) -if (NOT python) +if (python) + set(PYTHONINTERP_FOUND ON) +else() message(FATAL_ERROR "No Python interpreter found") -endif (NOT python) +endif (python) set(PYTHON_EXECUTABLE "${python}" CACHE FILEPATH "Python interpreter for builds") mark_as_advanced(PYTHON_EXECUTABLE) -- cgit v1.2.3 From 566ace0d5694922638806d36b331479e37cb8f2b Mon Sep 17 00:00:00 2001 From: Nat Goodspeed Date: Fri, 8 Sep 2023 14:37:09 -0400 Subject: DRTVWR-587: Adopt Ansariel's Python.cmake Windows simplification. --- indra/cmake/Python.cmake | 38 +++++--------------------------------- 1 file changed, 5 insertions(+), 33 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/Python.cmake b/indra/cmake/Python.cmake index 676cf31f2f..316f49ba59 100644 --- a/indra/cmake/Python.cmake +++ b/indra/cmake/Python.cmake @@ -7,39 +7,11 @@ if (DEFINED ENV{PYTHON}) set(python "$ENV{PYTHON}") set(PYTHONINTERP_FOUND ON) elseif (WINDOWS) - # On Windows, explicitly avoid Cygwin Python. - - # if the user has their own version of Python installed, prefer that - foreach(hive HKEY_CURRENT_USER HKEY_LOCAL_MACHINE) - # prefer more recent Python versions to older ones, if multiple versions - # are installed - foreach(pyver 3.11 3.10 3.9 3.8 3.7) - list(APPEND regpaths "[${hive}\\SOFTWARE\\Python\\PythonCore\\${pyver}\\InstallPath]") - endforeach() - endforeach() - - # TODO: This logic has the disadvantage that if you have multiple versions - # of Python installed, the selected path won't necessarily be the newest - - # e.g. this GLOB will prefer Python310 to Python311. But since pymaybe is - # checked AFTER the registry entries, this will only surface as a problem if - # no installed Python appears in the registry. - file(GLOB pymaybe - "$ENV{PROGRAMFILES}/Python*" -## "$ENV{PROGRAMFILES(X86)}/Python*" - # The Windows environment variable is in fact as shown above, but CMake - # disallows querying an environment variable containing parentheses - - # thanks, Windows. Fudge by just appending " (x86)" to $PROGRAMFILES and - # hoping for the best. - "$ENV{PROGRAMFILES} (x86)/Python*" - "c:/Python*") - - find_program(python - NAMES python3.exe python.exe - NO_DEFAULT_PATH # added so that cmake does not find cygwin python - PATHS - ${regpaths} - ${pymaybe} - ) + if (DEFINED ENV{VIRTUAL_ENV}) + set(Python3_FIND_VIRTUALENV "ONLY") + endif() + find_package(Python3 COMPONENTS Interpreter) + set(python ${Python3_EXECUTABLE}) else() find_program(python python3) endif (DEFINED ENV{PYTHON}) -- cgit v1.2.3 From 03d2dc5d2c53abac8471c3d6e2972637d4575f87 Mon Sep 17 00:00:00 2001 From: Andrey Lihatskiy Date: Wed, 4 Oct 2023 19:58:30 +0300 Subject: Revert "DRTVWR-587: Simplify Python.cmake by omitting find_package(Python3)." --- indra/cmake/Python.cmake | 47 +++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 39 insertions(+), 8 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/Python.cmake b/indra/cmake/Python.cmake index 316f49ba59..2167fb7864 100644 --- a/indra/cmake/Python.cmake +++ b/indra/cmake/Python.cmake @@ -7,20 +7,51 @@ if (DEFINED ENV{PYTHON}) set(python "$ENV{PYTHON}") set(PYTHONINTERP_FOUND ON) elseif (WINDOWS) - if (DEFINED ENV{VIRTUAL_ENV}) - set(Python3_FIND_VIRTUALENV "ONLY") - endif() + # On Windows, explicitly avoid Cygwin Python. + + # if the user has their own version of Python installed, prefer that + foreach(hive HKEY_CURRENT_USER HKEY_LOCAL_MACHINE) + # prefer more recent Python versions to older ones, if multiple versions + # are installed + foreach(pyver 3.11 3.10 3.9 3.8 3.7) + list(APPEND regpaths "[${hive}\\SOFTWARE\\Python\\PythonCore\\${pyver}\\InstallPath]") + endforeach() + endforeach() + + # TODO: This logic has the disadvantage that if you have multiple versions + # of Python installed, the selected path won't necessarily be the newest - + # e.g. this GLOB will prefer Python310 to Python311. But since pymaybe is + # checked AFTER the registry entries, this will only surface as a problem if + # no installed Python appears in the registry. + file(GLOB pymaybe + "$ENV{PROGRAMFILES}/Python*" +## "$ENV{PROGRAMFILES(X86)}/Python*" + # The Windows environment variable is in fact as shown above, but CMake + # disallows querying an environment variable containing parentheses - + # thanks, Windows. Fudge by just appending " (x86)" to $PROGRAMFILES and + # hoping for the best. + "$ENV{PROGRAMFILES} (x86)/Python*" + "c:/Python*") + + find_program(python + NAMES python3.exe python.exe + NO_DEFAULT_PATH # added so that cmake does not find cygwin python + PATHS + ${regpaths} + ${pymaybe} + ) find_package(Python3 COMPONENTS Interpreter) - set(python ${Python3_EXECUTABLE}) else() find_program(python python3) + + if (python) + set(PYTHONINTERP_FOUND ON) + endif (python) endif (DEFINED ENV{PYTHON}) -if (python) - set(PYTHONINTERP_FOUND ON) -else() +if (NOT python) message(FATAL_ERROR "No Python interpreter found") -endif (python) +endif (NOT python) set(PYTHON_EXECUTABLE "${python}" CACHE FILEPATH "Python interpreter for builds") mark_as_advanced(PYTHON_EXECUTABLE) -- cgit v1.2.3 From e9f493cea08a9114cb48d05820e7b4d4fb5aa741 Mon Sep 17 00:00:00 2001 From: Bennett Goble Date: Sun, 8 Oct 2023 16:36:54 -0700 Subject: Add python 3.12 to FindPython search path Look for python 3.12 in the registry along with all the other versions. --- indra/cmake/Python.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/cmake') diff --git a/indra/cmake/Python.cmake b/indra/cmake/Python.cmake index f9259f6c2b..afc0d85fe0 100644 --- a/indra/cmake/Python.cmake +++ b/indra/cmake/Python.cmake @@ -13,7 +13,7 @@ elseif (WINDOWS) foreach(hive HKEY_CURRENT_USER HKEY_LOCAL_MACHINE) # prefer more recent Python versions to older ones, if multiple versions # are installed - foreach(pyver 3.11 3.10 3.9 3.8 3.7) + foreach(pyver 3.12 3.11 3.10 3.9 3.8 3.7) list(APPEND regpaths "[${hive}\\SOFTWARE\\Python\\PythonCore\\${pyver}\\InstallPath]") endforeach() endforeach() -- cgit v1.2.3 From e7c586246c7e43af532e9acf000e473e9d7b55b2 Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Wed, 25 Oct 2023 23:47:41 +0300 Subject: D587 Post merge fmod issues fix --- indra/cmake/Copy3rdPartyLibs.cmake | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'indra/cmake') diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake index a3db02372d..7938d4f54b 100644 --- a/indra/cmake/Copy3rdPartyLibs.cmake +++ b/indra/cmake/Copy3rdPartyLibs.cmake @@ -86,7 +86,8 @@ if(WINDOWS) endif (USE_BUGSPLAT) if (TARGET ll::fmodstudio) - set(debug_files ${debug_files} fmodL.dll) + # fmodL is included for logging, only one should be picked by manifest + set(release_files ${release_files} fmodL.dll) set(release_files ${release_files} fmod.dll) endif () -- cgit v1.2.3 From 9d49edbc48d81f820870d43edb2c975beffa5485 Mon Sep 17 00:00:00 2001 From: Andrey Lihatskiy Date: Fri, 27 Oct 2023 00:04:00 +0300 Subject: DRTVWR-587 Bring back the previously reverted change --- indra/cmake/Python.cmake | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/Python.cmake b/indra/cmake/Python.cmake index da5d2ef22c..c8af9a528b 100644 --- a/indra/cmake/Python.cmake +++ b/indra/cmake/Python.cmake @@ -40,18 +40,15 @@ elseif (WINDOWS) ${regpaths} ${pymaybe} ) - find_package(Python3 COMPONENTS Interpreter) else() find_program(python python3) - - if (python) - set(PYTHONINTERP_FOUND ON) - endif (python) endif (DEFINED ENV{PYTHON}) -if (NOT python) +if (python) + set(PYTHONINTERP_FOUND ON) +else() message(FATAL_ERROR "No Python interpreter found") -endif (NOT python) +endif (python) set(PYTHON_EXECUTABLE "${python}" CACHE FILEPATH "Python interpreter for builds") mark_as_advanced(PYTHON_EXECUTABLE) -- cgit v1.2.3 From 630b4432da9c2731fa9a1d3c5c33efdc263264f7 Mon Sep 17 00:00:00 2001 From: Andrey Lihatskiy Date: Mon, 30 Oct 2023 20:10:09 +0200 Subject: Revert "DRTVWR-587 Bring back the previously reverted change" This reverts commit 9d49edbc48d81f820870d43edb2c975beffa5485. --- indra/cmake/Python.cmake | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/Python.cmake b/indra/cmake/Python.cmake index c8af9a528b..da5d2ef22c 100644 --- a/indra/cmake/Python.cmake +++ b/indra/cmake/Python.cmake @@ -40,15 +40,18 @@ elseif (WINDOWS) ${regpaths} ${pymaybe} ) + find_package(Python3 COMPONENTS Interpreter) else() find_program(python python3) + + if (python) + set(PYTHONINTERP_FOUND ON) + endif (python) endif (DEFINED ENV{PYTHON}) -if (python) - set(PYTHONINTERP_FOUND ON) -else() +if (NOT python) message(FATAL_ERROR "No Python interpreter found") -endif (python) +endif (NOT python) set(PYTHON_EXECUTABLE "${python}" CACHE FILEPATH "Python interpreter for builds") mark_as_advanced(PYTHON_EXECUTABLE) -- cgit v1.2.3