summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorJohn W. Parent <45471568+johnwparent@users.noreply.github.com>2024-08-21 18:08:57 -0400
committerGitHub <noreply@github.com>2024-08-21 16:08:57 -0600
commit182bc87fe10e24dcd3560f4231b51cacfb869c1c (patch)
tree5de87ecd491bda831f67213203f654bac1ec5475 /lib
parentf93595ba2f7f20d1f581f58bbfd7e3094223df82 (diff)
downloadspack-182bc87fe10e24dcd3560f4231b51cacfb869c1c.tar.gz
spack-182bc87fe10e24dcd3560f4231b51cacfb869c1c.tar.bz2
spack-182bc87fe10e24dcd3560f4231b51cacfb869c1c.tar.xz
spack-182bc87fe10e24dcd3560f4231b51cacfb869c1c.zip
Windows: Port icu4c; define cxx std flags for MSVC (#45547)
* Adds an MSBuild system + Builder to the icu4c package * Adds custom install method as MSBuild system does not vendor an install target * The cxxstd variant is not supported on Windows (there are no config options you use to tell the build system what cxx standard to build against), so the variant definition was updated to occur everywhere except Windows Also, this commit defines the c/cxx..._flag properties of the MSVC compiler (although they are not used by `icu4c` and not strictly necessary to bundle with this PR).
Diffstat (limited to 'lib')
-rw-r--r--lib/spack/spack/compilers/msvc.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/lib/spack/spack/compilers/msvc.py b/lib/spack/spack/compilers/msvc.py
index f6e86f831a..e74bb4e307 100644
--- a/lib/spack/spack/compilers/msvc.py
+++ b/lib/spack/spack/compilers/msvc.py
@@ -224,6 +224,30 @@ class Msvc(Compiler):
self.msvc_compiler_environment = CmdCall(*env_cmds)
@property
+ def cxx11_flag(self):
+ return "/std:c++11"
+
+ @property
+ def cxx14_flag(self):
+ return "/std:c++14"
+
+ @property
+ def cxx17_flag(self):
+ return "/std:c++17"
+
+ @property
+ def cxx20_flag(self):
+ return "/std:c++20"
+
+ @property
+ def c11_flag(self):
+ return "/std:c11"
+
+ @property
+ def c17_flag(self):
+ return "/std:c17"
+
+ @property
def msvc_version(self):
"""This is the VCToolset version *NOT* the actual version of the cl compiler
For CL version, query `Msvc.cl_version`"""