[Cmake] static multithreaded libc on MSVC 7.0 (patch)

Petr Ferschmann petr at ferschmann . cz
09 Jul 2003 18:27:39 +0200


--=-sCD7iO4jA9kIhWmrte0V
Content-Type: multipart/mixed; boundary="=-NQb9CKopNimbEltUmZ7Q"


--=-NQb9CKopNimbEltUmZ7Q
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

Hello,

I need to allow compilation with static multithreaded libc on MSVC 7.0.

I need it also on MSVC 6.0 - so the patch will follow.

I added variable CMAKE_CXX_USE_STATIC_RUNTIME_LIBRARY. If it is "on" it
uses static.

This patch can be also freely used.

--=20
                                  Petr "Fers" Ferschmann

 -=3D[  petr at ferschmann . cz  ]=3D=3D[ http://petr . ferschmann . cz/ ]=3D-
-=3D[ Koukni na http://www . postcard . cz/ ]=3D=3D[ +420 604/781 009 ]=3D-

GPG Fingerprint:
[83B0 6378 7A9D D993 035E  60BD FEEC F665 D2C8 1B9A]


--=-NQb9CKopNimbEltUmZ7Q
Content-Disposition: attachment; filename=kerio3.diff
Content-Transfer-Encoding: quoted-printable
Content-Type: text/x-patch; name=kerio3.diff; charset=ISO-8859-2

diff -u -3 -p -r1.27 cmLocalVisualStudio7Generator.cxx
--- cmLocalVisualStudio7Generator.cxx	3 Jul 2003 16:50:41 -0000	1.27
+++ cmLocalVisualStudio7Generator.cxx	9 Jul 2003 16:08:32 -0000
@@ -294,32 +294,39 @@ void cmLocalVisualStudio7Generator::Writ
 // InlineFunctionExpansion =3D 1 when inline keyword
 // InlineFunctionExpansion =3D 2 any time you can
=20
+  int runtimeLibraryRelease =3D 2;
+  int runtimeLibraryDebug =3D 3;
+
+  if (m_Makefile->IsOn("CMAKE_CXX_USE_STATIC_RUNTIME_LIBRARY")) {
+	  runtimeLibraryRelease =3D 0;
+	  runtimeLibraryDebug =3D 1;
+  }
=20
   if(strcmp(configName, "Debug") =3D=3D 0)
     {
     fout << "\t\t\t\tOptimization=3D\"0\"\n"
-         << "\t\t\t\tRuntimeLibrary=3D\"3\"\n"
+         << "\t\t\t\tRuntimeLibrary=3D\"" << runtimeLibraryDebug << "\"\n"
          << "\t\t\t\tInlineFunctionExpansion=3D\"0\"\n"
          << "\t\t\t\tPreprocessorDefinitions=3D\"WIN32,_DEBUG,_WINDOWS";
     }
   else if(strcmp(configName, "Release") =3D=3D 0)
     {
     fout << "\t\t\t\tOptimization=3D\"2\"\n"
-         << "\t\t\t\tRuntimeLibrary=3D\"2\"\n"
+         << "\t\t\t\tRuntimeLibrary=3D\"" << runtimeLibraryRelease << "\"\=
n"
          << "\t\t\t\tInlineFunctionExpansion=3D\"1\"\n"
          << "\t\t\t\tPreprocessorDefinitions=3D\"WIN32,NDEBUG,_WINDOWS";
     }
   else if(strcmp(configName, "MinSizeRel") =3D=3D 0)
     {
     fout << "\t\t\t\tOptimization=3D\"1\"\n"
-         << "\t\t\t\tRuntimeLibrary=3D\"2\"\n"
+         << "\t\t\t\tRuntimeLibrary=3D\"" << runtimeLibraryRelease << "\"\=
n"
          << "\t\t\t\tInlineFunctionExpansion=3D\"1\"\n"
          << "\t\t\t\tPreprocessorDefinitions=3D\"WIN32,NDEBUG,_WINDOWS";
     }
   else if(strcmp(configName, "RelWithDebInfo") =3D=3D 0)
     {
     fout << "\t\t\t\tOptimization=3D\"2\"\n"
-         << "\t\t\t\tRuntimeLibrary=3D\"2\"\n"
+         << "\t\t\t\tRuntimeLibrary=3D\"" << runtimeLibraryRelease << "\"\=
n"
          << "\t\t\t\tInlineFunctionExpansion=3D\"1\"\n"
          << "\t\t\t\tPreprocessorDefinitions=3D\"WIN32,NDEBUG,_WINDOWS";
     }

--=-NQb9CKopNimbEltUmZ7Q--

--=-sCD7iO4jA9kIhWmrte0V
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: Toto je =?iso-8859-2?Q?digit=E1ln=EC?=
	=?ISO-8859-1?Q?_podepsan=E1?= =?iso-8859-2?Q?_=E8=E1st?=
	=?ISO-8859-1?Q?_zpr=E1vy?=

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)

iD8DBQA/DEJ7KTvcB3Rwi3URAvAyAJ9FaD9NiCPZ/PrMHgSlYS0Nxn+tjgCgkVix
HUZXuae7SIYs8HNCk6k8CnA=
=Qkf3
-----END PGP SIGNATURE-----

--=-sCD7iO4jA9kIhWmrte0V--