diff options
Diffstat (limited to 'external/cppunit')
-rw-r--r-- | external/cppunit/CPPUNIT_PLUGIN_EXPORT.patch.0 | 11 | ||||
-rw-r--r-- | external/cppunit/ExternalProject_cppunit.mk | 62 | ||||
-rw-r--r-- | external/cppunit/Makefile | 7 | ||||
-rw-r--r-- | external/cppunit/Module_cppunit.mk | 17 | ||||
-rw-r--r-- | external/cppunit/README | 3 | ||||
-rw-r--r-- | external/cppunit/UnpackedTarball_cppunit.mk | 33 | ||||
-rw-r--r-- | external/cppunit/disable-dynloading.patch | 25 | ||||
-rw-r--r-- | external/cppunit/enable-win32-debug.patch | 34 | ||||
-rw-r--r-- | external/cppunit/order.patch.0 | 25 | ||||
-rw-r--r-- | external/cppunit/rtti.patch.0 | 15 | ||||
-rw-r--r-- | external/cppunit/unix.patch | 10 | ||||
-rw-r--r-- | external/cppunit/windows-arm64.patch.1 | 786 | ||||
-rw-r--r-- | external/cppunit/windows.patch | 50 |
13 files changed, 1078 insertions, 0 deletions
diff --git a/external/cppunit/CPPUNIT_PLUGIN_EXPORT.patch.0 b/external/cppunit/CPPUNIT_PLUGIN_EXPORT.patch.0 new file mode 100644 index 000000000..a764be95a --- /dev/null +++ b/external/cppunit/CPPUNIT_PLUGIN_EXPORT.patch.0 @@ -0,0 +1,11 @@ +--- include/cppunit/plugin/TestPlugIn.h ++++ include/cppunit/plugin/TestPlugIn.h +@@ -111,7 +111,7 @@ + /*! \brief Type of the function exported by a plug-in. + * \ingroup WritingTestPlugIn + */ +-typedef CppUnitTestPlugIn *(*TestPlugInSignature)(); ++extern "C" { typedef CppUnitTestPlugIn *(*TestPlugInSignature)(); } + + + /*! \brief Implements the function exported by the test plug-in diff --git a/external/cppunit/ExternalProject_cppunit.mk b/external/cppunit/ExternalProject_cppunit.mk new file mode 100644 index 000000000..f0b4ff06a --- /dev/null +++ b/external/cppunit/ExternalProject_cppunit.mk @@ -0,0 +1,62 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# + +$(eval $(call gb_ExternalProject_ExternalProject,cppunit)) + +$(eval $(call gb_ExternalProject_register_targets,cppunit,\ + build \ +)) + +ifeq ($(OS),WNT) +$(call gb_ExternalProject_get_state_target,cppunit,build) : + $(call gb_Trace_StartRange,cppunit,EXTERNAL) + $(call gb_ExternalProject_run,build,\ + PROFILEFLAGS="$(gb_MSBUILD_CONFIG) \ + /p:Platform=$(gb_MSBUILD_PLATFORM) \ + /p:PlatformToolset=$(VCTOOLSET) /p:VisualStudioVersion=$(VCVER) /ToolsVersion:Current \ + $(if $(filter 10,$(WINDOWS_SDK_VERSION)),/p:WindowsTargetPlatformVersion=$(UCRTVERSION))" \ + && msbuild.exe cppunit_dll.vcxproj /p:Configuration=$${PROFILEFLAGS} \ + && cd ../DllPlugInTester \ + && msbuild.exe DllPlugInTester.vcxproj /p:Configuration=$${PROFILEFLAGS} \ + ,src/cppunit) + $(call gb_Trace_EndRange,cppunit,EXTERNAL) +else + +cppunit_CXXFLAGS=$(CXXFLAGS) $(gb_EMSCRIPTEN_CXXFLAGS) + +cppunit_CXXFLAGS+=$(gb_COMPILERDEFS_STDLIB_DEBUG) + +ifneq (,$(call gb_LinkTarget__symbols_enabled,cppunit)) +cppunit_CXXFLAGS+=-g +endif + +$(call gb_ExternalProject_get_state_target,cppunit,build) : + $(call gb_Trace_StartRange,cppunit,EXTERNAL) + $(call gb_ExternalProject_run,build,\ + $(gb_RUN_CONFIGURE) ./configure \ + --disable-dependency-tracking \ + $(if $(filter TRUE,$(DISABLE_DYNLOADING)),--disable-shared,--disable-static) \ + --disable-doxygen \ + --disable-html-docs \ + --disable-latex-docs \ + --disable-werror \ + $(gb_CONFIGURE_PLATFORMS) \ + $(if $(filter MACOSX,$(OS)),--prefix=/@.__________________________________________________NONE) \ + $(if $(filter WNT,$(OS)),LDFLAGS="-Wl$(COMMA)--enable-runtime-pseudo-reloc-v2") \ + $(if $(filter SOLARIS,$(OS)),LIBS="-lm") \ + $(if $(filter ANDROID,$(OS)),LIBS="$(gb_STDLIBS)") \ + $(if $(verbose),--disable-silent-rules,--enable-silent-rules) \ + CXXFLAGS="$(cppunit_CXXFLAGS)" \ + && cd src \ + && $(MAKE) \ + ) + $(call gb_Trace_EndRange,cppunit,EXTERNAL) +endif + +# vim: set noet sw=4 ts=4: diff --git a/external/cppunit/Makefile b/external/cppunit/Makefile new file mode 100644 index 000000000..e4968cf85 --- /dev/null +++ b/external/cppunit/Makefile @@ -0,0 +1,7 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- + +module_directory:=$(dir $(realpath $(firstword $(MAKEFILE_LIST)))) + +include $(module_directory)/../../solenv/gbuild/partial_build.mk + +# vim: set noet sw=4 ts=4: diff --git a/external/cppunit/Module_cppunit.mk b/external/cppunit/Module_cppunit.mk new file mode 100644 index 000000000..296feeb74 --- /dev/null +++ b/external/cppunit/Module_cppunit.mk @@ -0,0 +1,17 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# + +$(eval $(call gb_Module_Module,cppunit)) + +$(eval $(call gb_Module_add_targets,cppunit,\ + UnpackedTarball_cppunit \ + ExternalProject_cppunit \ +)) + +# vim: set noet sw=4 ts=4: diff --git a/external/cppunit/README b/external/cppunit/README new file mode 100644 index 000000000..e1d4e82a5 --- /dev/null +++ b/external/cppunit/README @@ -0,0 +1,3 @@ +C++ port of the JUnit framework for unit testing. + +From [http://www.freedesktop.org/wiki/Software/cppunit/] diff --git a/external/cppunit/UnpackedTarball_cppunit.mk b/external/cppunit/UnpackedTarball_cppunit.mk new file mode 100644 index 000000000..5dc750bbd --- /dev/null +++ b/external/cppunit/UnpackedTarball_cppunit.mk @@ -0,0 +1,33 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# + +$(eval $(call gb_UnpackedTarball_UnpackedTarball,cppunit)) + +$(eval $(call gb_UnpackedTarball_set_tarball,cppunit,$(CPPUNIT_TARBALL),,cppunit)) + +$(eval $(call gb_UnpackedTarball_update_autoconf_configs,cppunit)) + +# * external/cppunit/order.patch.0 upstreamed at <https://gerrit.libreoffice.org/c/cppunit/+/123963> +# "Run tests in deterministic order": +$(eval $(call gb_UnpackedTarball_add_patches,cppunit,\ + external/cppunit/windows.patch \ + external/cppunit/unix.patch \ + external/cppunit/CPPUNIT_PLUGIN_EXPORT.patch.0 \ + external/cppunit/enable-win32-debug.patch \ + external/cppunit/rtti.patch.0 \ + external/cppunit/order.patch.0 \ + external/cppunit/windows-arm64.patch.1 \ +)) +ifeq ($(DISABLE_DYNLOADING),TRUE) +$(eval $(call gb_UnpackedTarball_add_patches,cppunit,\ + external/cppunit/disable-dynloading.patch \ +)) +endif + +# vim: set noet sw=4 ts=4: diff --git a/external/cppunit/disable-dynloading.patch b/external/cppunit/disable-dynloading.patch new file mode 100644 index 000000000..62ed1deeb --- /dev/null +++ b/external/cppunit/disable-dynloading.patch @@ -0,0 +1,25 @@ +--- build/cppunit-1.13.1/include/cppunit/plugin/TestPlugIn.h ++++ misc/build/cppunit-1.13.1/include/cppunit/plugin/TestPlugIn.h +@@ -106,7 +106,9 @@ + * CppUnitTestPlugIn *CPPUNIT_PLUGIN_EXPORTED_NAME(void); + * \endcode + */ ++#ifndef CPPUNIT_PLUGIN_EXPORTED_NAME + #define CPPUNIT_PLUGIN_EXPORTED_NAME cppunitTestPlugIn ++#endif + + /*! \brief Type of the function exported by a plug-in. + * \ingroup WritingTestPlugIn +@@ -143,6 +143,12 @@ + #define CPPUNIT_PLUGIN_IMPLEMENT_MAIN() \ + typedef char __CppUnitPlugInImplementMainDummyTypeDef + ++// Actually this is for iOS and Android where we build the cppunit tests libraries ++// as plain archives and just link them statically into test fixture programs, ++// and don't want any stinking duplicate main(), but shouldn't hurt for MacOSX either. ++#elif defined(__APPLE__) || defined(__ANDROID__) || defined(__EMSCRIPTEN__) ++#define CPPUNIT_PLUGIN_IMPLEMENT_MAIN() \ ++ typedef char __CppUnitPlugInImplementMainDummyTypeDef + // Unix + #elif defined(CPPUNIT_HAVE_UNIX_DLL_LOADER) || defined(CPPUNIT_HAVE_UNIX_SHL_LOADER) + #define CPPUNIT_PLUGIN_IMPLEMENT_MAIN() \ diff --git a/external/cppunit/enable-win32-debug.patch b/external/cppunit/enable-win32-debug.patch new file mode 100644 index 000000000..2c7f4f956 --- /dev/null +++ b/external/cppunit/enable-win32-debug.patch @@ -0,0 +1,34 @@ +--- misc/cppunit-1.14.0/src/cppunit/cppunit_dll.vcxproj ++++ misc/build/cppunit-1.14.0/src/cppunit/cppunit_dll.vcxproj +@@ -190,7 +190,6 @@ + <SuppressStartupBanner>true</SuppressStartupBanner> + <WarningLevel>Level3</WarningLevel> + <RuntimeTypeInfo>true</RuntimeTypeInfo> +- <DebugInformationFormat>OldStyle</DebugInformationFormat> + <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;CPPUNIT_BUILD_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <AssemblerListingLocation>.\ReleaseDll\</AssemblerListingLocation> +@@ -222,6 +221,7 @@ + <Link> + <SuppressStartupBanner>true</SuppressStartupBanner> + <LinkDLL>true</LinkDLL> ++ <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OutputFile>.\ReleaseDll\cppunit_dll.dll</OutputFile> + <ImportLibrary>.\ReleaseDll\cppunit_dll.lib</ImportLibrary> +@@ -237,7 +237,6 @@ + <SuppressStartupBanner>true</SuppressStartupBanner> + <WarningLevel>Level3</WarningLevel> + <RuntimeTypeInfo>true</RuntimeTypeInfo> +- <DebugInformationFormat>OldStyle</DebugInformationFormat> + <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;CPPUNIT_BUILD_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <AssemblerListingLocation>.\ReleaseDll\</AssemblerListingLocation> +@@ -266,6 +266,7 @@ + <Link> + <SuppressStartupBanner>true</SuppressStartupBanner> + <LinkDLL>true</LinkDLL> ++ <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OutputFile>.\ReleaseDll\cppunit_dll.dll</OutputFile> + <ImportLibrary>.\ReleaseDll\cppunit_dll.lib</ImportLibrary> diff --git a/external/cppunit/order.patch.0 b/external/cppunit/order.patch.0 new file mode 100644 index 000000000..523b3cd70 --- /dev/null +++ b/external/cppunit/order.patch.0 @@ -0,0 +1,25 @@ +--- src/cppunit/TestFactoryRegistry.cpp ++++ src/cppunit/TestFactoryRegistry.cpp +@@ -143,13 +143,21 @@ + void + TestFactoryRegistry::addTestToSuite( TestSuite *suite ) + { ++ std::multimap<std::string, Test *> sorted; + for ( Factories::iterator it = m_factories.begin(); + it != m_factories.end(); + ++it ) + { + TestFactory *factory = *it; +- suite->addTest( factory->makeTest() ); ++ Test *test = factory->makeTest(); ++ sorted.insert({test->getName(), test}); + } ++ // In the unlikely case of multiple Tests with identical names, those will ++ // still be added in random order: ++ for (auto const &i: sorted) ++ { ++ suite->addTest( i.second ); ++ } + } + + diff --git a/external/cppunit/rtti.patch.0 b/external/cppunit/rtti.patch.0 new file mode 100644 index 000000000..38d2e6a90 --- /dev/null +++ b/external/cppunit/rtti.patch.0 @@ -0,0 +1,15 @@ +--- include/cppunit/config/CppUnitApi.h ++++ include/cppunit/config/CppUnitApi.h +@@ -20,6 +20,12 @@ + #define CPPUNIT_NEED_DLL_DECL 1 + #endif + ++#elif defined __GNUC__ //TODO: actually only works for modern enough GCC ++ ++#define CPPUNIT_API __attribute__ ((visibility("default"))) ++#undef CPPUNIT_NEED_DLL_DECL ++#define CPPUNIT_NEED_DLL_DECL 0 ++ + #endif + + diff --git a/external/cppunit/unix.patch b/external/cppunit/unix.patch new file mode 100644 index 000000000..e75e72c6f --- /dev/null +++ b/external/cppunit/unix.patch @@ -0,0 +1,10 @@ +--- misc/cppunit-1.13.1/src/cppunit/UnixDynamicLibraryManager.cpp ++++ misc/build/cppunit-1.13.1/src/cppunit/UnixDynamicLibraryManager.cpp +@@ -20,7 +20,6 @@ + void + DynamicLibraryManager::doReleaseLibrary() + { +- ::dlclose( m_libraryHandle); + } + + diff --git a/external/cppunit/windows-arm64.patch.1 b/external/cppunit/windows-arm64.patch.1 new file mode 100644 index 000000000..0e41fa005 --- /dev/null +++ b/external/cppunit/windows-arm64.patch.1 @@ -0,0 +1,786 @@ +diff -ur cppunit-1.15.1.orig/src/cppunit/cppunit_dll.vcxproj cppunit-1.15.1/src/cppunit/cppunit_dll.vcxproj +--- cppunit-1.15.1.orig/src/cppunit/cppunit_dll.vcxproj 2019-11-28 20:35:43.000000000 +0100 ++++ cppunit-1.15.1/src/cppunit/cppunit_dll.vcxproj 2020-08-03 03:04:20.181281900 +0200 +@@ -1,6 +1,10 @@ + <?xml version="1.0" encoding="utf-8"?> + <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> ++ <ProjectConfiguration Include="Debug|ARM64"> ++ <Configuration>Debug</Configuration> ++ <Platform>ARM64</Platform> ++ </ProjectConfiguration> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> +@@ -9,6 +13,10 @@ + <Configuration>Debug</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> ++ <ProjectConfiguration Include="Release|ARM64"> ++ <Configuration>Release</Configuration> ++ <Platform>ARM64</Platform> ++ </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> +@@ -34,6 +42,11 @@ + <UseOfMfc>false</UseOfMfc> + <CharacterSet>MultiByte</CharacterSet> + </PropertyGroup> ++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration"> ++ <ConfigurationType>DynamicLibrary</ConfigurationType> ++ <UseOfMfc>false</UseOfMfc> ++ <CharacterSet>MultiByte</CharacterSet> ++ </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>DynamicLibrary</ConfigurationType> + <UseOfMfc>false</UseOfMfc> +@@ -44,6 +57,11 @@ + <UseOfMfc>false</UseOfMfc> + <CharacterSet>MultiByte</CharacterSet> + </PropertyGroup> ++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration"> ++ <ConfigurationType>DynamicLibrary</ConfigurationType> ++ <UseOfMfc>false</UseOfMfc> ++ <CharacterSet>MultiByte</CharacterSet> ++ </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> +@@ -55,6 +73,10 @@ + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + <Import Project="$(VCTargetsPath)Microsoft.Cpp.UpgradeFromVC60.props" /> + </ImportGroup> ++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="PropertySheets"> ++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> ++ <Import Project="$(VCTargetsPath)Microsoft.Cpp.UpgradeFromVC60.props" /> ++ </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + <Import Project="$(VCTargetsPath)Microsoft.Cpp.UpgradeFromVC60.props" /> +@@ -63,6 +85,10 @@ + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + <Import Project="$(VCTargetsPath)Microsoft.Cpp.UpgradeFromVC60.props" /> + </ImportGroup> ++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="PropertySheets"> ++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> ++ <Import Project="$(VCTargetsPath)Microsoft.Cpp.UpgradeFromVC60.props" /> ++ </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <OutDir>.\DebugDll\</OutDir> +@@ -76,6 +102,12 @@ + <LinkIncremental>true</LinkIncremental> + <TargetName>cppunitd_dll</TargetName> + </PropertyGroup> ++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'"> ++ <OutDir>.\DebugDll\</OutDir> ++ <IntDir>.\DebugDll\</IntDir> ++ <LinkIncremental>true</LinkIncremental> ++ <TargetName>cppunitd_dll</TargetName> ++ </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <OutDir>.\ReleaseDll\</OutDir> + <IntDir>.\ReleaseDll\</IntDir> +@@ -86,6 +116,11 @@ + <IntDir>.\ReleaseDll\</IntDir> + <LinkIncremental>false</LinkIncremental> + </PropertyGroup> ++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'"> ++ <OutDir>.\ReleaseDll\</OutDir> ++ <IntDir>.\ReleaseDll\</IntDir> ++ <LinkIncremental>false</LinkIncremental> ++ </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> +@@ -180,6 +213,52 @@ + <AdditionalDependencies>odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies> + </Link> + </ItemDefinitionGroup> ++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'"> ++ <ClCompile> ++ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> ++ <InlineFunctionExpansion>Default</InlineFunctionExpansion> ++ <FunctionLevelLinking>false</FunctionLevelLinking> ++ <Optimization>Disabled</Optimization> ++ <SuppressStartupBanner>true</SuppressStartupBanner> ++ <WarningLevel>Level3</WarningLevel> ++ <RuntimeTypeInfo>true</RuntimeTypeInfo> ++ <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> ++ <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;CPPUNIT_BUILD_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> ++ <AssemblerListingLocation>.\DebugDll\</AssemblerListingLocation> ++ <PrecompiledHeaderOutputFile>.\DebugDll\cppunit_dll.pch</PrecompiledHeaderOutputFile> ++ <ObjectFileName>.\DebugDll\</ObjectFileName> ++ <ProgramDataBaseFileName>.\DebugDll\</ProgramDataBaseFileName> ++ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> ++ </ClCompile> ++ <PostBuildEvent> ++ <Command>copy "$(TargetPath)" ..\..\lib\$(TargetName).dll ++copy "$(TargetDir)$(TargetName).lib" ..\..\lib\$(TargetName).lib</Command> ++ <Message>Copying target to lib/</Message> ++ </PostBuildEvent> ++ <Midl> ++ <SuppressStartupBanner>true</SuppressStartupBanner> ++ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> ++ <TypeLibraryName>.\DebugDll\cppunit_dll.tlb</TypeLibraryName> ++ <MkTypLibCompatible>true</MkTypLibCompatible> ++ </Midl> ++ <ResourceCompile> ++ <Culture>0x040c</Culture> ++ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> ++ </ResourceCompile> ++ <Bscmake> ++ <SuppressStartupBanner>true</SuppressStartupBanner> ++ <OutputFile>.\DebugDll\cppunit_dll.bsc</OutputFile> ++ </Bscmake> ++ <Link> ++ <SuppressStartupBanner>true</SuppressStartupBanner> ++ <LinkDLL>true</LinkDLL> ++ <GenerateDebugInformation>true</GenerateDebugInformation> ++ <SubSystem>Console</SubSystem> ++ <OutputFile>DebugDll\cppunitd_dll.dll</OutputFile> ++ <ImportLibrary>.\DebugDll\cppunitd_dll.lib</ImportLibrary> ++ <AdditionalDependencies>odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies> ++ </Link> ++ </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> +@@ -267,6 +345,52 @@ + <SuppressStartupBanner>true</SuppressStartupBanner> + <LinkDLL>true</LinkDLL> + <GenerateDebugInformation>true</GenerateDebugInformation> ++ <SubSystem>Console</SubSystem> ++ <OutputFile>.\ReleaseDll\cppunit_dll.dll</OutputFile> ++ <ImportLibrary>.\ReleaseDll\cppunit_dll.lib</ImportLibrary> ++ <AdditionalDependencies>odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies> ++ </Link> ++ </ItemDefinitionGroup> ++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'"> ++ <ClCompile> ++ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> ++ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> ++ <StringPooling>true</StringPooling> ++ <FunctionLevelLinking>true</FunctionLevelLinking> ++ <Optimization>MaxSpeed</Optimization> ++ <SuppressStartupBanner>true</SuppressStartupBanner> ++ <WarningLevel>Level3</WarningLevel> ++ <RuntimeTypeInfo>true</RuntimeTypeInfo> ++ <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> ++ <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;CPPUNIT_BUILD_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> ++ <AssemblerListingLocation>.\ReleaseDll\</AssemblerListingLocation> ++ <PrecompiledHeaderOutputFile>.\ReleaseDll\cppunit_dll.pch</PrecompiledHeaderOutputFile> ++ <ObjectFileName>.\ReleaseDll\</ObjectFileName> ++ <ProgramDataBaseFileName>.\ReleaseDll\</ProgramDataBaseFileName> ++ </ClCompile> ++ <PostBuildEvent> ++ <Command>copy "$(TargetPath)" ..\..\lib\$(TargetName).dll ++copy "$(TargetDir)$(TargetName).lib" ..\..\lib\$(TargetName).lib</Command> ++ <Message>Copying target to lib/</Message> ++ </PostBuildEvent> ++ <Midl> ++ <SuppressStartupBanner>true</SuppressStartupBanner> ++ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> ++ <TypeLibraryName>.\ReleaseDll\cppunit_dll.tlb</TypeLibraryName> ++ <MkTypLibCompatible>true</MkTypLibCompatible> ++ </Midl> ++ <ResourceCompile> ++ <Culture>0x040c</Culture> ++ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> ++ </ResourceCompile> ++ <Bscmake> ++ <SuppressStartupBanner>true</SuppressStartupBanner> ++ <OutputFile>.\ReleaseDll\cppunit_dll.bsc</OutputFile> ++ </Bscmake> ++ <Link> ++ <SuppressStartupBanner>true</SuppressStartupBanner> ++ <LinkDLL>true</LinkDLL> ++ <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OutputFile>.\ReleaseDll\cppunit_dll.dll</OutputFile> + <ImportLibrary>.\ReleaseDll\cppunit_dll.lib</ImportLibrary> +diff -ur cppunit-1.15.1.orig/src/DllPlugInTester/DllPlugInTester.vcxproj cppunit-1.15.1/src/DllPlugInTester/DllPlugInTester.vcxproj +--- cppunit-1.15.1.orig/src/DllPlugInTester/DllPlugInTester.vcxproj 2019-11-28 20:35:43.000000000 +0100 ++++ cppunit-1.15.1/src/DllPlugInTester/DllPlugInTester.vcxproj 2020-08-03 03:05:06.310642100 +0200 +@@ -1,6 +1,10 @@ + <?xml version="1.0" encoding="utf-8"?> + <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> ++ <ProjectConfiguration Include="Debug Static|ARM64"> ++ <Configuration>Debug Static</Configuration> ++ <Platform>ARM64</Platform> ++ </ProjectConfiguration> + <ProjectConfiguration Include="Debug Static|Win32"> + <Configuration>Debug Static</Configuration> + <Platform>Win32</Platform> +@@ -9,6 +13,10 @@ + <Configuration>Debug Static</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> ++ <ProjectConfiguration Include="Debug Unicode|ARM64"> ++ <Configuration>Debug Unicode</Configuration> ++ <Platform>ARM64</Platform> ++ </ProjectConfiguration> + <ProjectConfiguration Include="Debug Unicode|Win32"> + <Configuration>Debug Unicode</Configuration> + <Platform>Win32</Platform> +@@ -17,6 +25,10 @@ + <Configuration>Debug Unicode</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> ++ <ProjectConfiguration Include="Debug|ARM64"> ++ <Configuration>Debug</Configuration> ++ <Platform>ARM64</Platform> ++ </ProjectConfiguration> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> +@@ -25,6 +37,10 @@ + <Configuration>Debug</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> ++ <ProjectConfiguration Include="Release Static|ARM64"> ++ <Configuration>Release Static</Configuration> ++ <Platform>ARM64</Platform> ++ </ProjectConfiguration> + <ProjectConfiguration Include="Release Static|Win32"> + <Configuration>Release Static</Configuration> + <Platform>Win32</Platform> +@@ -33,6 +49,10 @@ + <Configuration>Release Static</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> ++ <ProjectConfiguration Include="Release Unicode|ARM64"> ++ <Configuration>Release Unicode</Configuration> ++ <Platform>ARM64</Platform> ++ </ProjectConfiguration> + <ProjectConfiguration Include="Release Unicode|Win32"> + <Configuration>Release Unicode</Configuration> + <Platform>Win32</Platform> +@@ -41,6 +61,10 @@ + <Configuration>Release Unicode</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> ++ <ProjectConfiguration Include="Release|ARM64"> ++ <Configuration>Release</Configuration> ++ <Platform>ARM64</Platform> ++ </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> +@@ -66,6 +90,11 @@ + <UseOfMfc>false</UseOfMfc> + <CharacterSet>MultiByte</CharacterSet> + </PropertyGroup> ++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|ARM64'" Label="Configuration"> ++ <ConfigurationType>Application</ConfigurationType> ++ <UseOfMfc>false</UseOfMfc> ++ <CharacterSet>MultiByte</CharacterSet> ++ </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseOfMfc>false</UseOfMfc> +@@ -76,6 +105,11 @@ + <UseOfMfc>false</UseOfMfc> + <CharacterSet>MultiByte</CharacterSet> + </PropertyGroup> ++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration"> ++ <ConfigurationType>Application</ConfigurationType> ++ <UseOfMfc>false</UseOfMfc> ++ <CharacterSet>MultiByte</CharacterSet> ++ </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseOfMfc>false</UseOfMfc> +@@ -86,6 +120,11 @@ + <UseOfMfc>false</UseOfMfc> + <CharacterSet>MultiByte</CharacterSet> + </PropertyGroup> ++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration"> ++ <ConfigurationType>Application</ConfigurationType> ++ <UseOfMfc>false</UseOfMfc> ++ <CharacterSet>MultiByte</CharacterSet> ++ </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Static|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseOfMfc>false</UseOfMfc> +@@ -96,6 +135,11 @@ + <UseOfMfc>false</UseOfMfc> + <CharacterSet>MultiByte</CharacterSet> + </PropertyGroup> ++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Static|ARM64'" Label="Configuration"> ++ <ConfigurationType>Application</ConfigurationType> ++ <UseOfMfc>false</UseOfMfc> ++ <CharacterSet>MultiByte</CharacterSet> ++ </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Static|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseOfMfc>false</UseOfMfc> +@@ -106,6 +150,11 @@ + <UseOfMfc>false</UseOfMfc> + <CharacterSet>MultiByte</CharacterSet> + </PropertyGroup> ++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Static|ARM64'" Label="Configuration"> ++ <ConfigurationType>Application</ConfigurationType> ++ <UseOfMfc>false</UseOfMfc> ++ <CharacterSet>MultiByte</CharacterSet> ++ </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseOfMfc>false</UseOfMfc> +@@ -116,6 +165,11 @@ + <UseOfMfc>false</UseOfMfc> + <CharacterSet>MultiByte</CharacterSet> + </PropertyGroup> ++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Unicode|ARM64'" Label="Configuration"> ++ <ConfigurationType>Application</ConfigurationType> ++ <UseOfMfc>false</UseOfMfc> ++ <CharacterSet>MultiByte</CharacterSet> ++ </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> +@@ -127,6 +181,10 @@ + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + <Import Project="$(VCTargetsPath)Microsoft.Cpp.UpgradeFromVC60.props" /> + </ImportGroup> ++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|ARM64'" Label="PropertySheets"> ++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> ++ <Import Project="$(VCTargetsPath)Microsoft.Cpp.UpgradeFromVC60.props" /> ++ </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + <Import Project="$(VCTargetsPath)Microsoft.Cpp.UpgradeFromVC60.props" /> +@@ -135,6 +193,10 @@ + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + <Import Project="$(VCTargetsPath)Microsoft.Cpp.UpgradeFromVC60.props" /> + </ImportGroup> ++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="PropertySheets"> ++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> ++ <Import Project="$(VCTargetsPath)Microsoft.Cpp.UpgradeFromVC60.props" /> ++ </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + <Import Project="$(VCTargetsPath)Microsoft.Cpp.UpgradeFromVC60.props" /> +@@ -143,6 +205,10 @@ + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + <Import Project="$(VCTargetsPath)Microsoft.Cpp.UpgradeFromVC60.props" /> + </ImportGroup> ++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="PropertySheets"> ++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> ++ <Import Project="$(VCTargetsPath)Microsoft.Cpp.UpgradeFromVC60.props" /> ++ </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Static|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + <Import Project="$(VCTargetsPath)Microsoft.Cpp.UpgradeFromVC60.props" /> +@@ -151,6 +217,10 @@ + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + <Import Project="$(VCTargetsPath)Microsoft.Cpp.UpgradeFromVC60.props" /> + </ImportGroup> ++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Static|ARM64'" Label="PropertySheets"> ++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> ++ <Import Project="$(VCTargetsPath)Microsoft.Cpp.UpgradeFromVC60.props" /> ++ </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Static|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + <Import Project="$(VCTargetsPath)Microsoft.Cpp.UpgradeFromVC60.props" /> +@@ -159,6 +229,10 @@ + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + <Import Project="$(VCTargetsPath)Microsoft.Cpp.UpgradeFromVC60.props" /> + </ImportGroup> ++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Static|ARM64'" Label="PropertySheets"> ++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> ++ <Import Project="$(VCTargetsPath)Microsoft.Cpp.UpgradeFromVC60.props" /> ++ </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + <Import Project="$(VCTargetsPath)Microsoft.Cpp.UpgradeFromVC60.props" /> +@@ -167,6 +241,10 @@ + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + <Import Project="$(VCTargetsPath)Microsoft.Cpp.UpgradeFromVC60.props" /> + </ImportGroup> ++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Unicode|ARM64'" Label="PropertySheets"> ++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> ++ <Import Project="$(VCTargetsPath)Microsoft.Cpp.UpgradeFromVC60.props" /> ++ </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'"> + <OutDir>.\ReleaseUnicode\</OutDir> +@@ -180,6 +258,12 @@ + <LinkIncremental>false</LinkIncremental> + <TargetName>$(ProjectName)u</TargetName> + </PropertyGroup> ++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Unicode|ARM64'"> ++ <OutDir>.\Release\</OutDir> ++ <IntDir>.\Release\</IntDir> ++ <LinkIncremental>false</LinkIncremental> ++ <TargetName>$(ProjectName)u</TargetName> ++ </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Static|Win32'"> + <OutDir>.\Debug\</OutDir> + <IntDir>.\Debug\</IntDir> +@@ -192,6 +274,12 @@ + <LinkIncremental>false</LinkIncremental> + <TargetName>$(ProjectName)d</TargetName> + </PropertyGroup> ++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Static|ARM64'"> ++ <OutDir>.\DebugDll\</OutDir> ++ <IntDir>.\DebugDll\</IntDir> ++ <LinkIncremental>false</LinkIncremental> ++ <TargetName>$(ProjectName)d</TargetName> ++ </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Static|Win32'"> + <OutDir>.\Release\</OutDir> + <IntDir>.\Release\</IntDir> +@@ -202,6 +288,11 @@ + <IntDir>.\Release\</IntDir> + <LinkIncremental>false</LinkIncremental> + </PropertyGroup> ++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Static|ARM64'"> ++ <OutDir>.\Release\</OutDir> ++ <IntDir>.\Release\</IntDir> ++ <LinkIncremental>false</LinkIncremental> ++ </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <OutDir>.\DebugDll\</OutDir> + <IntDir>.\DebugDll\</IntDir> +@@ -214,6 +303,12 @@ + <LinkIncremental>false</LinkIncremental> + <TargetName>DllPlugInTesterd_dll</TargetName> + </PropertyGroup> ++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'"> ++ <OutDir>.\DebugDll\</OutDir> ++ <IntDir>.\DebugDll\</IntDir> ++ <LinkIncremental>false</LinkIncremental> ++ <TargetName>DllPlugInTesterd_dll</TargetName> ++ </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <OutDir>.\ReleaseDll\</OutDir> + <IntDir>.\ReleaseDll\</IntDir> +@@ -226,6 +319,12 @@ + <LinkIncremental>false</LinkIncremental> + <TargetName>$(ProjectName)_dll</TargetName> + </PropertyGroup> ++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'"> ++ <OutDir>.\ReleaseDll\</OutDir> ++ <IntDir>.\ReleaseDll\</IntDir> ++ <LinkIncremental>false</LinkIncremental> ++ <TargetName>$(ProjectName)_dll</TargetName> ++ </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|Win32'"> + <OutDir>.\DebugUnicode\</OutDir> + <IntDir>.\DebugUnicode\</IntDir> +@@ -238,6 +335,12 @@ + <LinkIncremental>false</LinkIncremental> + <TargetName>$(ProjectName)ud</TargetName> + </PropertyGroup> ++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|ARM64'"> ++ <OutDir>.\DebugDll\</OutDir> ++ <IntDir>.\DebugDll\</IntDir> ++ <LinkIncremental>false</LinkIncremental> ++ <TargetName>$(ProjectName)ud</TargetName> ++ </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'"> + <ClCompile> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> +@@ -324,6 +425,49 @@ + <AdditionalDependencies>odbc32.lib;odbccp32.lib;cppunit.lib;%(AdditionalDependencies)</AdditionalDependencies> + </Link> + </ItemDefinitionGroup> ++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Unicode|ARM64'"> ++ <ClCompile> ++ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> ++ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> ++ <StringPooling>true</StringPooling> ++ <FunctionLevelLinking>true</FunctionLevelLinking> ++ <Optimization>MinSpace</Optimization> ++ <SuppressStartupBanner>true</SuppressStartupBanner> ++ <WarningLevel>Level3</WarningLevel> ++ <RuntimeTypeInfo>true</RuntimeTypeInfo> ++ <DebugInformationFormat>OldStyle</DebugInformationFormat> ++ <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> ++ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> ++ <AssemblerListingLocation>.\ReleaseUnicode\</AssemblerListingLocation> ++ <PrecompiledHeaderOutputFile>.\ReleaseUnicode\DllPlugInTester.pch</PrecompiledHeaderOutputFile> ++ <PrecompiledHeader> ++ </PrecompiledHeader> ++ <ObjectFileName>.\ReleaseUnicode\</ObjectFileName> ++ <ProgramDataBaseFileName>.\ReleaseUnicode\</ProgramDataBaseFileName> ++ </ClCompile> ++ <PostBuildEvent> ++ <Command>copy "$(TargetPath)" ..\..\lib\$(TargetName).exe</Command> ++ <Message>Copying target to lib/</Message> ++ </PostBuildEvent> ++ <Midl> ++ <TypeLibraryName>.\ReleaseUnicode\DllPlugInTester.tlb</TypeLibraryName> ++ </Midl> ++ <ResourceCompile> ++ <Culture>0x040c</Culture> ++ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> ++ </ResourceCompile> ++ <Bscmake> ++ <SuppressStartupBanner>true</SuppressStartupBanner> ++ <OutputFile>.\ReleaseUnicode\DllPlugInTester.bsc</OutputFile> ++ </Bscmake> ++ <Link> ++ <SuppressStartupBanner>true</SuppressStartupBanner> ++ <SubSystem>Console</SubSystem> ++ <OutputFile>ReleaseUnicode\DllPlugInTesteru.exe</OutputFile> ++ <AdditionalLibraryDirectories>../../lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> ++ <AdditionalDependencies>odbc32.lib;odbccp32.lib;cppunit.lib;%(AdditionalDependencies)</AdditionalDependencies> ++ </Link> ++ </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Static|Win32'"> + <ClCompile> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> +@@ -411,6 +555,49 @@ + <AdditionalDependencies>odbc32.lib;odbccp32.lib;cppunitd.lib;%(AdditionalDependencies)</AdditionalDependencies> + </Link> + </ItemDefinitionGroup> ++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Static|ARM64'"> ++ <ClCompile> ++ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> ++ <InlineFunctionExpansion>Default</InlineFunctionExpansion> ++ <FunctionLevelLinking>false</FunctionLevelLinking> ++ <Optimization>Disabled</Optimization> ++ <SuppressStartupBanner>true</SuppressStartupBanner> ++ <WarningLevel>Level3</WarningLevel> ++ <RuntimeTypeInfo>true</RuntimeTypeInfo> ++ <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> ++ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> ++ <AssemblerListingLocation>.\Debug\</AssemblerListingLocation> ++ <PrecompiledHeaderOutputFile>.\Debug\DllPlugInTester.pch</PrecompiledHeaderOutputFile> ++ <PrecompiledHeader> ++ </PrecompiledHeader> ++ <ObjectFileName>.\Debug\</ObjectFileName> ++ <ProgramDataBaseFileName>.\Debug\</ProgramDataBaseFileName> ++ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> ++ </ClCompile> ++ <PostBuildEvent> ++ <Command>copy $(TargetPath) ..\..\lib\$(TargetName).exe</Command> ++ <Message>Copying target to lib/</Message> ++ </PostBuildEvent> ++ <Midl> ++ <TypeLibraryName>.\Debug\DllPlugInTester.tlb</TypeLibraryName> ++ </Midl> ++ <ResourceCompile> ++ <Culture>0x040c</Culture> ++ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> ++ </ResourceCompile> ++ <Bscmake> ++ <SuppressStartupBanner>true</SuppressStartupBanner> ++ <OutputFile>.\Debug\DllPlugInTester.bsc</OutputFile> ++ </Bscmake> ++ <Link> ++ <SuppressStartupBanner>true</SuppressStartupBanner> ++ <GenerateDebugInformation>true</GenerateDebugInformation> ++ <SubSystem>Console</SubSystem> ++ <OutputFile>Debug\DllPlugInTesterd.exe</OutputFile> ++ <AdditionalLibraryDirectories>../../lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> ++ <AdditionalDependencies>odbc32.lib;odbccp32.lib;cppunitd.lib;%(AdditionalDependencies)</AdditionalDependencies> ++ </Link> ++ </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Static|Win32'"> + <ClCompile> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> +@@ -497,6 +684,49 @@ + <AdditionalDependencies>odbc32.lib;odbccp32.lib;cppunit.lib;%(AdditionalDependencies)</AdditionalDependencies> + </Link> + </ItemDefinitionGroup> ++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Static|ARM64'"> ++ <ClCompile> ++ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> ++ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> ++ <StringPooling>true</StringPooling> ++ <FunctionLevelLinking>true</FunctionLevelLinking> ++ <Optimization>MinSpace</Optimization> ++ <SuppressStartupBanner>true</SuppressStartupBanner> ++ <WarningLevel>Level3</WarningLevel> ++ <RuntimeTypeInfo>true</RuntimeTypeInfo> ++ <DebugInformationFormat>OldStyle</DebugInformationFormat> ++ <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> ++ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> ++ <AssemblerListingLocation>.\Release\</AssemblerListingLocation> ++ <PrecompiledHeaderOutputFile>.\Release\DllPlugInTester.pch</PrecompiledHeaderOutputFile> ++ <PrecompiledHeader> ++ </PrecompiledHeader> ++ <ObjectFileName>.\Release\</ObjectFileName> ++ <ProgramDataBaseFileName>.\Release\</ProgramDataBaseFileName> ++ </ClCompile> ++ <PostBuildEvent> ++ <Command>copy $(TargetPath) ..\..\lib\$(TargetName).exe</Command> ++ <Message>Copying target to lib/</Message> ++ </PostBuildEvent> ++ <Midl> ++ <TypeLibraryName>.\Release\DllPlugInTester.tlb</TypeLibraryName> ++ </Midl> ++ <ResourceCompile> ++ <Culture>0x040c</Culture> ++ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> ++ </ResourceCompile> ++ <Bscmake> ++ <SuppressStartupBanner>true</SuppressStartupBanner> ++ <OutputFile>.\Release\DllPlugInTester.bsc</OutputFile> ++ </Bscmake> ++ <Link> ++ <SuppressStartupBanner>true</SuppressStartupBanner> ++ <SubSystem>Console</SubSystem> ++ <OutputFile>.\Release\DllPlugInTester.exe</OutputFile> ++ <AdditionalLibraryDirectories>../../lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> ++ <AdditionalDependencies>odbc32.lib;odbccp32.lib;cppunit.lib;%(AdditionalDependencies)</AdditionalDependencies> ++ </Link> ++ </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> +@@ -584,6 +814,49 @@ + <AdditionalDependencies>odbc32.lib;odbccp32.lib;cppunitd_dll.lib;%(AdditionalDependencies)</AdditionalDependencies> + </Link> + </ItemDefinitionGroup> ++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'"> ++ <ClCompile> ++ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> ++ <InlineFunctionExpansion>Default</InlineFunctionExpansion> ++ <FunctionLevelLinking>false</FunctionLevelLinking> ++ <Optimization>Disabled</Optimization> ++ <SuppressStartupBanner>true</SuppressStartupBanner> ++ <WarningLevel>Level3</WarningLevel> ++ <RuntimeTypeInfo>true</RuntimeTypeInfo> ++ <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> ++ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;CPPUNIT_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> ++ <AssemblerListingLocation>.\DebugDll\</AssemblerListingLocation> ++ <PrecompiledHeaderOutputFile>.\DebugDll\DllPlugInTester.pch</PrecompiledHeaderOutputFile> ++ <PrecompiledHeader> ++ </PrecompiledHeader> ++ <ObjectFileName>.\DebugDll\</ObjectFileName> ++ <ProgramDataBaseFileName>.\DebugDll\</ProgramDataBaseFileName> ++ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> ++ </ClCompile> ++ <PostBuildEvent> ++ <Command>copy "$(TargetPath)" ..\..\lib\$(TargetName).exe</Command> ++ <Message>Copying target to lib/</Message> ++ </PostBuildEvent> ++ <Midl> ++ <TypeLibraryName>.\DebugDll\DllPlugInTester.tlb</TypeLibraryName> ++ </Midl> ++ <ResourceCompile> ++ <Culture>0x040c</Culture> ++ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> ++ </ResourceCompile> ++ <Bscmake> ++ <SuppressStartupBanner>true</SuppressStartupBanner> ++ <OutputFile>.\DebugDll\DllPlugInTester.bsc</OutputFile> ++ </Bscmake> ++ <Link> ++ <SuppressStartupBanner>true</SuppressStartupBanner> ++ <GenerateDebugInformation>true</GenerateDebugInformation> ++ <SubSystem>Console</SubSystem> ++ <OutputFile>DebugDll\DllPlugInTesterd_dll.exe</OutputFile> ++ <AdditionalLibraryDirectories>../../lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> ++ <AdditionalDependencies>odbc32.lib;odbccp32.lib;cppunitd_dll.lib;%(AdditionalDependencies)</AdditionalDependencies> ++ </Link> ++ </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> +@@ -670,6 +943,49 @@ + <AdditionalDependencies>odbc32.lib;odbccp32.lib;cppunit_dll.lib;%(AdditionalDependencies)</AdditionalDependencies> + </Link> + </ItemDefinitionGroup> ++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'"> ++ <ClCompile> ++ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> ++ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> ++ <StringPooling>true</StringPooling> ++ <FunctionLevelLinking>true</FunctionLevelLinking> ++ <Optimization>MinSpace</Optimization> ++ <SuppressStartupBanner>true</SuppressStartupBanner> ++ <WarningLevel>Level3</WarningLevel> ++ <RuntimeTypeInfo>true</RuntimeTypeInfo> ++ <DebugInformationFormat>OldStyle</DebugInformationFormat> ++ <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> ++ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;CPPUNIT_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> ++ <AssemblerListingLocation>.\ReleaseDll\</AssemblerListingLocation> ++ <PrecompiledHeaderOutputFile>.\ReleaseDll\DllPlugInTester.pch</PrecompiledHeaderOutputFile> ++ <PrecompiledHeader> ++ </PrecompiledHeader> ++ <ObjectFileName>.\ReleaseDll\</ObjectFileName> ++ <ProgramDataBaseFileName>.\ReleaseDll\</ProgramDataBaseFileName> ++ </ClCompile> ++ <PostBuildEvent> ++ <Command>copy "$(TargetPath)" ..\..\lib\$(TargetName).exe</Command> ++ <Message>Copying target to lib/</Message> ++ </PostBuildEvent> ++ <Midl> ++ <TypeLibraryName>.\ReleaseDll\DllPlugInTester.tlb</TypeLibraryName> ++ </Midl> ++ <ResourceCompile> ++ <Culture>0x040c</Culture> ++ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> ++ </ResourceCompile> ++ <Bscmake> ++ <SuppressStartupBanner>true</SuppressStartupBanner> ++ <OutputFile>.\ReleaseDll\DllPlugInTester.bsc</OutputFile> ++ </Bscmake> ++ <Link> ++ <SuppressStartupBanner>true</SuppressStartupBanner> ++ <SubSystem>Console</SubSystem> ++ <OutputFile>ReleaseDll\DllPlugInTester_dll.exe</OutputFile> ++ <AdditionalLibraryDirectories>../../lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> ++ <AdditionalDependencies>odbc32.lib;odbccp32.lib;cppunit_dll.lib;%(AdditionalDependencies)</AdditionalDependencies> ++ </Link> ++ </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|Win32'"> + <ClCompile> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> +@@ -718,6 +1034,49 @@ + <ClCompile> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <InlineFunctionExpansion>Default</InlineFunctionExpansion> ++ <FunctionLevelLinking>false</FunctionLevelLinking> ++ <Optimization>Disabled</Optimization> ++ <SuppressStartupBanner>true</SuppressStartupBanner> ++ <WarningLevel>Level3</WarningLevel> ++ <RuntimeTypeInfo>true</RuntimeTypeInfo> ++ <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> ++ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> ++ <AssemblerListingLocation>.\DebugUnicode\</AssemblerListingLocation> ++ <PrecompiledHeaderOutputFile>.\DebugUnicode\DllPlugInTester.pch</PrecompiledHeaderOutputFile> ++ <PrecompiledHeader> ++ </PrecompiledHeader> ++ <ObjectFileName>.\DebugUnicode\</ObjectFileName> ++ <ProgramDataBaseFileName>.\DebugUnicode\</ProgramDataBaseFileName> ++ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> ++ </ClCompile> ++ <PostBuildEvent> ++ <Command>copy "$(TargetPath)" ..\..\lib\$(TargetName).exe</Command> ++ <Message>Copying target to lib/</Message> ++ </PostBuildEvent> ++ <Midl> ++ <TypeLibraryName>.\DebugUnicode\DllPlugInTester.tlb</TypeLibraryName> ++ </Midl> ++ <ResourceCompile> ++ <Culture>0x040c</Culture> ++ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> ++ </ResourceCompile> ++ <Bscmake> ++ <SuppressStartupBanner>true</SuppressStartupBanner> ++ <OutputFile>.\DebugUnicode\DllPlugInTester.bsc</OutputFile> ++ </Bscmake> ++ <Link> ++ <SuppressStartupBanner>true</SuppressStartupBanner> ++ <GenerateDebugInformation>true</GenerateDebugInformation> ++ <SubSystem>Console</SubSystem> ++ <OutputFile>DebugUnicode\DllPlugInTesterud.exe</OutputFile> ++ <AdditionalLibraryDirectories>../../lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> ++ <AdditionalDependencies>odbc32.lib;odbccp32.lib;cppunitd.lib;%(AdditionalDependencies)</AdditionalDependencies> ++ </Link> ++ </ItemDefinitionGroup> ++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|ARM64'"> ++ <ClCompile> ++ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> ++ <InlineFunctionExpansion>Default</InlineFunctionExpansion> + <FunctionLevelLinking>false</FunctionLevelLinking> + <Optimization>Disabled</Optimization> + <SuppressStartupBanner>true</SuppressStartupBanner> diff --git a/external/cppunit/windows.patch b/external/cppunit/windows.patch new file mode 100644 index 000000000..e6ca26cbb --- /dev/null +++ b/external/cppunit/windows.patch @@ -0,0 +1,50 @@ +--- misc/cppunit-1.15.0/include/cppunit/plugin/TestPlugIn.h 2010-01-11 14:42:25.084658287 +0100 ++++ misc/build/cppunit-1.15.0/include/cppunit/plugin/TestPlugIn.h 2010-01-11 14:42:18.660706180 +0100 +@@ -133,9 +133,8 @@ + /*! \def CPPUNIT_PLUGIN_IMPLEMENT_MAIN() + * \brief Implements the 'main' function for the plug-in. + * +- * This macros implements the main() function for dynamic library. +- * For example, WIN32 requires a DllMain function, while some Unix +- * requires a main() function. This macros takes care of the implementation. ++ * This macro implements the main() function for dynamic library ++ * on Unix for some weird reason. + */ + + // Win32 +@@ -149,23 +149,7 @@ + + // Win32 + #if defined(CPPUNIT_HAVE_WIN32_DLL_LOADER) +-#if !defined(APIENTRY) +-#define WIN32_LEAN_AND_MEAN +-#define NOGDI +-#define NOUSER +-#define NOKERNEL +-#define NOSOUND +-#ifndef NOMINMAX +-#define NOMINMAX +-#endif +-#define BLENDFUNCTION void // for mingw & gcc +-#include <windows.h> +-#endif + #define CPPUNIT_PLUGIN_IMPLEMENT_MAIN() \ +- BOOL APIENTRY DllMain( HANDLE, DWORD, LPVOID ) \ +- { \ +- return TRUE; \ +- } \ + typedef char __CppUnitPlugInImplementMainDummyTypeDef + + // Unix +--- misc/cppunit-1.15.0/include/cppunit/TestAssert.h ++++ misc/build/cppunit-1.15.0/include/cppunit/TestAssert.h +@@ -76,7 +76,7 @@ + const int precision = 15; + #endif // #ifdef DBL_DIG + char buffer[128]; +-#ifdef __STDC_SECURE_LIB__ // Use secure version with visual studio 2005 to avoid warning. ++#if defined(_MSC_VER) && defined(__STDC_SECURE_LIB__) // Use secure version with visual studio 2005 to avoid warning. + sprintf_s(buffer, sizeof(buffer), "%.*g", precision, x); + #else + sprintf(buffer, "%.*g", precision, x); + |