Re: [patch] Do not pretend that MSVC 12 can use dependencies compiled with MSVC 10

2015-12-15 Thread Peter Kümmel

Am 15.12.2015 um 18:34 schrieb Scott Kostyshak:

On Mon, Dec 07, 2015 at 09:53:44PM +0100, Georg Baum wrote:

First, for those who don't know, something about MSVC versions (it is easy
to get confused there):

MSVC 8: Microsoft Visual Studio 2005
MSVC 9: Microsoft Visual Studio 2008
MSVC 10: Microsoft Visual Studio 2010 Don't be mislead by the nice fit!
MSVC 11: Microsoft Visual Studio 2012 From here on we are "one off"!
MSVC 12: Microsoft Visual Studio 2013
MSVC 14: Microsoft Visual Studio 2015

Peter added a workaround for mixing code compiled by MSVC 12 and MSVC 10
some time ago:
http://www.lyx.org/trac/changeset/6b4c3036/lyxgit/ According to
https://msdn.microsoft.com/en-us/library/7sf3txa8.aspx the /vd2 option is
only needed if one wants to violate the C++ standard (using dynamic_cast on
an object being constrcuted does not work in standard conforming compilers).

I'd like to get rid of this for two reasons:

1) Mixing different MSVC versions is a bad idea as explained in the other
thread, so we should not help people to shoot themselves in the foot.

2) We cannot use dynamic_cast on not fully constrcuted objects anyway, since
we support other compilers besides MSVC.

OK to go in?


Was a decision made on this? Peter seems to be around so let's see if he
has a comment. If no one else comments, I would say please commit.

Scott



I already removed the /vd2 flag when adding the download of the new 2013 
dependencies.
But in meantime it shows that it is impossible to use msvc2013 or msvc2015:
http://www.lyx.org/trac/ticket/9892

So when someone wanna use msvc2012 he should enable the 3rdparty build,
-DLYX_3RDPARTY_BUILD=1 .

Peter



Re: [patch] Do not pretend that MSVC 12 can use dependencies compiled with MSVC 10

2015-12-15 Thread Scott Kostyshak
On Mon, Dec 07, 2015 at 09:53:44PM +0100, Georg Baum wrote:
> First, for those who don't know, something about MSVC versions (it is easy 
> to get confused there):
> 
> MSVC 8: Microsoft Visual Studio 2005
> MSVC 9: Microsoft Visual Studio 2008
> MSVC 10: Microsoft Visual Studio 2010 Don't be mislead by the nice fit!
> MSVC 11: Microsoft Visual Studio 2012 From here on we are "one off"!
> MSVC 12: Microsoft Visual Studio 2013
> MSVC 14: Microsoft Visual Studio 2015
> 
> Peter added a workaround for mixing code compiled by MSVC 12 and MSVC 10 
> some time ago:
> http://www.lyx.org/trac/changeset/6b4c3036/lyxgit/ According to 
> https://msdn.microsoft.com/en-us/library/7sf3txa8.aspx the /vd2 option is 
> only needed if one wants to violate the C++ standard (using dynamic_cast on 
> an object being constrcuted does not work in standard conforming compilers).
> 
> I'd like to get rid of this for two reasons:
> 
> 1) Mixing different MSVC versions is a bad idea as explained in the other 
> thread, so we should not help people to shoot themselves in the foot.
> 
> 2) We cannot use dynamic_cast on not fully constrcuted objects anyway, since 
> we support other compilers besides MSVC.
> 
> OK to go in?

Was a decision made on this? Peter seems to be around so let's see if he
has a comment. If no one else comments, I would say please commit.

Scott


signature.asc
Description: PGP signature


[patch] Do not pretend that MSVC 12 can use dependencies compiled with MSVC 10

2015-12-07 Thread Georg Baum
First, for those who don't know, something about MSVC versions (it is easy 
to get confused there):

MSVC 8: Microsoft Visual Studio 2005
MSVC 9: Microsoft Visual Studio 2008
MSVC 10: Microsoft Visual Studio 2010 Don't be mislead by the nice fit!
MSVC 11: Microsoft Visual Studio 2012 From here on we are "one off"!
MSVC 12: Microsoft Visual Studio 2013
MSVC 14: Microsoft Visual Studio 2015

Peter added a workaround for mixing code compiled by MSVC 12 and MSVC 10 
some time ago:
http://www.lyx.org/trac/changeset/6b4c3036/lyxgit/ According to 
https://msdn.microsoft.com/en-us/library/7sf3txa8.aspx the /vd2 option is 
only needed if one wants to violate the C++ standard (using dynamic_cast on 
an object being constrcuted does not work in standard conforming compilers).

I'd like to get rid of this for two reasons:

1) Mixing different MSVC versions is a bad idea as explained in the other 
thread, so we should not help people to shoot themselves in the foot.

2) We cannot use dynamic_cast on not fully constrcuted objects anyway, since 
we support other compilers besides MSVC.

OK to go in?


Georgdiff --git a/CMakeLists.txt b/CMakeLists.txt
index 5840ad0..5fb1218 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -229,10 +229,6 @@ if(LYX_DEPENDENCIES_DOWNLOAD)
 		endif()
 	endforeach()
 	set(GNUWIN32_DIR ${LYX_DEPENDENCIES_DIR}/deps20)
-if(MSVC12)
-# handle error in msvc12 when linking against msvc10 libs
-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /vd2")
-endif()
 endif()