From 0d21c42e3c3cba56d958826abe1b8afd42988162 Mon Sep 17 00:00:00 2001
From: Rye Mutt <rye@alchemyviewer.org>
Date: Sun, 2 Apr 2023 23:15:46 -0400
Subject: [PATCH] =?UTF-8?q?=F0=9F=A7=B9More=20cmake=20modernization?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 indra/CMakeLists.txt        |  1 +
 indra/cmake/00-Common.cmake | 19 ++-----------------
 2 files changed, 3 insertions(+), 17 deletions(-)

diff --git a/indra/CMakeLists.txt b/indra/CMakeLists.txt
index 88eb518ef7b..8b0328b6227 100644
--- a/indra/CMakeLists.txt
+++ b/indra/CMakeLists.txt
@@ -11,6 +11,7 @@
 ##   We're not there yet, but once done, there is a kludge in Linking.cmake
 #    "if(${CMAKE_VERSION} VERSION_LESS "3.20.0")" that can also be removed
 cmake_minimum_required(VERSION 3.16.0 FATAL_ERROR)
+cmake_policy(SET CMP0091 NEW)
 
 set(ROOT_PROJECT_NAME "Alchemy" CACHE STRING
     "The root project/makefile/solution name. Defaults to Alchemy.")
diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake
index d18872aee0f..3ec6db7e41e 100644
--- a/indra/cmake/00-Common.cmake
+++ b/indra/cmake/00-Common.cmake
@@ -63,6 +63,7 @@ endif()
 if (WINDOWS)
   # Don't build DLLs.
   set(BUILD_SHARED_LIBS OFF)
+  set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>DLL")
 
   if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
     add_compile_options(/MP)
@@ -84,15 +85,6 @@ if (WINDOWS)
     )
 
   add_compile_options(
-    $<$<CONFIG:Debug>:/Od>
-    $<$<CONFIG:Debug>:/MDd>
-    $<$<OR:$<CONFIG:Release>,$<CONFIG:RelWithDebInfo>>:/O2>
-    $<$<OR:$<CONFIG:Release>,$<CONFIG:RelWithDebInfo>>:/MD>
-    $<$<OR:$<CONFIG:Release>,$<CONFIG:RelWithDebInfo>>:/GS>
-    $<$<CONFIG:Release>:/Oi>
-    $<$<CONFIG:Release>:/Ot>
-    $<$<CONFIG:Release>:/Gy>
-    $<$<CONFIG:Release>:/Oy->
     $<$<CONFIG:Release>:/Zc:inline>
     $<$<CONFIG:Release>:/fp:fast>
     /Zi
@@ -101,19 +93,12 @@ if (WINDOWS)
     /W3 
     /c 
     /Zc:__cplusplus 
-    /Zc:forScope 
-    /Zc:rvalueCast 
-    /Zc:strictStrings 
-    /Zc:ternary 
     /nologo
     )
 
   add_link_options(
     /DEBUG:FULL
     /IGNORE:4099
-    /NODEFAULTLIB:LIBCMT
-    $<$<CONFIG:Debug>:/NODEFAULTLIB:LIBCMTD>
-    $<$<CONFIG:Debug>:/NODEFAULTLIB:MSVCRT>
     )
 
   if (ADDRESS_SIZE EQUAL 32)
@@ -129,7 +114,7 @@ if (WINDOWS)
   endif ()
 
   if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
-    add_compile_options(/Zc:externConstexpr /Zc:referenceBinding /ZH:SHA_256)
+    add_compile_options(/Zc:externConstexpr /ZH:SHA_256)
   elseif("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
     add_compile_options(/Qvec /Zc:dllexportInlines- /clang:-mprefer-vector-width=128 -fno-strict-aliasing -Wno-ignored-pragma-intrinsic -Wno-unused-local-typedef)
   endif()
-- 
GitLab