From 63646e6b65c2d9f73ce7351151415501c83161ee Mon Sep 17 00:00:00 2001
From: Andreas Traczyk <andreas.traczyk@savoirfairelinux.com>
Date: Mon, 13 Jun 2022 14:55:12 -0400
Subject: [PATCH] build: fix native Windows build

Change-Id: Icb9c82aea6eeb17f02353da58bb77fede79b3cb0
---
 CMakeLists.txt                         |   9 +-
 make-client.py => build.py             |  19 +-
 jami-qt.sln                            | 359 +++++++++++++------------
 src/libclient/dbus/instancemanager.cpp |   6 +-
 src/libclient/lrc.cpp                  |   6 +-
 5 files changed, 197 insertions(+), 202 deletions(-)
 rename make-client.py => build.py (96%)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9e5ec8fca..6b88bf3c2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -303,12 +303,6 @@ if(MSVC)
   set(QRENCODE_LIB
     ${QRENCODE_DIR}/vc8/qrcodelib/x64/Release-Lib/qrcodelib.lib)
 
-  # libjamiclient
-  set(LIBCLIENT_STATIC_LIB
-    ${PROJECT_SOURCE_DIR}/build/release/${LIBCLIENT_NAME}.lib)
-  set(QTWRAPPER_LIB
-    ${PROJECT_SOURCE_DIR}/build/src/qtwrapper/Release/qtwrapper.lib)
-
   # daemon
   set(DRING_SRC_PATH ${DRING}/contrib/msvc/include)
   set(DRING_LIB ${DRING}/build/x64/ReleaseLib_win32/bin/jami.lib)
@@ -468,8 +462,7 @@ if(MSVC)
     PRIVATE
     ${DRING_LIB}
     ${GNUTLS_LIB}
-    ${LIBCLIENT_STATIC_LIB}
-    ${QTWRAPPER_LIB}
+    ${LIBCLIENT_NAME}
     ${QT_LIBS}
     ${QRENCODE_LIB}
     ${WINDOWS_SYS_LIBS})
diff --git a/make-client.py b/build.py
similarity index 96%
rename from make-client.py
rename to build.py
index 54a773591..3585e5199 100644
--- a/make-client.py
+++ b/build.py
@@ -29,7 +29,8 @@ qt_kit_path = 'msvc2019_64'
 qt_root_path = os.getenv('QT_ROOT_DIRECTORY', qt_path)
 
 # project path
-installer_project = os.path.join(this_dir, 'JamiInstaller', 'JamiInstaller.wixproj')
+installer_project = os.path.join(
+    this_dir, 'JamiInstaller', 'JamiInstaller.wixproj')
 unit_test_project = os.path.join(build_dir, 'tests', 'unittests.vcxproj')
 qml_test_project = os.path.join(build_dir, 'tests', 'qml_tests.vcxproj')
 
@@ -205,10 +206,13 @@ def build(config_str, qtver, tests=False):
     vs_env_vars.update(getVSEnv())
 
     qt_dir = os.path.join(qt_root_path, qtver, qt_kit_path)
+    daemon_dir = os.path.dirname(this_dir) + '\\daemon'
+    daemon_bin_dir = daemon_dir + '\\build\\x64\\ReleaseLib_win32\\bin'
 
     cmake_options = [
         '-DCMAKE_PREFIX_PATH=' + qt_dir,
-        '-DCMAKE_BUILD_TYPE=' + 'Release'
+        '-DCMAKE_INSTALL_PREFIX=' + daemon_bin_dir,
+        '-DLIBJAMI_INCLUDE_DIR=' + daemon_dir + '\\src\\jami'
     ]
     if tests:
         cmake_options.append('-DENABLE_TESTS=true')
@@ -262,6 +266,7 @@ def run_tests(mute_jamid, output_to_files):
             test_result_code = 1
     sys.exit(test_result_code)
 
+
 def generate_msi_installer():
     print('Generating application installer...')
 
@@ -274,6 +279,7 @@ def generate_msi_installer():
 
     build_project(msbuild, msbuild_args, installer_project, vs_env_vars)
 
+
 def parse_args():
     ap = argparse.ArgumentParser(description="Client qt build tool")
     subparser = ap.add_subparsers(dest="subparser_name")
@@ -299,8 +305,6 @@ def parse_args():
         '-l', '--logtests', action='store_true', default=False,
         help='Output tests log to files')
 
-    subparser.add_parser('msi')
-
     parsed_args = ap.parse_args()
 
     return parsed_args
@@ -321,17 +325,14 @@ def main():
         init_submodules()
         build_deps()
     elif parsed_args.subparser_name == 'pack':
-        print('Package generation is not yet implemented.')
+        generate_msi_installer()
         sys.exit(1)
     else:
         config = ('Release', 'Beta')[parsed_args.beta]
-        build(config, qt_version_default, parsed_args.runtests)
+        build(config, parsed_args.qtver, parsed_args.runtests)
         if parsed_args.runtests:
             run_tests(parsed_args.mutejamid, parsed_args.outputtofiles)
 
-    if parsed_args.subparser_name == 'msi':
-        generate_msi_installer()
-
 
 if __name__ == '__main__':
     main()
diff --git a/jami-qt.sln b/jami-qt.sln
index af72f084b..9c0f6c9f2 100644
--- a/jami-qt.sln
+++ b/jami-qt.sln
@@ -2,26 +2,27 @@ Microsoft Visual Studio Solution File, Format Version 12.00
 # Visual Studio Version 16
 VisualStudioVersion = 16.0.29613.14
 MinimumVisualStudioVersion = 10.0.40219.1
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ring-daemon", "..\daemon\build\ring-daemon.vcxproj", "{C3C7D924-4C68-35A5-9045-7F26637B6375}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ring-daemon", "..\daemon\build\ring-daemon.vcxproj", "{DFA5D1FE-60B6-3D10-87F8-1D5E45C8C5FD}"
 EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ringclient_static", "..\lrc\build\ringclient_static.vcxproj", "{3D7B66E9-A446-36CC-82DA-6D662A26EAFA}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "qtwrapper", "..\lrc\build\src\qtwrapper\qtwrapper.vcxproj", "{34853066-B2AD-3072-99D9-7877FA713025}"
+Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "JamiInstaller", "JamiInstaller\JamiInstaller.wixproj", "{DBBFBC55-1C20-4D21-AE3B-6E8B14C4FE48}"
 	ProjectSection(ProjectDependencies) = postProject
-		{C3C7D924-4C68-35A5-9045-7F26637B6375} = {C3C7D924-4C68-35A5-9045-7F26637B6375}
+		{78446125-FFDC-3CD8-BCBA-52E191038A34} = {78446125-FFDC-3CD8-BCBA-52E191038A34}
 	EndProjectSection
 EndProject
-Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "JamiInstaller", "JamiInstaller\JamiInstaller.wixproj", "{DBBFBC55-1C20-4D21-AE3B-6E8B14C4FE48}"
-EndProject
 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "daemon", "daemon", "{B6752729-7398-46FA-9CF0-DC854C6AB8CA}"
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "lrc", "lrc", "{31F92F98-3580-445D-A3DA-D081B427A562}"
-EndProject
 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "client", "client", "{1ECB5BD6-B3A0-4135-BA3F-48FC367B61C9}"
 EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "jami-qt", "build\jami-qt.vcxproj", "{ED60A757-91FA-30CD-ABC3-5A1FB7696479}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "jami-qt", "build\jami-qt.vcxproj", "{78446125-FFDC-3CD8-BCBA-52E191038A34}"
+	ProjectSection(ProjectDependencies) = postProject
+		{3EF5E2A0-3D11-3500-9E55-D31AE9FCDB08} = {3EF5E2A0-3D11-3500-9E55-D31AE9FCDB08}
+	EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libjamiclient", "build\src\libclient\libjamiclient.vcxproj", "{3EF5E2A0-3D11-3500-9E55-D31AE9FCDB08}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "qtwrapper", "build\src\libclient\qtwrapper\qtwrapper.vcxproj", "{763BAFFB-47C2-3800-B47A-C5FAC57B0B10}"
 	ProjectSection(ProjectDependencies) = postProject
-		{3D7B66E9-A446-36CC-82DA-6D662A26EAFA} = {3D7B66E9-A446-36CC-82DA-6D662A26EAFA}
+		{DFA5D1FE-60B6-3D10-87F8-1D5E45C8C5FD} = {DFA5D1FE-60B6-3D10-87F8-1D5E45C8C5FD}
 	EndProjectSection
 EndProject
 Global
@@ -52,128 +53,52 @@ Global
 		RelWithDebInfo|x86 = RelWithDebInfo|x86
 	EndGlobalSection
 	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{C3C7D924-4C68-35A5-9045-7F26637B6375}.Beta|Any CPU.ActiveCfg = ReleaseLib_win32|x64
-		{C3C7D924-4C68-35A5-9045-7F26637B6375}.Beta|Any CPU.Build.0 = ReleaseLib_win32|x64
-		{C3C7D924-4C68-35A5-9045-7F26637B6375}.Beta|x64.ActiveCfg = ReleaseLib_win32|x64
-		{C3C7D924-4C68-35A5-9045-7F26637B6375}.Beta|x64.Build.0 = ReleaseLib_win32|x64
-		{C3C7D924-4C68-35A5-9045-7F26637B6375}.Beta|x86.ActiveCfg = ReleaseLib_win32|x64
-		{C3C7D924-4C68-35A5-9045-7F26637B6375}.Beta|x86.Build.0 = ReleaseLib_win32|x64
-		{C3C7D924-4C68-35A5-9045-7F26637B6375}.Debug|Any CPU.ActiveCfg = ReleaseLib_win32|x64
-		{C3C7D924-4C68-35A5-9045-7F26637B6375}.Debug|Any CPU.Build.0 = ReleaseLib_win32|x64
-		{C3C7D924-4C68-35A5-9045-7F26637B6375}.Debug|x64.ActiveCfg = ReleaseLib_win32|x64
-		{C3C7D924-4C68-35A5-9045-7F26637B6375}.Debug|x64.Build.0 = ReleaseLib_win32|x64
-		{C3C7D924-4C68-35A5-9045-7F26637B6375}.Debug|x86.ActiveCfg = ReleaseLib_win32|x64
-		{C3C7D924-4C68-35A5-9045-7F26637B6375}.Debug|x86.Build.0 = ReleaseLib_win32|x64
-		{C3C7D924-4C68-35A5-9045-7F26637B6375}.MinSizeRel|Any CPU.ActiveCfg = ReleaseLib_win32|x64
-		{C3C7D924-4C68-35A5-9045-7F26637B6375}.MinSizeRel|Any CPU.Build.0 = ReleaseLib_win32|x64
-		{C3C7D924-4C68-35A5-9045-7F26637B6375}.MinSizeRel|x64.ActiveCfg = ReleaseLib_win32|x64
-		{C3C7D924-4C68-35A5-9045-7F26637B6375}.MinSizeRel|x64.Build.0 = ReleaseLib_win32|x64
-		{C3C7D924-4C68-35A5-9045-7F26637B6375}.MinSizeRel|x86.ActiveCfg = ReleaseLib_win32|x64
-		{C3C7D924-4C68-35A5-9045-7F26637B6375}.MinSizeRel|x86.Build.0 = ReleaseLib_win32|x64
-		{C3C7D924-4C68-35A5-9045-7F26637B6375}.Release|Any CPU.ActiveCfg = ReleaseLib_win32|x64
-		{C3C7D924-4C68-35A5-9045-7F26637B6375}.Release|Any CPU.Build.0 = ReleaseLib_win32|x64
-		{C3C7D924-4C68-35A5-9045-7F26637B6375}.Release|x64.ActiveCfg = ReleaseLib_win32|x64
-		{C3C7D924-4C68-35A5-9045-7F26637B6375}.Release|x64.Build.0 = ReleaseLib_win32|x64
-		{C3C7D924-4C68-35A5-9045-7F26637B6375}.Release|x86.ActiveCfg = ReleaseLib_win32|x64
-		{C3C7D924-4C68-35A5-9045-7F26637B6375}.Release|x86.Build.0 = ReleaseLib_win32|x64
-		{C3C7D924-4C68-35A5-9045-7F26637B6375}.ReleaseCompile|Any CPU.ActiveCfg = ReleaseLib_win32|x64
-		{C3C7D924-4C68-35A5-9045-7F26637B6375}.ReleaseCompile|Any CPU.Build.0 = ReleaseLib_win32|x64
-		{C3C7D924-4C68-35A5-9045-7F26637B6375}.ReleaseCompile|x64.ActiveCfg = ReleaseLib_win32|x64
-		{C3C7D924-4C68-35A5-9045-7F26637B6375}.ReleaseCompile|x64.Build.0 = ReleaseLib_win32|x64
-		{C3C7D924-4C68-35A5-9045-7F26637B6375}.ReleaseCompile|x86.ActiveCfg = ReleaseLib_win32|x64
-		{C3C7D924-4C68-35A5-9045-7F26637B6375}.ReleaseCompile|x86.Build.0 = ReleaseLib_win32|x64
-		{C3C7D924-4C68-35A5-9045-7F26637B6375}.ReleaseLib_win32|Any CPU.ActiveCfg = ReleaseLib_win32|x64
-		{C3C7D924-4C68-35A5-9045-7F26637B6375}.ReleaseLib_win32|x64.ActiveCfg = ReleaseLib_win32|x64
-		{C3C7D924-4C68-35A5-9045-7F26637B6375}.ReleaseLib_win32|x64.Build.0 = ReleaseLib_win32|x64
-		{C3C7D924-4C68-35A5-9045-7F26637B6375}.ReleaseLib_win32|x86.ActiveCfg = ReleaseLib_win32|x64
-		{C3C7D924-4C68-35A5-9045-7F26637B6375}.ReleaseLib|Any CPU.ActiveCfg = ReleaseLib_win32|x64
-		{C3C7D924-4C68-35A5-9045-7F26637B6375}.ReleaseLib|Any CPU.Build.0 = ReleaseLib_win32|x64
-		{C3C7D924-4C68-35A5-9045-7F26637B6375}.ReleaseLib|x64.ActiveCfg = ReleaseLib_win32|x64
-		{C3C7D924-4C68-35A5-9045-7F26637B6375}.ReleaseLib|x64.Build.0 = ReleaseLib_win32|x64
-		{C3C7D924-4C68-35A5-9045-7F26637B6375}.ReleaseLib|x86.ActiveCfg = ReleaseLib_win32|x64
-		{C3C7D924-4C68-35A5-9045-7F26637B6375}.ReleaseLib|x86.Build.0 = ReleaseLib_win32|x64
-		{C3C7D924-4C68-35A5-9045-7F26637B6375}.RelWithDebInfo|Any CPU.ActiveCfg = ReleaseLib_win32|x64
-		{C3C7D924-4C68-35A5-9045-7F26637B6375}.RelWithDebInfo|Any CPU.Build.0 = ReleaseLib_win32|x64
-		{C3C7D924-4C68-35A5-9045-7F26637B6375}.RelWithDebInfo|x64.ActiveCfg = ReleaseLib_win32|x64
-		{C3C7D924-4C68-35A5-9045-7F26637B6375}.RelWithDebInfo|x64.Build.0 = ReleaseLib_win32|x64
-		{C3C7D924-4C68-35A5-9045-7F26637B6375}.RelWithDebInfo|x86.ActiveCfg = ReleaseLib_win32|x64
-		{C3C7D924-4C68-35A5-9045-7F26637B6375}.RelWithDebInfo|x86.Build.0 = ReleaseLib_win32|x64
-		{3D7B66E9-A446-36CC-82DA-6D662A26EAFA}.Beta|Any CPU.ActiveCfg = Release|x64
-		{3D7B66E9-A446-36CC-82DA-6D662A26EAFA}.Beta|x64.ActiveCfg = Release|x64
-		{3D7B66E9-A446-36CC-82DA-6D662A26EAFA}.Beta|x64.Build.0 = Release|x64
-		{3D7B66E9-A446-36CC-82DA-6D662A26EAFA}.Beta|x86.ActiveCfg = Release|x64
-		{3D7B66E9-A446-36CC-82DA-6D662A26EAFA}.Debug|Any CPU.ActiveCfg = Debug|x64
-		{3D7B66E9-A446-36CC-82DA-6D662A26EAFA}.Debug|x64.ActiveCfg = Debug|x64
-		{3D7B66E9-A446-36CC-82DA-6D662A26EAFA}.Debug|x64.Build.0 = Debug|x64
-		{3D7B66E9-A446-36CC-82DA-6D662A26EAFA}.Debug|x86.ActiveCfg = Debug|x64
-		{3D7B66E9-A446-36CC-82DA-6D662A26EAFA}.MinSizeRel|Any CPU.ActiveCfg = MinSizeRel|x64
-		{3D7B66E9-A446-36CC-82DA-6D662A26EAFA}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
-		{3D7B66E9-A446-36CC-82DA-6D662A26EAFA}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
-		{3D7B66E9-A446-36CC-82DA-6D662A26EAFA}.MinSizeRel|x86.ActiveCfg = MinSizeRel|x64
-		{3D7B66E9-A446-36CC-82DA-6D662A26EAFA}.Release|Any CPU.ActiveCfg = Release|x64
-		{3D7B66E9-A446-36CC-82DA-6D662A26EAFA}.Release|x64.ActiveCfg = Release|x64
-		{3D7B66E9-A446-36CC-82DA-6D662A26EAFA}.Release|x64.Build.0 = Release|x64
-		{3D7B66E9-A446-36CC-82DA-6D662A26EAFA}.Release|x86.ActiveCfg = Release|x64
-		{3D7B66E9-A446-36CC-82DA-6D662A26EAFA}.ReleaseCompile|Any CPU.ActiveCfg = Release|x64
-		{3D7B66E9-A446-36CC-82DA-6D662A26EAFA}.ReleaseCompile|Any CPU.Build.0 = Release|x64
-		{3D7B66E9-A446-36CC-82DA-6D662A26EAFA}.ReleaseCompile|x64.ActiveCfg = Release|x64
-		{3D7B66E9-A446-36CC-82DA-6D662A26EAFA}.ReleaseCompile|x64.Build.0 = Release|x64
-		{3D7B66E9-A446-36CC-82DA-6D662A26EAFA}.ReleaseCompile|x86.ActiveCfg = Release|x64
-		{3D7B66E9-A446-36CC-82DA-6D662A26EAFA}.ReleaseCompile|x86.Build.0 = Release|x64
-		{3D7B66E9-A446-36CC-82DA-6D662A26EAFA}.ReleaseLib_win32|Any CPU.ActiveCfg = RelWithDebInfo|x64
-		{3D7B66E9-A446-36CC-82DA-6D662A26EAFA}.ReleaseLib_win32|Any CPU.Build.0 = RelWithDebInfo|x64
-		{3D7B66E9-A446-36CC-82DA-6D662A26EAFA}.ReleaseLib_win32|x64.ActiveCfg = Release|x64
-		{3D7B66E9-A446-36CC-82DA-6D662A26EAFA}.ReleaseLib_win32|x64.Build.0 = Release|x64
-		{3D7B66E9-A446-36CC-82DA-6D662A26EAFA}.ReleaseLib_win32|x86.ActiveCfg = RelWithDebInfo|x64
-		{3D7B66E9-A446-36CC-82DA-6D662A26EAFA}.ReleaseLib_win32|x86.Build.0 = RelWithDebInfo|x64
-		{3D7B66E9-A446-36CC-82DA-6D662A26EAFA}.ReleaseLib|Any CPU.ActiveCfg = RelWithDebInfo|x64
-		{3D7B66E9-A446-36CC-82DA-6D662A26EAFA}.ReleaseLib|Any CPU.Build.0 = RelWithDebInfo|x64
-		{3D7B66E9-A446-36CC-82DA-6D662A26EAFA}.ReleaseLib|x64.ActiveCfg = Release|x64
-		{3D7B66E9-A446-36CC-82DA-6D662A26EAFA}.ReleaseLib|x64.Build.0 = Release|x64
-		{3D7B66E9-A446-36CC-82DA-6D662A26EAFA}.ReleaseLib|x86.ActiveCfg = MinSizeRel|x64
-		{3D7B66E9-A446-36CC-82DA-6D662A26EAFA}.ReleaseLib|x86.Build.0 = MinSizeRel|x64
-		{3D7B66E9-A446-36CC-82DA-6D662A26EAFA}.RelWithDebInfo|Any CPU.ActiveCfg = RelWithDebInfo|x64
-		{3D7B66E9-A446-36CC-82DA-6D662A26EAFA}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
-		{3D7B66E9-A446-36CC-82DA-6D662A26EAFA}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
-		{3D7B66E9-A446-36CC-82DA-6D662A26EAFA}.RelWithDebInfo|x86.ActiveCfg = RelWithDebInfo|x64
-		{34853066-B2AD-3072-99D9-7877FA713025}.Beta|Any CPU.ActiveCfg = Release|x64
-		{34853066-B2AD-3072-99D9-7877FA713025}.Beta|x64.ActiveCfg = Release|x64
-		{34853066-B2AD-3072-99D9-7877FA713025}.Beta|x64.Build.0 = Release|x64
-		{34853066-B2AD-3072-99D9-7877FA713025}.Beta|x86.ActiveCfg = Release|x64
-		{34853066-B2AD-3072-99D9-7877FA713025}.Debug|Any CPU.ActiveCfg = Debug|x64
-		{34853066-B2AD-3072-99D9-7877FA713025}.Debug|x64.ActiveCfg = Debug|x64
-		{34853066-B2AD-3072-99D9-7877FA713025}.Debug|x64.Build.0 = Debug|x64
-		{34853066-B2AD-3072-99D9-7877FA713025}.Debug|x86.ActiveCfg = Debug|x64
-		{34853066-B2AD-3072-99D9-7877FA713025}.MinSizeRel|Any CPU.ActiveCfg = MinSizeRel|x64
-		{34853066-B2AD-3072-99D9-7877FA713025}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
-		{34853066-B2AD-3072-99D9-7877FA713025}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
-		{34853066-B2AD-3072-99D9-7877FA713025}.MinSizeRel|x86.ActiveCfg = MinSizeRel|x64
-		{34853066-B2AD-3072-99D9-7877FA713025}.Release|Any CPU.ActiveCfg = Release|x64
-		{34853066-B2AD-3072-99D9-7877FA713025}.Release|x64.ActiveCfg = Release|x64
-		{34853066-B2AD-3072-99D9-7877FA713025}.Release|x64.Build.0 = Release|x64
-		{34853066-B2AD-3072-99D9-7877FA713025}.Release|x86.ActiveCfg = Release|x64
-		{34853066-B2AD-3072-99D9-7877FA713025}.ReleaseCompile|Any CPU.ActiveCfg = Release|x64
-		{34853066-B2AD-3072-99D9-7877FA713025}.ReleaseCompile|Any CPU.Build.0 = Release|x64
-		{34853066-B2AD-3072-99D9-7877FA713025}.ReleaseCompile|x64.ActiveCfg = Release|x64
-		{34853066-B2AD-3072-99D9-7877FA713025}.ReleaseCompile|x64.Build.0 = Release|x64
-		{34853066-B2AD-3072-99D9-7877FA713025}.ReleaseCompile|x86.ActiveCfg = Release|x64
-		{34853066-B2AD-3072-99D9-7877FA713025}.ReleaseCompile|x86.Build.0 = Release|x64
-		{34853066-B2AD-3072-99D9-7877FA713025}.ReleaseLib_win32|Any CPU.ActiveCfg = RelWithDebInfo|x64
-		{34853066-B2AD-3072-99D9-7877FA713025}.ReleaseLib_win32|Any CPU.Build.0 = RelWithDebInfo|x64
-		{34853066-B2AD-3072-99D9-7877FA713025}.ReleaseLib_win32|x64.ActiveCfg = Release|x64
-		{34853066-B2AD-3072-99D9-7877FA713025}.ReleaseLib_win32|x64.Build.0 = Release|x64
-		{34853066-B2AD-3072-99D9-7877FA713025}.ReleaseLib_win32|x86.ActiveCfg = RelWithDebInfo|x64
-		{34853066-B2AD-3072-99D9-7877FA713025}.ReleaseLib_win32|x86.Build.0 = RelWithDebInfo|x64
-		{34853066-B2AD-3072-99D9-7877FA713025}.ReleaseLib|Any CPU.ActiveCfg = RelWithDebInfo|x64
-		{34853066-B2AD-3072-99D9-7877FA713025}.ReleaseLib|Any CPU.Build.0 = RelWithDebInfo|x64
-		{34853066-B2AD-3072-99D9-7877FA713025}.ReleaseLib|x64.ActiveCfg = Release|x64
-		{34853066-B2AD-3072-99D9-7877FA713025}.ReleaseLib|x64.Build.0 = Release|x64
-		{34853066-B2AD-3072-99D9-7877FA713025}.ReleaseLib|x86.ActiveCfg = MinSizeRel|x64
-		{34853066-B2AD-3072-99D9-7877FA713025}.ReleaseLib|x86.Build.0 = MinSizeRel|x64
-		{34853066-B2AD-3072-99D9-7877FA713025}.RelWithDebInfo|Any CPU.ActiveCfg = RelWithDebInfo|x64
-		{34853066-B2AD-3072-99D9-7877FA713025}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
-		{34853066-B2AD-3072-99D9-7877FA713025}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
-		{34853066-B2AD-3072-99D9-7877FA713025}.RelWithDebInfo|x86.ActiveCfg = RelWithDebInfo|x64
+		{DFA5D1FE-60B6-3D10-87F8-1D5E45C8C5FD}.Beta|Any CPU.ActiveCfg = ReleaseLib_win32|x64
+		{DFA5D1FE-60B6-3D10-87F8-1D5E45C8C5FD}.Beta|Any CPU.Build.0 = ReleaseLib_win32|x64
+		{DFA5D1FE-60B6-3D10-87F8-1D5E45C8C5FD}.Beta|x64.ActiveCfg = ReleaseLib_win32|x64
+		{DFA5D1FE-60B6-3D10-87F8-1D5E45C8C5FD}.Beta|x64.Build.0 = ReleaseLib_win32|x64
+		{DFA5D1FE-60B6-3D10-87F8-1D5E45C8C5FD}.Beta|x86.ActiveCfg = ReleaseLib_win32|x64
+		{DFA5D1FE-60B6-3D10-87F8-1D5E45C8C5FD}.Beta|x86.Build.0 = ReleaseLib_win32|x64
+		{DFA5D1FE-60B6-3D10-87F8-1D5E45C8C5FD}.Debug|Any CPU.ActiveCfg = ReleaseLib_win32|x64
+		{DFA5D1FE-60B6-3D10-87F8-1D5E45C8C5FD}.Debug|Any CPU.Build.0 = ReleaseLib_win32|x64
+		{DFA5D1FE-60B6-3D10-87F8-1D5E45C8C5FD}.Debug|x64.ActiveCfg = ReleaseLib_win32|x64
+		{DFA5D1FE-60B6-3D10-87F8-1D5E45C8C5FD}.Debug|x64.Build.0 = ReleaseLib_win32|x64
+		{DFA5D1FE-60B6-3D10-87F8-1D5E45C8C5FD}.Debug|x86.ActiveCfg = ReleaseLib_win32|x64
+		{DFA5D1FE-60B6-3D10-87F8-1D5E45C8C5FD}.Debug|x86.Build.0 = ReleaseLib_win32|x64
+		{DFA5D1FE-60B6-3D10-87F8-1D5E45C8C5FD}.MinSizeRel|Any CPU.ActiveCfg = ReleaseLib_win32|x64
+		{DFA5D1FE-60B6-3D10-87F8-1D5E45C8C5FD}.MinSizeRel|Any CPU.Build.0 = ReleaseLib_win32|x64
+		{DFA5D1FE-60B6-3D10-87F8-1D5E45C8C5FD}.MinSizeRel|x64.ActiveCfg = ReleaseLib_win32|x64
+		{DFA5D1FE-60B6-3D10-87F8-1D5E45C8C5FD}.MinSizeRel|x64.Build.0 = ReleaseLib_win32|x64
+		{DFA5D1FE-60B6-3D10-87F8-1D5E45C8C5FD}.MinSizeRel|x86.ActiveCfg = ReleaseLib_win32|x64
+		{DFA5D1FE-60B6-3D10-87F8-1D5E45C8C5FD}.MinSizeRel|x86.Build.0 = ReleaseLib_win32|x64
+		{DFA5D1FE-60B6-3D10-87F8-1D5E45C8C5FD}.Release|Any CPU.ActiveCfg = ReleaseLib_win32|x64
+		{DFA5D1FE-60B6-3D10-87F8-1D5E45C8C5FD}.Release|Any CPU.Build.0 = ReleaseLib_win32|x64
+		{DFA5D1FE-60B6-3D10-87F8-1D5E45C8C5FD}.Release|x64.ActiveCfg = ReleaseLib_win32|x64
+		{DFA5D1FE-60B6-3D10-87F8-1D5E45C8C5FD}.Release|x64.Build.0 = ReleaseLib_win32|x64
+		{DFA5D1FE-60B6-3D10-87F8-1D5E45C8C5FD}.Release|x86.ActiveCfg = ReleaseLib_win32|x64
+		{DFA5D1FE-60B6-3D10-87F8-1D5E45C8C5FD}.Release|x86.Build.0 = ReleaseLib_win32|x64
+		{DFA5D1FE-60B6-3D10-87F8-1D5E45C8C5FD}.ReleaseCompile|Any CPU.ActiveCfg = ReleaseLib_win32|x64
+		{DFA5D1FE-60B6-3D10-87F8-1D5E45C8C5FD}.ReleaseCompile|Any CPU.Build.0 = ReleaseLib_win32|x64
+		{DFA5D1FE-60B6-3D10-87F8-1D5E45C8C5FD}.ReleaseCompile|x64.ActiveCfg = ReleaseLib_win32|x64
+		{DFA5D1FE-60B6-3D10-87F8-1D5E45C8C5FD}.ReleaseCompile|x64.Build.0 = ReleaseLib_win32|x64
+		{DFA5D1FE-60B6-3D10-87F8-1D5E45C8C5FD}.ReleaseCompile|x86.ActiveCfg = ReleaseLib_win32|x64
+		{DFA5D1FE-60B6-3D10-87F8-1D5E45C8C5FD}.ReleaseCompile|x86.Build.0 = ReleaseLib_win32|x64
+		{DFA5D1FE-60B6-3D10-87F8-1D5E45C8C5FD}.ReleaseLib_win32|Any CPU.ActiveCfg = ReleaseLib_win32|x64
+		{DFA5D1FE-60B6-3D10-87F8-1D5E45C8C5FD}.ReleaseLib_win32|x64.ActiveCfg = ReleaseLib_win32|x64
+		{DFA5D1FE-60B6-3D10-87F8-1D5E45C8C5FD}.ReleaseLib_win32|x64.Build.0 = ReleaseLib_win32|x64
+		{DFA5D1FE-60B6-3D10-87F8-1D5E45C8C5FD}.ReleaseLib_win32|x86.ActiveCfg = ReleaseLib_win32|x64
+		{DFA5D1FE-60B6-3D10-87F8-1D5E45C8C5FD}.ReleaseLib|Any CPU.ActiveCfg = ReleaseLib_win32|x64
+		{DFA5D1FE-60B6-3D10-87F8-1D5E45C8C5FD}.ReleaseLib|Any CPU.Build.0 = ReleaseLib_win32|x64
+		{DFA5D1FE-60B6-3D10-87F8-1D5E45C8C5FD}.ReleaseLib|x64.ActiveCfg = ReleaseLib_win32|x64
+		{DFA5D1FE-60B6-3D10-87F8-1D5E45C8C5FD}.ReleaseLib|x64.Build.0 = ReleaseLib_win32|x64
+		{DFA5D1FE-60B6-3D10-87F8-1D5E45C8C5FD}.ReleaseLib|x86.ActiveCfg = ReleaseLib_win32|x64
+		{DFA5D1FE-60B6-3D10-87F8-1D5E45C8C5FD}.ReleaseLib|x86.Build.0 = ReleaseLib_win32|x64
+		{DFA5D1FE-60B6-3D10-87F8-1D5E45C8C5FD}.RelWithDebInfo|Any CPU.ActiveCfg = ReleaseLib_win32|x64
+		{DFA5D1FE-60B6-3D10-87F8-1D5E45C8C5FD}.RelWithDebInfo|Any CPU.Build.0 = ReleaseLib_win32|x64
+		{DFA5D1FE-60B6-3D10-87F8-1D5E45C8C5FD}.RelWithDebInfo|x64.ActiveCfg = ReleaseLib_win32|x64
+		{DFA5D1FE-60B6-3D10-87F8-1D5E45C8C5FD}.RelWithDebInfo|x64.Build.0 = ReleaseLib_win32|x64
+		{DFA5D1FE-60B6-3D10-87F8-1D5E45C8C5FD}.RelWithDebInfo|x86.ActiveCfg = ReleaseLib_win32|x64
+		{DFA5D1FE-60B6-3D10-87F8-1D5E45C8C5FD}.RelWithDebInfo|x86.Build.0 = ReleaseLib_win32|x64
 		{DBBFBC55-1C20-4D21-AE3B-6E8B14C4FE48}.Beta|Any CPU.ActiveCfg = Release|x64
 		{DBBFBC55-1C20-4D21-AE3B-6E8B14C4FE48}.Beta|x64.ActiveCfg = Beta|x64
 		{DBBFBC55-1C20-4D21-AE3B-6E8B14C4FE48}.Beta|x64.Build.0 = Beta|x64
@@ -218,56 +143,136 @@ Global
 		{DBBFBC55-1C20-4D21-AE3B-6E8B14C4FE48}.RelWithDebInfo|x64.Build.0 = Release|x64
 		{DBBFBC55-1C20-4D21-AE3B-6E8B14C4FE48}.RelWithDebInfo|x86.ActiveCfg = Beta|x64
 		{DBBFBC55-1C20-4D21-AE3B-6E8B14C4FE48}.RelWithDebInfo|x86.Build.0 = Beta|x64
-		{ED60A757-91FA-30CD-ABC3-5A1FB7696479}.Beta|Any CPU.ActiveCfg = RelWithDebInfo|x64
-		{ED60A757-91FA-30CD-ABC3-5A1FB7696479}.Beta|Any CPU.Build.0 = RelWithDebInfo|x64
-		{ED60A757-91FA-30CD-ABC3-5A1FB7696479}.Beta|x64.ActiveCfg = RelWithDebInfo|x64
-		{ED60A757-91FA-30CD-ABC3-5A1FB7696479}.Beta|x64.Build.0 = RelWithDebInfo|x64
-		{ED60A757-91FA-30CD-ABC3-5A1FB7696479}.Beta|x86.ActiveCfg = RelWithDebInfo|x64
-		{ED60A757-91FA-30CD-ABC3-5A1FB7696479}.Beta|x86.Build.0 = RelWithDebInfo|x64
-		{ED60A757-91FA-30CD-ABC3-5A1FB7696479}.Debug|Any CPU.ActiveCfg = Debug|x64
-		{ED60A757-91FA-30CD-ABC3-5A1FB7696479}.Debug|x64.ActiveCfg = Debug|x64
-		{ED60A757-91FA-30CD-ABC3-5A1FB7696479}.Debug|x64.Build.0 = Debug|x64
-		{ED60A757-91FA-30CD-ABC3-5A1FB7696479}.Debug|x86.ActiveCfg = Debug|x64
-		{ED60A757-91FA-30CD-ABC3-5A1FB7696479}.MinSizeRel|Any CPU.ActiveCfg = MinSizeRel|x64
-		{ED60A757-91FA-30CD-ABC3-5A1FB7696479}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
-		{ED60A757-91FA-30CD-ABC3-5A1FB7696479}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
-		{ED60A757-91FA-30CD-ABC3-5A1FB7696479}.MinSizeRel|x86.ActiveCfg = MinSizeRel|x64
-		{ED60A757-91FA-30CD-ABC3-5A1FB7696479}.Release|Any CPU.ActiveCfg = Release|x64
-		{ED60A757-91FA-30CD-ABC3-5A1FB7696479}.Release|x64.ActiveCfg = Release|x64
-		{ED60A757-91FA-30CD-ABC3-5A1FB7696479}.Release|x64.Build.0 = Release|x64
-		{ED60A757-91FA-30CD-ABC3-5A1FB7696479}.Release|x86.ActiveCfg = Release|x64
-		{ED60A757-91FA-30CD-ABC3-5A1FB7696479}.ReleaseCompile|Any CPU.ActiveCfg = RelWithDebInfo|x64
-		{ED60A757-91FA-30CD-ABC3-5A1FB7696479}.ReleaseCompile|Any CPU.Build.0 = RelWithDebInfo|x64
-		{ED60A757-91FA-30CD-ABC3-5A1FB7696479}.ReleaseCompile|x64.ActiveCfg = Release|x64
-		{ED60A757-91FA-30CD-ABC3-5A1FB7696479}.ReleaseCompile|x64.Build.0 = Release|x64
-		{ED60A757-91FA-30CD-ABC3-5A1FB7696479}.ReleaseCompile|x86.ActiveCfg = RelWithDebInfo|x64
-		{ED60A757-91FA-30CD-ABC3-5A1FB7696479}.ReleaseCompile|x86.Build.0 = RelWithDebInfo|x64
-		{ED60A757-91FA-30CD-ABC3-5A1FB7696479}.ReleaseLib_win32|Any CPU.ActiveCfg = RelWithDebInfo|x64
-		{ED60A757-91FA-30CD-ABC3-5A1FB7696479}.ReleaseLib_win32|Any CPU.Build.0 = RelWithDebInfo|x64
-		{ED60A757-91FA-30CD-ABC3-5A1FB7696479}.ReleaseLib_win32|x64.ActiveCfg = Release|x64
-		{ED60A757-91FA-30CD-ABC3-5A1FB7696479}.ReleaseLib_win32|x64.Build.0 = Release|x64
-		{ED60A757-91FA-30CD-ABC3-5A1FB7696479}.ReleaseLib_win32|x86.ActiveCfg = RelWithDebInfo|x64
-		{ED60A757-91FA-30CD-ABC3-5A1FB7696479}.ReleaseLib_win32|x86.Build.0 = RelWithDebInfo|x64
-		{ED60A757-91FA-30CD-ABC3-5A1FB7696479}.ReleaseLib|Any CPU.ActiveCfg = RelWithDebInfo|x64
-		{ED60A757-91FA-30CD-ABC3-5A1FB7696479}.ReleaseLib|Any CPU.Build.0 = RelWithDebInfo|x64
-		{ED60A757-91FA-30CD-ABC3-5A1FB7696479}.ReleaseLib|x64.ActiveCfg = Release|x64
-		{ED60A757-91FA-30CD-ABC3-5A1FB7696479}.ReleaseLib|x64.Build.0 = Release|x64
-		{ED60A757-91FA-30CD-ABC3-5A1FB7696479}.ReleaseLib|x86.ActiveCfg = RelWithDebInfo|x64
-		{ED60A757-91FA-30CD-ABC3-5A1FB7696479}.ReleaseLib|x86.Build.0 = RelWithDebInfo|x64
-		{ED60A757-91FA-30CD-ABC3-5A1FB7696479}.RelWithDebInfo|Any CPU.ActiveCfg = RelWithDebInfo|x64
-		{ED60A757-91FA-30CD-ABC3-5A1FB7696479}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
-		{ED60A757-91FA-30CD-ABC3-5A1FB7696479}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
-		{ED60A757-91FA-30CD-ABC3-5A1FB7696479}.RelWithDebInfo|x86.ActiveCfg = RelWithDebInfo|x64
+		{78446125-FFDC-3CD8-BCBA-52E191038A34}.Beta|Any CPU.ActiveCfg = RelWithDebInfo|x64
+		{78446125-FFDC-3CD8-BCBA-52E191038A34}.Beta|Any CPU.Build.0 = RelWithDebInfo|x64
+		{78446125-FFDC-3CD8-BCBA-52E191038A34}.Beta|x64.ActiveCfg = RelWithDebInfo|x64
+		{78446125-FFDC-3CD8-BCBA-52E191038A34}.Beta|x64.Build.0 = RelWithDebInfo|x64
+		{78446125-FFDC-3CD8-BCBA-52E191038A34}.Beta|x86.ActiveCfg = RelWithDebInfo|x64
+		{78446125-FFDC-3CD8-BCBA-52E191038A34}.Beta|x86.Build.0 = RelWithDebInfo|x64
+		{78446125-FFDC-3CD8-BCBA-52E191038A34}.Debug|Any CPU.ActiveCfg = Debug|x64
+		{78446125-FFDC-3CD8-BCBA-52E191038A34}.Debug|x64.ActiveCfg = Debug|x64
+		{78446125-FFDC-3CD8-BCBA-52E191038A34}.Debug|x64.Build.0 = Debug|x64
+		{78446125-FFDC-3CD8-BCBA-52E191038A34}.Debug|x86.ActiveCfg = Debug|x64
+		{78446125-FFDC-3CD8-BCBA-52E191038A34}.MinSizeRel|Any CPU.ActiveCfg = MinSizeRel|x64
+		{78446125-FFDC-3CD8-BCBA-52E191038A34}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
+		{78446125-FFDC-3CD8-BCBA-52E191038A34}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
+		{78446125-FFDC-3CD8-BCBA-52E191038A34}.MinSizeRel|x86.ActiveCfg = MinSizeRel|x64
+		{78446125-FFDC-3CD8-BCBA-52E191038A34}.Release|Any CPU.ActiveCfg = Release|x64
+		{78446125-FFDC-3CD8-BCBA-52E191038A34}.Release|x64.ActiveCfg = Release|x64
+		{78446125-FFDC-3CD8-BCBA-52E191038A34}.Release|x64.Build.0 = Release|x64
+		{78446125-FFDC-3CD8-BCBA-52E191038A34}.Release|x86.ActiveCfg = Release|x64
+		{78446125-FFDC-3CD8-BCBA-52E191038A34}.ReleaseCompile|Any CPU.ActiveCfg = RelWithDebInfo|x64
+		{78446125-FFDC-3CD8-BCBA-52E191038A34}.ReleaseCompile|Any CPU.Build.0 = RelWithDebInfo|x64
+		{78446125-FFDC-3CD8-BCBA-52E191038A34}.ReleaseCompile|x64.ActiveCfg = Release|x64
+		{78446125-FFDC-3CD8-BCBA-52E191038A34}.ReleaseCompile|x64.Build.0 = Release|x64
+		{78446125-FFDC-3CD8-BCBA-52E191038A34}.ReleaseCompile|x86.ActiveCfg = RelWithDebInfo|x64
+		{78446125-FFDC-3CD8-BCBA-52E191038A34}.ReleaseCompile|x86.Build.0 = RelWithDebInfo|x64
+		{78446125-FFDC-3CD8-BCBA-52E191038A34}.ReleaseLib_win32|Any CPU.ActiveCfg = RelWithDebInfo|x64
+		{78446125-FFDC-3CD8-BCBA-52E191038A34}.ReleaseLib_win32|Any CPU.Build.0 = RelWithDebInfo|x64
+		{78446125-FFDC-3CD8-BCBA-52E191038A34}.ReleaseLib_win32|x64.ActiveCfg = Release|x64
+		{78446125-FFDC-3CD8-BCBA-52E191038A34}.ReleaseLib_win32|x64.Build.0 = Release|x64
+		{78446125-FFDC-3CD8-BCBA-52E191038A34}.ReleaseLib_win32|x86.ActiveCfg = RelWithDebInfo|x64
+		{78446125-FFDC-3CD8-BCBA-52E191038A34}.ReleaseLib_win32|x86.Build.0 = RelWithDebInfo|x64
+		{78446125-FFDC-3CD8-BCBA-52E191038A34}.ReleaseLib|Any CPU.ActiveCfg = RelWithDebInfo|x64
+		{78446125-FFDC-3CD8-BCBA-52E191038A34}.ReleaseLib|Any CPU.Build.0 = RelWithDebInfo|x64
+		{78446125-FFDC-3CD8-BCBA-52E191038A34}.ReleaseLib|x64.ActiveCfg = Release|x64
+		{78446125-FFDC-3CD8-BCBA-52E191038A34}.ReleaseLib|x64.Build.0 = Release|x64
+		{78446125-FFDC-3CD8-BCBA-52E191038A34}.ReleaseLib|x86.ActiveCfg = RelWithDebInfo|x64
+		{78446125-FFDC-3CD8-BCBA-52E191038A34}.ReleaseLib|x86.Build.0 = RelWithDebInfo|x64
+		{78446125-FFDC-3CD8-BCBA-52E191038A34}.RelWithDebInfo|Any CPU.ActiveCfg = RelWithDebInfo|x64
+		{78446125-FFDC-3CD8-BCBA-52E191038A34}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
+		{78446125-FFDC-3CD8-BCBA-52E191038A34}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
+		{78446125-FFDC-3CD8-BCBA-52E191038A34}.RelWithDebInfo|x86.ActiveCfg = RelWithDebInfo|x64
+		{3EF5E2A0-3D11-3500-9E55-D31AE9FCDB08}.Beta|Any CPU.ActiveCfg = RelWithDebInfo|x64
+		{3EF5E2A0-3D11-3500-9E55-D31AE9FCDB08}.Beta|Any CPU.Build.0 = RelWithDebInfo|x64
+		{3EF5E2A0-3D11-3500-9E55-D31AE9FCDB08}.Beta|x64.ActiveCfg = RelWithDebInfo|x64
+		{3EF5E2A0-3D11-3500-9E55-D31AE9FCDB08}.Beta|x64.Build.0 = RelWithDebInfo|x64
+		{3EF5E2A0-3D11-3500-9E55-D31AE9FCDB08}.Beta|x86.ActiveCfg = RelWithDebInfo|x64
+		{3EF5E2A0-3D11-3500-9E55-D31AE9FCDB08}.Beta|x86.Build.0 = RelWithDebInfo|x64
+		{3EF5E2A0-3D11-3500-9E55-D31AE9FCDB08}.Debug|Any CPU.ActiveCfg = Debug|x64
+		{3EF5E2A0-3D11-3500-9E55-D31AE9FCDB08}.Debug|x64.ActiveCfg = Debug|x64
+		{3EF5E2A0-3D11-3500-9E55-D31AE9FCDB08}.Debug|x64.Build.0 = Debug|x64
+		{3EF5E2A0-3D11-3500-9E55-D31AE9FCDB08}.Debug|x86.ActiveCfg = Debug|x64
+		{3EF5E2A0-3D11-3500-9E55-D31AE9FCDB08}.MinSizeRel|Any CPU.ActiveCfg = MinSizeRel|x64
+		{3EF5E2A0-3D11-3500-9E55-D31AE9FCDB08}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
+		{3EF5E2A0-3D11-3500-9E55-D31AE9FCDB08}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
+		{3EF5E2A0-3D11-3500-9E55-D31AE9FCDB08}.MinSizeRel|x86.ActiveCfg = MinSizeRel|x64
+		{3EF5E2A0-3D11-3500-9E55-D31AE9FCDB08}.Release|Any CPU.ActiveCfg = Release|x64
+		{3EF5E2A0-3D11-3500-9E55-D31AE9FCDB08}.Release|x64.ActiveCfg = Release|x64
+		{3EF5E2A0-3D11-3500-9E55-D31AE9FCDB08}.Release|x64.Build.0 = Release|x64
+		{3EF5E2A0-3D11-3500-9E55-D31AE9FCDB08}.Release|x86.ActiveCfg = Release|x64
+		{3EF5E2A0-3D11-3500-9E55-D31AE9FCDB08}.ReleaseCompile|Any CPU.ActiveCfg = RelWithDebInfo|x64
+		{3EF5E2A0-3D11-3500-9E55-D31AE9FCDB08}.ReleaseCompile|Any CPU.Build.0 = RelWithDebInfo|x64
+		{3EF5E2A0-3D11-3500-9E55-D31AE9FCDB08}.ReleaseCompile|x64.ActiveCfg = Release|x64
+		{3EF5E2A0-3D11-3500-9E55-D31AE9FCDB08}.ReleaseCompile|x64.Build.0 = Release|x64
+		{3EF5E2A0-3D11-3500-9E55-D31AE9FCDB08}.ReleaseCompile|x86.ActiveCfg = RelWithDebInfo|x64
+		{3EF5E2A0-3D11-3500-9E55-D31AE9FCDB08}.ReleaseCompile|x86.Build.0 = RelWithDebInfo|x64
+		{3EF5E2A0-3D11-3500-9E55-D31AE9FCDB08}.ReleaseLib_win32|Any CPU.ActiveCfg = RelWithDebInfo|x64
+		{3EF5E2A0-3D11-3500-9E55-D31AE9FCDB08}.ReleaseLib_win32|Any CPU.Build.0 = RelWithDebInfo|x64
+		{3EF5E2A0-3D11-3500-9E55-D31AE9FCDB08}.ReleaseLib_win32|x64.ActiveCfg = Release|x64
+		{3EF5E2A0-3D11-3500-9E55-D31AE9FCDB08}.ReleaseLib_win32|x64.Build.0 = Release|x64
+		{3EF5E2A0-3D11-3500-9E55-D31AE9FCDB08}.ReleaseLib_win32|x86.ActiveCfg = RelWithDebInfo|x64
+		{3EF5E2A0-3D11-3500-9E55-D31AE9FCDB08}.ReleaseLib_win32|x86.Build.0 = RelWithDebInfo|x64
+		{3EF5E2A0-3D11-3500-9E55-D31AE9FCDB08}.ReleaseLib|Any CPU.ActiveCfg = RelWithDebInfo|x64
+		{3EF5E2A0-3D11-3500-9E55-D31AE9FCDB08}.ReleaseLib|Any CPU.Build.0 = RelWithDebInfo|x64
+		{3EF5E2A0-3D11-3500-9E55-D31AE9FCDB08}.ReleaseLib|x64.ActiveCfg = Release|x64
+		{3EF5E2A0-3D11-3500-9E55-D31AE9FCDB08}.ReleaseLib|x64.Build.0 = Release|x64
+		{3EF5E2A0-3D11-3500-9E55-D31AE9FCDB08}.ReleaseLib|x86.ActiveCfg = RelWithDebInfo|x64
+		{3EF5E2A0-3D11-3500-9E55-D31AE9FCDB08}.ReleaseLib|x86.Build.0 = RelWithDebInfo|x64
+		{3EF5E2A0-3D11-3500-9E55-D31AE9FCDB08}.RelWithDebInfo|Any CPU.ActiveCfg = RelWithDebInfo|x64
+		{3EF5E2A0-3D11-3500-9E55-D31AE9FCDB08}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
+		{3EF5E2A0-3D11-3500-9E55-D31AE9FCDB08}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
+		{3EF5E2A0-3D11-3500-9E55-D31AE9FCDB08}.RelWithDebInfo|x86.ActiveCfg = RelWithDebInfo|x64
+		{763BAFFB-47C2-3800-B47A-C5FAC57B0B10}.Beta|Any CPU.ActiveCfg = RelWithDebInfo|x64
+		{763BAFFB-47C2-3800-B47A-C5FAC57B0B10}.Beta|Any CPU.Build.0 = RelWithDebInfo|x64
+		{763BAFFB-47C2-3800-B47A-C5FAC57B0B10}.Beta|x64.ActiveCfg = RelWithDebInfo|x64
+		{763BAFFB-47C2-3800-B47A-C5FAC57B0B10}.Beta|x64.Build.0 = RelWithDebInfo|x64
+		{763BAFFB-47C2-3800-B47A-C5FAC57B0B10}.Beta|x86.ActiveCfg = RelWithDebInfo|x64
+		{763BAFFB-47C2-3800-B47A-C5FAC57B0B10}.Beta|x86.Build.0 = RelWithDebInfo|x64
+		{763BAFFB-47C2-3800-B47A-C5FAC57B0B10}.Debug|Any CPU.ActiveCfg = Debug|x64
+		{763BAFFB-47C2-3800-B47A-C5FAC57B0B10}.Debug|x64.ActiveCfg = Debug|x64
+		{763BAFFB-47C2-3800-B47A-C5FAC57B0B10}.Debug|x64.Build.0 = Debug|x64
+		{763BAFFB-47C2-3800-B47A-C5FAC57B0B10}.Debug|x86.ActiveCfg = Debug|x64
+		{763BAFFB-47C2-3800-B47A-C5FAC57B0B10}.MinSizeRel|Any CPU.ActiveCfg = MinSizeRel|x64
+		{763BAFFB-47C2-3800-B47A-C5FAC57B0B10}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
+		{763BAFFB-47C2-3800-B47A-C5FAC57B0B10}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
+		{763BAFFB-47C2-3800-B47A-C5FAC57B0B10}.MinSizeRel|x86.ActiveCfg = MinSizeRel|x64
+		{763BAFFB-47C2-3800-B47A-C5FAC57B0B10}.Release|Any CPU.ActiveCfg = Release|x64
+		{763BAFFB-47C2-3800-B47A-C5FAC57B0B10}.Release|x64.ActiveCfg = Release|x64
+		{763BAFFB-47C2-3800-B47A-C5FAC57B0B10}.Release|x64.Build.0 = Release|x64
+		{763BAFFB-47C2-3800-B47A-C5FAC57B0B10}.Release|x86.ActiveCfg = Release|x64
+		{763BAFFB-47C2-3800-B47A-C5FAC57B0B10}.ReleaseCompile|Any CPU.ActiveCfg = RelWithDebInfo|x64
+		{763BAFFB-47C2-3800-B47A-C5FAC57B0B10}.ReleaseCompile|Any CPU.Build.0 = RelWithDebInfo|x64
+		{763BAFFB-47C2-3800-B47A-C5FAC57B0B10}.ReleaseCompile|x64.ActiveCfg = Release|x64
+		{763BAFFB-47C2-3800-B47A-C5FAC57B0B10}.ReleaseCompile|x64.Build.0 = Release|x64
+		{763BAFFB-47C2-3800-B47A-C5FAC57B0B10}.ReleaseCompile|x86.ActiveCfg = RelWithDebInfo|x64
+		{763BAFFB-47C2-3800-B47A-C5FAC57B0B10}.ReleaseCompile|x86.Build.0 = RelWithDebInfo|x64
+		{763BAFFB-47C2-3800-B47A-C5FAC57B0B10}.ReleaseLib_win32|Any CPU.ActiveCfg = RelWithDebInfo|x64
+		{763BAFFB-47C2-3800-B47A-C5FAC57B0B10}.ReleaseLib_win32|Any CPU.Build.0 = RelWithDebInfo|x64
+		{763BAFFB-47C2-3800-B47A-C5FAC57B0B10}.ReleaseLib_win32|x64.ActiveCfg = Release|x64
+		{763BAFFB-47C2-3800-B47A-C5FAC57B0B10}.ReleaseLib_win32|x64.Build.0 = Release|x64
+		{763BAFFB-47C2-3800-B47A-C5FAC57B0B10}.ReleaseLib_win32|x86.ActiveCfg = RelWithDebInfo|x64
+		{763BAFFB-47C2-3800-B47A-C5FAC57B0B10}.ReleaseLib_win32|x86.Build.0 = RelWithDebInfo|x64
+		{763BAFFB-47C2-3800-B47A-C5FAC57B0B10}.ReleaseLib|Any CPU.ActiveCfg = RelWithDebInfo|x64
+		{763BAFFB-47C2-3800-B47A-C5FAC57B0B10}.ReleaseLib|Any CPU.Build.0 = RelWithDebInfo|x64
+		{763BAFFB-47C2-3800-B47A-C5FAC57B0B10}.ReleaseLib|x64.ActiveCfg = Release|x64
+		{763BAFFB-47C2-3800-B47A-C5FAC57B0B10}.ReleaseLib|x64.Build.0 = Release|x64
+		{763BAFFB-47C2-3800-B47A-C5FAC57B0B10}.ReleaseLib|x86.ActiveCfg = RelWithDebInfo|x64
+		{763BAFFB-47C2-3800-B47A-C5FAC57B0B10}.ReleaseLib|x86.Build.0 = RelWithDebInfo|x64
+		{763BAFFB-47C2-3800-B47A-C5FAC57B0B10}.RelWithDebInfo|Any CPU.ActiveCfg = RelWithDebInfo|x64
+		{763BAFFB-47C2-3800-B47A-C5FAC57B0B10}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
+		{763BAFFB-47C2-3800-B47A-C5FAC57B0B10}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
+		{763BAFFB-47C2-3800-B47A-C5FAC57B0B10}.RelWithDebInfo|x86.ActiveCfg = RelWithDebInfo|x64
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
 	EndGlobalSection
 	GlobalSection(NestedProjects) = preSolution
-		{C3C7D924-4C68-35A5-9045-7F26637B6375} = {B6752729-7398-46FA-9CF0-DC854C6AB8CA}
-		{3D7B66E9-A446-36CC-82DA-6D662A26EAFA} = {31F92F98-3580-445D-A3DA-D081B427A562}
-		{34853066-B2AD-3072-99D9-7877FA713025} = {31F92F98-3580-445D-A3DA-D081B427A562}
+		{DFA5D1FE-60B6-3D10-87F8-1D5E45C8C5FD} = {B6752729-7398-46FA-9CF0-DC854C6AB8CA}
 		{DBBFBC55-1C20-4D21-AE3B-6E8B14C4FE48} = {1ECB5BD6-B3A0-4135-BA3F-48FC367B61C9}
-		{ED60A757-91FA-30CD-ABC3-5A1FB7696479} = {1ECB5BD6-B3A0-4135-BA3F-48FC367B61C9}
+		{78446125-FFDC-3CD8-BCBA-52E191038A34} = {1ECB5BD6-B3A0-4135-BA3F-48FC367B61C9}
+		{3EF5E2A0-3D11-3500-9E55-D31AE9FCDB08} = {1ECB5BD6-B3A0-4135-BA3F-48FC367B61C9}
+		{763BAFFB-47C2-3800-B47A-C5FAC57B0B10} = {1ECB5BD6-B3A0-4135-BA3F-48FC367B61C9}
 	EndGlobalSection
 	GlobalSection(ExtensibilityGlobals) = postSolution
 		SolutionGuid = {5C2901E8-26FE-444A-A80E-02AF8147CD34}
diff --git a/src/libclient/dbus/instancemanager.cpp b/src/libclient/dbus/instancemanager.cpp
index f245f67e2..bde140974 100644
--- a/src/libclient/dbus/instancemanager.cpp
+++ b/src/libclient/dbus/instancemanager.cpp
@@ -19,11 +19,9 @@
 
 #include "instancemanager.h"
 
-#ifndef _MSC_VER
+#if !defined(ENABLE_LIBWRAP) && !defined(_MSC_VER)
 #include <unistd.h>
-#else
-#include "../../daemon/compat/msvc/unistd.h"
-#endif // !_MSC_VER
+#endif
 
 #include "../globalinstances.h"
 #include "../interfaces/dbuserrorhandleri.h"
diff --git a/src/libclient/lrc.cpp b/src/libclient/lrc.cpp
index 7d4c80e4f..576a3f683 100644
--- a/src/libclient/lrc.cpp
+++ b/src/libclient/lrc.cpp
@@ -21,11 +21,9 @@
 
 #include <locale>
 
-#ifndef _MSC_VER
+#if !defined(ENABLE_LIBWRAP) && !defined(_MSC_VER)
 #include <unistd.h>
-#else
-#include "../../daemon/compat/msvc/unistd.h"
-#endif // !_MSC_VER
+#endif
 
 #include "call_const.h"
 
-- 
GitLab