diff --git a/SConstruct b/SConstruct index c6098abb0..d1601b146 100644 --- a/SConstruct +++ b/SConstruct @@ -83,21 +83,8 @@ opts = Variables('cantera.conf') windows_compiler_options = [] if os.name == 'nt': - # On Windows, use the same version of Visual Studio that was used - # to compile Python, and target the same architecture, unless - # the user specified another option. - - if 'MSC v.1400' in sys.version: - msvc_version = '8.0' # Visual Studio 2005 - elif 'MSC v.1500' in sys.version: - msvc_version = '9.0' # Visual Studio 2008 - elif 'MSC v.1600' in sys.version: - msvc_version = '10.0' # Visual Studio 2010 - elif 'MSC v.1700' in sys.version: - msvc_version = '11.0' # Visual Studio 2012 - else: - msvc_version = None - + # On Windows, target the same architecture as the current copy of Python, + # unless the user specified another option. if '64 bit' in sys.version: target_arch = 'amd64' else: @@ -111,9 +98,9 @@ if os.name == 'nt': windows_compiler_options.extend([ ('msvc_version', - """Version of Visual Studio to use. The default is the same version - that was used to compile the installed version of Python.""", - msvc_version), + """Version of Visual Studio to use. The default is the newest + installed version.""", + ''), ('target_arch', """Target architecture. The default is the same architecture as the installed version of Python.""", @@ -129,8 +116,10 @@ if os.name == 'nt': if pickCompilerEnv['toolchain'] == 'msvc': toolchain = ['default'] - if msvc_version: + if pickCompilerEnv['msvc_version']: extraEnvArgs['MSVC_VERSION'] = pickCompilerEnv['msvc_version'] + print 'INFO: Compiling with MSVC', (pickCompilerEnv['msvc_version'] or + pickCompilerEnv['MSVC_VERSION']) elif pickCompilerEnv['toolchain'] == 'mingw': toolchain = ['mingw', 'f90'] diff --git a/doc/sphinx/compiling.rst b/doc/sphinx/compiling.rst index bbfb2e7e9..a7a99ab86 100644 --- a/doc/sphinx/compiling.rst +++ b/doc/sphinx/compiling.rst @@ -59,15 +59,6 @@ depending on which interfaces (Python, Matlab) you want to build and what architecture (32-bit or 64-bit) you want to use. See :ref:`sec-dependencies` for the full list of dependencies. -* If you want to build the Python module, you must use the same version of the - Microsoft compiler as was used to compile Python. For Python 2.6 and Python - 2.7, this means that you must use Visual Studio 2008 or the equivalent version - of the Windows SDK (see link below). For Python 3.3, you should use Visual - Studio 2010, or the corresponding version of the Windows SDK. You can use - MinGW to sidestep this requirement. -* Note that the the "Express" editions of Visual Studio 2008 do not include a - 64-bit compiler, so if you want to build 64-bit Cantera, you will also need to - install the Windows SDK. * The build process will produce a Python module compatible with the version of Python used for the compilation. To generate different modules for other versions of Python, you will need to install those versions of Python and @@ -233,11 +224,10 @@ Windows (MSVC) that Cantera depends on, so you will need to specify these paths explicitly. * Remember to put double quotes around any paths with spaces in them, e.g. "C:\Program Files". -* By default, SCons attempts to use the same architecture and version of the - Microsoft compiler as was used to compile Python, typically Visual Studio - 2008 or the equivalent version of the Windows SDK. If you aren't building the - Python module, you can override this with the configuration options - ``target_arch`` and ``msvc_version``. +* By default, SCons attempts to use the same architecture as the copy of Python + that is running SCons, and the most recent installed version of the Visual + Studio compiler. If you aren't building the Python module, you can override + this with the configuration options ``target_arch`` and ``msvc_version``. .. note:: @@ -399,13 +389,8 @@ program. * Microsoft compilers (C/C++) - * Known to work with version 9.0 (Visual Studio 2008) and version 10.0 - (Visual Studio 2010). Expected to work with version 11.0 (Visual Studio - 2012). - * If you are building the Python module, you must use the same version and - architecture (32- or 64-bit) as your copy of Python was compiled with: - Visual Studio 2008 for Python 2.6, 2.7, and 3.2, or Visual Studio 2010 for - Python 3.3. + * Known to work with versions 9.0 (Visual Studio 2008) through 12.0 (Visual + Studio 2013). * The "Express" editions of Visual Studio 2008 and 2010 do not include a 64-bit compiler. To compile Cantera with 64-bit support, you must install the corresponding version of the Windows SDK, available as a free download.