Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohan Lorensson <lateralusx.github@gmail.com>2016-08-20 06:20:38 +0300
committerMiguel de Icaza <miguel@gnome.org>2016-08-20 06:20:38 +0300
commitc16b1270273e1dd7bf9870983327414dc4c1c52b (patch)
tree94a5c74cd23c4907bbac56b29729a6a5efb5b03b /msvc/teste.vcxproj
parent6be008c409153a82e80394b98c93564e2cdb2309 (diff)
Visual Studio project updates and enhancements to support static libmono and additional test/debug projects. (#3420)
* Fixing linker warning when building libmono DLL. After splitting mono runtime into a static library used when building libmono DLL, we got a linker warning since there were no object files left in the libmono project. There was also a sematic issue with the current organization of DllMain since it is located in driver.c that will be compiled into the static library and then consumed by the linker building the DLL. In cases where the static library was consumed directly it would still include DllMain entry point. By splitting the DllMain method implementation into a separate specific windows file we can both resolve the linker warning and remove the DllMain method implementation from the static library and only include it when building the libmono DLL. * Visual Studio projects support to optimally link mono applications using static libmono library. Added a new property, MONO_USE_STATIC_LIBMONO that can be used to link some mono applications, for example mono(-sgen).exe, towards static version of libmono. This gives us the option to build a binary without dependencies on other runtime binaries minimizing what’s needs to be deployed in order to run mono. This in combination with static linked c-runtime (another option available through a VS property) will produce a mono runtime binary without addition dependencies except .NET assemblies deployed by mono runtime users. The default is still using the dynamic version of libmono as before. * Visual Studio project to test/debug testdriver tests from within Visual Studio. Added an additional Visual Studio project preconfigured to run testdriver related tests directly from within Visual Studio. Commit also includes an additional configuration script that can be used test projects in order to setup a mono config file. The testdriver project uses this to create a unique configuration files pointing to the build libtest.dll for running configuration. The configuration file will then be used when the tests are executed to make sure the correct libtest.dll for current build configuration gets used when running test different tests from within the Visual Studio debugger. The project comes with a number of user macros as well that can be used in order to tailor how the tests are run. Most of the values are preconfigured and shouldn't need to be changed in order to use current build. In order to change the test that is executed, use the following user macro defined in mono-testdriver-test property sheet added to the project: MONO_TESTDRIVER_RUN_TARGET and point it to the assembly hosting the tests to execute from within Visual Studio. * Visual Studio project to test/debug nunit tests from within Visual Studio. Added an additional Visual Studio project preconfigured to run nunit related tests directly from within Visual Studio. The project comes with a number of user macros as well that can be used in order to tailor how the tests are run. Most of the values are preconfigured and shouldn't need to be changed in order to use current build. In order to change the test that is executed, use the following user macro defined in mono-nunit-test property sheet added to the project: MONO_NUNIT_RUN_TARGET and point it to the assembly hosting the tests to execute from within Visual Studio. There is also an additional user macro defined: MONO_NUNIT_FIXTURE This can be used to limit the number of nunit test run within a test suite.
Diffstat (limited to 'msvc/teste.vcxproj')
-rw-r--r--msvc/teste.vcxproj8
1 files changed, 4 insertions, 4 deletions
diff --git a/msvc/teste.vcxproj b/msvc/teste.vcxproj
index cd9433f8b1a..5fac6d8ac23 100644
--- a/msvc/teste.vcxproj
+++ b/msvc/teste.vcxproj
@@ -111,7 +111,7 @@
<LinkLibraryDependencies>false</LinkLibraryDependencies>
</ProjectReference>
<Link>
- <AdditionalDependencies>mono-2.0$(MONO_TARGET_SUFFIX).lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>$(MONO_DYNAMIC_LIBMONO_LIB);%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
@@ -144,7 +144,7 @@
<DataExecutionPrevention>
</DataExecutionPrevention>
<TargetMachine>MachineX86</TargetMachine>
- <AdditionalDependencies>mono-2.0$(MONO_TARGET_SUFFIX).lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>$(MONO_DYNAMIC_LIBMONO_LIB);%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
@@ -169,7 +169,7 @@
<LinkLibraryDependencies>false</LinkLibraryDependencies>
</ProjectReference>
<Link>
- <AdditionalDependencies>mono-2.0$(MONO_TARGET_SUFFIX).lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>$(MONO_DYNAMIC_LIBMONO_LIB);%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
@@ -199,7 +199,7 @@
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX64</TargetMachine>
- <AdditionalDependencies>mono-2.0$(MONO_TARGET_SUFFIX).lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>$(MONO_DYNAMIC_LIBMONO_LIB);%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>