From a3dd9d97c57eb1be851a27ffcd6edaed69ee816e Mon Sep 17 00:00:00 2001 From: "zhanyong.wan" Date: Fri, 18 Dec 2009 05:23:04 +0000 Subject: Supports building gtest as a DLL (by Vlad Losev). --- scons/SConscript | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'scons/SConscript') diff --git a/scons/SConscript b/scons/SConscript index 25220eea..a2c31dc1 100644 --- a/scons/SConscript +++ b/scons/SConscript @@ -292,6 +292,25 @@ if BUILD_TESTS: GtestBinary(env_without_rtti, 'gtest_no_rtti_test', gtest_main_no_rtti, ['../test/gtest_unittest.cc']) + # Tests that gtest works when built as a DLL on Windows. + # We don't need to actually run this test. + # Note: this is not supported under VC 7.1. + if env['PLATFORM'] == 'win32' and env.get('GTEST_BUILD_DLL_TEST', None): + test_env = EnvCreator.Create(env, EnvCreator.DllBuild) + dll_env = test_env.Clone() + dll_env.Append(LINKFLAGS=['-DEF:../src/gtest.def']) + + gtest_dll = dll_env.SharedLibrary( + target='gtest_dll', + source=[dll_env.SharedObject('gtest_all_dll', + '../src/gtest-all.cc'), + dll_env.SharedObject('gtest_main_dll', + '../src/gtest_main.cc')]) + # TODO(vladl@google.com): Get rid of the .data[1] hack. Find a proper + # way to depend on a shared library without knowing its path in advance. + test_env.Program('gtest_dll_test_', + ['../test/gtest_dll_test_.cc', gtest_dll.data[1]]) + ############################################################ # Sample targets. -- cgit v1.2.3