Skip to content

[Bug] Build this repo failed on windows #557

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
Thaina opened this issue Dec 1, 2022 · 31 comments
Closed

[Bug] Build this repo failed on windows #557

Thaina opened this issue Dec 1, 2022 · 31 comments
Labels
needs-attention Need Googler's attention type: question

Comments

@Thaina
Copy link
Contributor

Thaina commented Dec 1, 2022

[REQUIRED] Please fill in the following fields:

  • Unity editor version: 2022.1.16f1
  • Firebase Unity SDK version: latest from repo
  • Source you installed the SDK: git repo
  • Problematic Firebase Component: source code
  • Other Firebase Components in use: -
  • Additional SDKs you are using: -
  • Platform you are using the Unity editor on: Windows
  • Platform you are targeting: Android
  • Scripting Runtime: -
  • Pre-built SDK from the website or open-source from this repo: This repo

[REQUIRED] Please describe the issue here:

Steps to reproduce:

I just clone this repo and run

python scripts/build_scripts/build_zips.py --platform=android

And it just got error below

Relevant Code:

cmd /C "C:\Python311\python.exe c:\Users\Brothers_Model\.vscode\extensions\ms-python.python-2022.18.2\pythonFiles\lib\python\debugpy\adapter/../..\debugpy\launcher 65148 -- C:\Users\Brothers_Model\Documents\git\firebase-unity-sdk/scripts/build_scripts/build_zips.py --platform=android "
I1201 15:47:22.586176 20768 build_zips.py:307] Use ANDROID_NDK_HOME(C:\Program Files\Unity\Hub\Editor\2022.1.16f1\Editor\Data\PlaybackEngines\AndroidPlayer\NDK) cmake toolchain(C:\Program Files\Unity\Hub\Editor\2022.1.16f1\Editor\Data\PlaybackEngines\AndroidPlayer\NDK\build\cmake\android.toolchain.cmake)
I1201 15:47:22.587175 20768 build_zips.py:779] cmake_setup_args is: cmake C:\Users\Brothers_Model\Documents\git\firebase-unity-sdk -DFIREBASE_INCLUDE_UNITY=ON -DFIREBASE_UNITY_BUILD_TESTS=ON -DFIREBASE_CPP_BUILD_STUB_TESTS=ON -DCMAKE_TOOLCHAIN_FILE=C:\Program Files\Unity\Hub\Editor\2022.1.16f1\Editor\Data\PlaybackEngines\AndroidPlayer\NDK\build\cmake\android.toolchain.cmake -DFIREBASE_ANDROID_BUILD=true -DCMAKE_BUILD_TYPE=release -DANDROID_STL=c++_shared
I1201 15:47:22.587175 20768 build_zips.py:781] Build android with multiple architectures armeabi-v7a,arm64-v8a,x86,x86_64
Using Toolchain File: C:\Program Files\Unity\Hub\Editor\2022.1.16f1\Editor\Data\PlaybackEngines\AndroidPlayer\NDK\build\cmake\android.toolchain.cmake
-- ANDROID_PLATFORM not set. Defaulting to minimum supported version
16.
CMake Error at CMakeLists.txt:129 (project):
  Failed to run MSBuild command:

    C:/Program Files/Microsoft Visual Studio/2022/Community/MSBuild/Current/Bin/amd64/MSBuild.exe

  to get the value of VCTargetsPath:

    MSBuild version 17.4.0+18d5aef85 for .NET Framework
    Build started 2022-12-01 15:47:22.
    Project "C:\Users\Brothers_Model\Documents\git\firebase-unity-sdk\android_unity\armeabi-v7a\CMakeFiles\3.25.0\VCTargetsPath.vcxproj" on node 1 (default targets).
    C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\amd64\Microsoft.Common.CurrentVersion.targets(832,5): error : The BaseOutputPath/OutputPath property is not set for project 'VCTargetsPath.vcxproj'.  Please check to make sure that you have specified a valid combination of Configuration and Platform for this project.  Configuration='Debug'  Platform='x64'.  You may be seeing this message because you are trying to build a project without a solution file, and have specified a non-default Configuration or Platform that doesn't exist for this project. [C:\Users\Brothers_Model\Documents\git\firebase-unity-sdk\android_unity\armeabi-v7a\CMakeFiles\3.25.0\VCTargetsPath.vcxproj]
    Done Building Project "C:\Users\Brothers_Model\Documents\git\firebase-unity-sdk\android_unity\armeabi-v7a\CMakeFiles\3.25.0\VCTargetsPath.vcxproj" (default targets) -- FAILED.

    Build FAILED.

    "C:\Users\Brothers_Model\Documents\git\firebase-unity-sdk\android_unity\armeabi-v7a\CMakeFiles\3.25.0\VCTargetsPath.vcxproj" (default target) (1) ->
    (_CheckForInvalidConfigurationAndPlatform target) ->
      C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\amd64\Microsoft.Common.CurrentVersion.targets(832,5): error : The BaseOutputPath/OutputPath property is not set for project 'VCTargetsPath.vcxproj'.  Please check to make sure that you have specified a valid combination of Configuration and Platform for this project.  Configuration='Debug'  Platform='x64'.  You may be seeing this message because you are trying to build a project without a solution file, and have specified a non-default Configuration or Platform that doesn't exist for this project. [C:\Users\Brothers_Model\Documents\git\firebase-unity-sdk\android_unity\armeabi-v7a\CMakeFiles\3.25.0\VCTargetsPath.vcxproj]

        0 Warning(s)
        1 Error(s)

    Time Elapsed 00:00:00.19


  Exit code: 1



-- Configuring incomplete, errors occurred!
See also "C:/Users/Brothers_Model/Documents/git/firebase-unity-sdk/android_unity/armeabi-v7a/CMakeFiles/CMakeOutput.log".
make: *** No targets specified and no makefile found.  Stop.
CPack Error: CPack generator not specified
@google-oss-bot
Copy link

I couldn't figure out how to label this issue, so I've labeled it for a human to triage. Hang tight.

@Thaina Thaina changed the title [Bug] [Bug] Build this repo failed on windows Dec 1, 2022
@paulinon paulinon removed needs-triage new New issue. labels Dec 1, 2022
@paulinon
Copy link
Contributor

paulinon commented Dec 2, 2022

Hi @Thaina,

I found this community post that talks about an error message similar to the one you're facing. There may be a method in this thread that would be helpful for your implementation such as installing MSBuild.exe, reinstalling Visual Studio, and others.

I look forward to your results. If the issue persists, please provide any additional information that could be useful for this investigation (such as your OS version).

@paulinon paulinon added the needs-info Need information for the developer label Dec 2, 2022
@Thaina
Copy link
Contributor Author

Thaina commented Dec 4, 2022

@paulinon I try to see that post and try many things in that post and it seem nothing fix or even related to my case. I can get MSBuild and it was properly in the path. I try to run msbuild on VCTargetsPath.vcxproj directly and the error was the same

What I see is this is the main error

The BaseOutputPath/OutputPath property is not set for project 'VCTargetsPath.vcxproj'

I try to manually add the OutputPath into property and it skip this error into another error about CLANG_5_0 instead

MSBuild version 17.4.0+18d5aef85 for .NET Framework
Build started 2022-12-04 11:51:35.
Project "C:\Users\Thaina\Documents\git\firebase-unity-sdk\android_unity\x86\CMakeFiles\3.25.0\VCTargetsPath.vcxproj" on node 1 (default targets).
C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppBuild.targets(443,5): error MSB8020: The build tools for 'Clang_5_0' a
pplication Type Android (Platform Toolset = 'Clang_5_0') cannot be found. Please install the workflow for this application type and include the build tools for the   
[C:\Users\Thaina\Documents\git\firebase-unity-sdk\android_unity\x86\CMakeFiles\3.25.0\VCTargetsPath.vcxproj]
Done Building Project "C:\Users\Thaina\Documents\git\firebase-unity-sdk\android_unity\x86\CMakeFiles\3.25.0\VCTargetsPath.vcxproj" (default targets) -- FAILED.       


Build FAILED.

"C:\Users\Thaina\Documents\git\firebase-unity-sdk\android_unity\x86\CMakeFiles\3.25.0\VCTargetsPath.vcxproj" (default target) (1) ->
(PrepareForBuild target) ->
  C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppBuild.targets(443,5): error MSB8020: The build tools for 'Clang_5_0' 
 application Type Android (Platform Toolset = 'Clang_5_0') cannot be found. Please install the workflow for this application type and include the build tools for the 
  [C:\Users\Thaina\Documents\git\firebase-unity-sdk\android_unity\x86\CMakeFiles\3.25.0\VCTargetsPath.vcxproj]

    0 Warning(s)
    1 Error(s)

Time Elapsed 00:00:00.22

This is the file that generated at android_unity\x86\CMakeFiles\3.25.0\VCTargetsPath.vcxproj

<?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|x64">
			<Configuration>Debug</Configuration>
			<Platform>x64</Platform>
		</ProjectConfiguration>
	</ItemGroup>
	<PropertyGroup Label="Globals">
		<ProjectGuid>{F3FC6D86-508D-3FB1-96D2-995F08B142EC}</ProjectGuid>
		<Keyword>Android</Keyword>
		<Platform>x64</Platform>
		<ApplicationType>Android</ApplicationType>
		<ApplicationTypeRevision>3.0</ApplicationTypeRevision>
	</PropertyGroup>
	<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>
	<PropertyGroup>
		<PreferredToolArchitecture>x64</PreferredToolArchitecture>
	</PropertyGroup>
	<PropertyGroup Label="Configuration">
		<ConfigurationType>Utility</ConfigurationType>
		<CharacterSet>MultiByte</CharacterSet>
		<PlatformToolset>Clang_5_0</PlatformToolset>
	</PropertyGroup>
	<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>
	<ItemDefinitionGroup>
		<PostBuildEvent>
			<Command>echo VCTargetsPath=$(VCTargetsPath)</Command>
		</PostBuildEvent>
	</ItemDefinitionGroup>
	<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
</Project>

I have Visual Studio 2022 in windows 10. But I mainly use vscode terminal cmd to build this repo, switch to visual studio community cmd still produce the same result

@google-oss-bot google-oss-bot added needs-attention Need Googler's attention and removed needs-info Need information for the developer labels Dec 4, 2022
@AlmostMatt
Copy link
Contributor

We have some GitHub runners that build the Unity SDK on windows. Could you answer the following to help narrow down what might be causing the issue?

Do you encounter similar errors when trying to build for other platforms, such as windows?
python scripts/build_scripts/build_zips.py --platform=windows

Also, since building the Unity SDK from source requires the C++ SDK source to exist as well, have you ever tried to build the C++ SDK? You could try one of the scripts in the firebase-cpp-sdk repo such as
python scripts/gha/build_desktop.py

@AlmostMatt AlmostMatt added needs-info Need information for the developer and removed needs-attention Need Googler's attention labels Dec 12, 2022
@Thaina
Copy link
Contributor Author

Thaina commented Dec 13, 2022

Thank you for your suggestion. I would try that

Build for windows throw difference error. It said it need dotnet 4.5 and after I try to install dotnet 4.5 now it throw error relate to netstandard 2.1

@google-oss-bot google-oss-bot added needs-attention Need Googler's attention and removed needs-info Need information for the developer labels Dec 13, 2022
@DellaBitta
Copy link
Contributor

Hi @Thaina,

Going back to your original post, the first error seems to be that cmake can't find this file:

C:/Program Files/Microsoft Visual Studio/2022/Community/MSBuild/Current/Bin/amd64/MSBuild.exe

Does that path exist on your disk? Perhaps it's simply in a different path..?

@DellaBitta DellaBitta added needs-info Need information for the developer and removed needs-attention Need Googler's attention labels Jan 5, 2023
@Thaina
Copy link
Contributor Author

Thaina commented Jan 6, 2023

@DellaBitta Yes, there is msbuild exist and that path and this error said that it can run msbuild from that path but the error was related to msbuild try to do something with VCTargetsPath.vcxproj

@google-oss-bot google-oss-bot added needs-attention Need Googler's attention and removed needs-info Need information for the developer labels Jan 6, 2023
@DellaBitta
Copy link
Contributor

Hi @Thaina,

I see your point and I apologize for my confusion.

This seems to be a fundamental problem with cmake and/or Visual Studio tools. I'm not sure there's anything in this repo which would cause such an error. I did a search on "to get the value of VCTargetsPath:" and there seem to be a lot of results. This one in particular in the cmake forums hints that some versions of Visual Studio Tools have produced this issue in the past. Also the command line environment might be related.

Would it be possible for you to uninstall and reinstall Visual Studio tools, or maybe try it on a different development machine? Or do you have another version of the Visual Studio tools available to you?

@DellaBitta DellaBitta added needs-info Need information for the developer and removed needs-attention Need Googler's attention labels Jan 6, 2023
@Thaina
Copy link
Contributor Author

Thaina commented Jan 7, 2023

If so then I would like to know which specific version of vs and vs tools you are using have a chance of success though? I have install many version but none of them success. I have use another machine but almost the same vs version have no success

Was there any docker build that install every crucial things ?

@google-oss-bot google-oss-bot added needs-attention Need Googler's attention and removed needs-info Need information for the developer labels Jan 7, 2023
@google-oss-bot google-oss-bot added the stale Don't have recent activity label Jan 27, 2023
@Thaina
Copy link
Contributor Author

Thaina commented Jan 28, 2023

I have try to reinstall windows to clean up any old installation library and package. I try to build this library again

One problem I would like to remark is there is cmake parameter at build script file here

"""
result_args = []
result_args.append('-G Visual Studio 16 2019')
result_args.append('-A x64') # TODO flexibily for x32
result_args.append("-DFIREBASE_PYTHON_HOST_EXECUTABLE:FILEPATH=%s" % sys.executable)
return result_args

The line 433 result_args.append('-G Visual Studio 16 2019') strictly cause this script to fail if I only install visual studio 2022. It cannot find cmake to use properly

I had to change it into result_args.append('-G Visual Studio 17 2022') in my machine and it currently build so far

currently now there is also warning

CMake Deprecation Warning at windows_unity/bin/external/src/firestore-build/external/src/zlib/CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

But maybe not so important

@google-oss-bot google-oss-bot added needs-attention Need Googler's attention and removed stale Don't have recent activity needs-info Need information for the developer labels Jan 28, 2023
@Thaina
Copy link
Contributor Author

Thaina commented Jan 28, 2023

The last build have this kind of start and output

python ./scripts/build_scripts/build_zips.py --platform=windows 

I0129 02:28:53.241926  3116 build_zips.py:788] cmake_setup_args is: cmake C:\Users\Thaina\Documents\git\firebase-unity-sdk -G Visual Studio 17 2022 -A x64 -DFIREBASE_PYTHON_HOST_EXECUTABLE:FILEPATH=C:\Users\Thaina\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe -DFIREBASE_INCLUDE_UNITY=ON -DFIREBASE_UNITY_BUILD_TESTS=ON -DFIREBASE_CPP_BUILD_STUB_TESTS=ON
-- Selecting Windows SDK version 10.0.22000.0 to target Windows 10.0.19045.
-- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE) 
-- Detected Unity version from env-var 'UNITY_ROOT_DIR': C:\Program Files\Unity\Hub\Editor\2022.2.4f1
-- Using Unity root directory: C:\Program Files\Unity\Hub\Editor\2022.2.4f1
-- UNITY_MONO_EXE is C:/Program Files/Unity/Hub/Editor/2022.2.4f1/Editor/Data/MonoBleedingEdge/bin/mono.exe
-- UNITY_CSHARP_BUILD_EXE is C:/Program Files/Unity/Hub/Editor/2022.2.4f1/Editor/Data/MonoBleedingEdge/bin/xbuild.bat
-- Found SWIG: C:/ProgramData/chocolatey/bin/swig.exe (found version "4.0.2")  
-- Found SWIG: C:/ProgramData/chocolatey/bin/swig.exe (found suitable version "4.0.2", minimum required is "3.0.6")  
-- Using Unity root directory: C:\Program Files\Unity\Hub\Editor\2022.2.4f1
-- UNITY_MONO_EXE is C:/Program Files/Unity/Hub/Editor/2022.2.4f1/Editor/Data/MonoBleedingEdge/bin/mono.exe
-- UNITY_CSHARP_BUILD_EXE is C:/Program Files/Unity/Hub/Editor/2022.2.4f1/Editor/Data/MonoBleedingEdge/bin/xbuild.bat
-- Downloading external project dependencies...
CMake Warning (dev) at C:/Program Files/CMake/share/cmake-3.25/Modules/ExternalProject.cmake:3075 (message):
  The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is
  not set.  The policy's OLD behavior will be used.  When using a URL
  download, the timestamps of extracted files should preferably be that of
  the time of extraction, otherwise code that depends on the extracted
  contents might not be rebuilt if the URL changes.  The OLD behavior
  preserves the timestamps from the archive instead, but this is usually not
  what you want.  Update your project to the NEW behavior or specify the
  DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this
  robustness issue.
Very long

CMakeLists.txt:25 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

Getting released firebase-ios-sdk @ CocoaPods-10.4.0
CMake Warning (dev) at C:/Program Files/CMake/share/cmake-3.25/Modules/ExternalProject.cmake:3075 (message):
The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is
not set.  The policy's OLD behavior will be used.  When using a URL
download, the timestamps of extracted files should preferably be that of
the time of extraction, otherwise code that depends on the extracted
contents might not be rebuilt if the URL changes.  The OLD behavior
preserves the timestamps from the archive instead, but this is usually not
what you want.  Update your project to the NEW behavior or specify the
DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this
robustness issue.
Call Stack (most recent call first):
C:/Program Files/CMake/share/cmake-3.25/Modules/ExternalProject.cmake:4185 (_ep_add_download_command)
firestore.cmake:27 (ExternalProject_Add)
firestore.cmake:67 (GetReleasedDep)
CMakeLists.txt:26 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at C:/Program Files/CMake/share/cmake-3.25/Modules/ExternalProject.cmake:3075 (message):
The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is
not set.  The policy's OLD behavior will be used.  When using a URL
download, the timestamps of extracted files should preferably be that of
the time of extraction, otherwise code that depends on the extracted
contents might not be rebuilt if the URL changes.  The OLD behavior
preserves the timestamps from the archive instead, but this is usually not
what you want.  Update your project to the NEW behavior or specify the
DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this
robustness issue.
Call Stack (most recent call first):
C:/Program Files/CMake/share/cmake-3.25/Modules/ExternalProject.cmake:4185 (_ep_add_download_command)
curl.cmake:23 (ExternalProject_Add)
CMakeLists.txt:32 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at C:/Program Files/CMake/share/cmake-3.25/Modules/ExternalProject.cmake:3075 (message):
The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is
not set.  The policy's OLD behavior will be used.  When using a URL
download, the timestamps of extracted files should preferably be that of
the time of extraction, otherwise code that depends on the extracted
contents might not be rebuilt if the URL changes.  The OLD behavior
preserves the timestamps from the archive instead, but this is usually not
what you want.  Update your project to the NEW behavior or specify the
DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this
robustness issue.
Call Stack (most recent call first):
C:/Program Files/CMake/share/cmake-3.25/Modules/ExternalProject.cmake:4185 (_ep_add_download_command)
libuv.cmake:23 (ExternalProject_Add)
CMakeLists.txt:33 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at C:/Program Files/CMake/share/cmake-3.25/Modules/ExternalProject.cmake:3075 (message):
The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is
not set.  The policy's OLD behavior will be used.  When using a URL
download, the timestamps of extracted files should preferably be that of
the time of extraction, otherwise code that depends on the extracted
contents might not be rebuilt if the URL changes.  The OLD behavior
preserves the timestamps from the archive instead, but this is usually not
what you want.  Update your project to the NEW behavior or specify the
DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this
robustness issue.
Call Stack (most recent call first):
C:/Program Files/CMake/share/cmake-3.25/Modules/ExternalProject.cmake:4185 (_ep_add_download_command)
leveldb.cmake:26 (ExternalProject_Add)
CMakeLists.txt:34 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at C:/Program Files/CMake/share/cmake-3.25/Modules/ExternalProject.cmake:3075 (message):
The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is
not set.  The policy's OLD behavior will be used.  When using a URL
download, the timestamps of extracted files should preferably be that of
the time of extraction, otherwise code that depends on the extracted
contents might not be rebuilt if the URL changes.  The OLD behavior
preserves the timestamps from the archive instead, but this is usually not
what you want.  Update your project to the NEW behavior or specify the
DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this
robustness issue.
Call Stack (most recent call first):
C:/Program Files/CMake/share/cmake-3.25/Modules/ExternalProject.cmake:4185 (_ep_add_download_command)
zlib.cmake:21 (ExternalProject_Add)
CMakeLists.txt:36 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at C:/Program Files/CMake/share/cmake-3.25/Modules/ExternalProject.cmake:3075 (message):
The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is
not set.  The policy's OLD behavior will be used.  When using a URL
download, the timestamps of extracted files should preferably be that of
the time of extraction, otherwise code that depends on the extracted
contents might not be rebuilt if the URL changes.  The OLD behavior
preserves the timestamps from the archive instead, but this is usually not
what you want.  Update your project to the NEW behavior or specify the
DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this
robustness issue.
Call Stack (most recent call first):
C:/Program Files/CMake/share/cmake-3.25/Modules/ExternalProject.cmake:4185 (_ep_add_download_command)
googletest.cmake:23 (ExternalProject_Add)
CMakeLists.txt:41 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Download complete.
-- Building external project dependencies...
-- CMake generator: Visual Studio 17 2022
-- CMake generator platform: x64
-- CMake toolchain file:
-- Sub-configure options: -G;Visual Studio 17 2022;-A;x64;-DCMAKE_C_FLAGS_RELEASE="/MD";-DCMAKE_CXX_FLAGS_RELEASE="/MD";-DCMAKE_C_FLAGS_DEBUG="/MDd";-DCMAKE_CXX_FLAGS_DEBUG="/MDd";-DCMAKE_C_FLAGS="/MD";-DCMAKE_CXX_FLAGS="/MD";-DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreadedDLL;-DCMAKE_POSITION_INDEPENDENT_CODE=ON
-- Sub-build options: --config;Release
-- Build of external project dependencies complete.
CMake Deprecation Warning at windows_unity/bin/external/src/firestore/CMakeLists.txt:40 (cmake_policy):
The OLD behavior for policy CMP0058 will be removed from a future version
of CMake.

The cmake-policies(7) manual explains that the OLD behaviors of all
policies are deprecated and that a policy should be set to OLD only under
specific short-term circumstances.  Projects should be ported to the NEW
behavior and not rely on setting a policy to OLD.


-- firebase_execute_process(): running command: C:/Program Files/CMake/bin/cmake.exe -G Visual Studio 17 2022 -DFIREBASE_DOWNLOAD_DIR=C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/downloads -DCMAKE_INSTALL_PREFIX=C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/external/src/firestore-build/opt -DFUZZING=OFF -DDOWNLOAD_BENCHMARK=OFF -DDOWNLOAD_GOOGLETEST=ON -DEXTERNAL_PROJECT_HTTP_HEADER= -DFIREBASE_PYTHON_HOST_EXECUTABLE:FILEPATH=C:/Users/Thaina/AppData/Local/Microsoft/WindowsApps/PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0/python.exe C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/external/src/firestore/cmake/external (working directory: C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/external/src/firestore-build/external)
-- Selecting Windows SDK version 10.0.22000.0 to target Windows 10.0.19045.
CMake Warning (dev) at C:/Program Files/CMake/share/cmake-3.25/Modules/ExternalProject.cmake:3075 (message):
The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is
not set.  The policy's OLD behavior will be used.  When using a URL
download, the timestamps of extracted files should preferably be that of
the time of extraction, otherwise code that depends on the extracted
contents might not be rebuilt if the URL changes.  The OLD behavior
preserves the timestamps from the archive instead, but this is usually not
what you want.  Update your project to the NEW behavior or specify the
DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this
robustness issue.
Call Stack (most recent call first):
C:/Program Files/CMake/share/cmake-3.25/Modules/ExternalProject.cmake:4185 (_ep_add_download_command)
abseil-cpp.cmake:19 (ExternalProject_Add)
CMakeLists.txt:31 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at C:/Program Files/CMake/share/cmake-3.25/Modules/ExternalProject.cmake:3075 (message):
The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is
not set.  The policy's OLD behavior will be used.  When using a URL
download, the timestamps of extracted files should preferably be that of
the time of extraction, otherwise code that depends on the extracted
contents might not be rebuilt if the URL changes.  The OLD behavior
preserves the timestamps from the archive instead, but this is usually not
what you want.  Update your project to the NEW behavior or specify the
DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this
robustness issue.
Call Stack (most recent call first):
C:/Program Files/CMake/share/cmake-3.25/Modules/ExternalProject.cmake:4185 (_ep_add_download_command)
boringssl.cmake:24 (ExternalProject_Add)
CMakeLists.txt:33 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at C:/Program Files/CMake/share/cmake-3.25/Modules/ExternalProject.cmake:3075 (message):
The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is
not set.  The policy's OLD behavior will be used.  When using a URL
download, the timestamps of extracted files should preferably be that of
the time of extraction, otherwise code that depends on the extracted
contents might not be rebuilt if the URL changes.  The OLD behavior
preserves the timestamps from the archive instead, but this is usually not
what you want.  Update your project to the NEW behavior or specify the
DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this
robustness issue.
Call Stack (most recent call first):
C:/Program Files/CMake/share/cmake-3.25/Modules/ExternalProject.cmake:4185 (_ep_add_download_command)
c-ares.cmake:25 (ExternalProject_Add)
CMakeLists.txt:34 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at C:/Program Files/CMake/share/cmake-3.25/Modules/ExternalProject.cmake:3075 (message):
The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is
not set.  The policy's OLD behavior will be used.  When using a URL
download, the timestamps of extracted files should preferably be that of
the time of extraction, otherwise code that depends on the extracted
contents might not be rebuilt if the URL changes.  The OLD behavior
preserves the timestamps from the archive instead, but this is usually not
what you want.  Update your project to the NEW behavior or specify the
DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this
robustness issue.
Call Stack (most recent call first):
C:/Program Files/CMake/share/cmake-3.25/Modules/ExternalProject.cmake:4185 (_ep_add_download_command)
GoogleUtilities.cmake:26 (ExternalProject_Add)
CMakeLists.txt:36 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at C:/Program Files/CMake/share/cmake-3.25/Modules/ExternalProject.cmake:3075 (message):
The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is
not set.  The policy's OLD behavior will be used.  When using a URL
download, the timestamps of extracted files should preferably be that of
the time of extraction, otherwise code that depends on the extracted
contents might not be rebuilt if the URL changes.  The OLD behavior
preserves the timestamps from the archive instead, but this is usually not
what you want.  Update your project to the NEW behavior or specify the
DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this
robustness issue.
Call Stack (most recent call first):
C:/Program Files/CMake/share/cmake-3.25/Modules/ExternalProject.cmake:4185 (_ep_add_download_command)
grpc.cmake:23 (ExternalProject_Add)
CMakeLists.txt:37 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at C:/Program Files/CMake/share/cmake-3.25/Modules/ExternalProject.cmake:3075 (message):
The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is
not set.  The policy's OLD behavior will be used.  When using a URL
download, the timestamps of extracted files should preferably be that of
the time of extraction, otherwise code that depends on the extracted
contents might not be rebuilt if the URL changes.  The OLD behavior
preserves the timestamps from the archive instead, but this is usually not
what you want.  Update your project to the NEW behavior or specify the
DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this
robustness issue.
Call Stack (most recent call first):
C:/Program Files/CMake/share/cmake-3.25/Modules/ExternalProject.cmake:4185 (_ep_add_download_command)
snappy.cmake:23 (ExternalProject_Add)
CMakeLists.txt:38 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- FirebaseSetupPythonInterpreter(LevelDbPatch): Using Python interpreter: C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/external/src/firestore-build/external/pyvenv/LevelDbPatch/Scripts/python.exe
CMake Warning (dev) at C:/Program Files/CMake/share/cmake-3.25/Modules/ExternalProject.cmake:3075 (message):
The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is
not set.  The policy's OLD behavior will be used.  When using a URL
download, the timestamps of extracted files should preferably be that of
the time of extraction, otherwise code that depends on the extracted
contents might not be rebuilt if the URL changes.  The OLD behavior
preserves the timestamps from the archive instead, but this is usually not
what you want.  Update your project to the NEW behavior or specify the
DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this
robustness issue.
Call Stack (most recent call first):
C:/Program Files/CMake/share/cmake-3.25/Modules/ExternalProject.cmake:4185 (_ep_add_download_command)
leveldb.cmake:34 (ExternalProject_Add)
CMakeLists.txt:39 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at C:/Program Files/CMake/share/cmake-3.25/Modules/ExternalProject.cmake:3075 (message):
The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is
not set.  The policy's OLD behavior will be used.  When using a URL
download, the timestamps of extracted files should preferably be that of
the time of extraction, otherwise code that depends on the extracted
contents might not be rebuilt if the URL changes.  The OLD behavior
preserves the timestamps from the archive instead, but this is usually not
what you want.  Update your project to the NEW behavior or specify the
DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this
robustness issue.
Call Stack (most recent call first):
C:/Program Files/CMake/share/cmake-3.25/Modules/ExternalProject.cmake:4185 (_ep_add_download_command)
protobuf.cmake:25 (ExternalProject_Add)
nanopb.cmake:16 (include)
CMakeLists.txt:41 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at C:/Program Files/CMake/share/cmake-3.25/Modules/ExternalProject.cmake:3075 (message):
The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is
not set.  The policy's OLD behavior will be used.  When using a URL
download, the timestamps of extracted files should preferably be that of
the time of extraction, otherwise code that depends on the extracted
contents might not be rebuilt if the URL changes.  The OLD behavior
preserves the timestamps from the archive instead, but this is usually not
what you want.  Update your project to the NEW behavior or specify the
DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this
robustness issue.
Call Stack (most recent call first):
C:/Program Files/CMake/share/cmake-3.25/Modules/ExternalProject.cmake:4185 (_ep_add_download_command)
nanopb.cmake:24 (ExternalProject_Add)
CMakeLists.txt:41 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at C:/Program Files/CMake/share/cmake-3.25/Modules/ExternalProject.cmake:3075 (message):
The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is
not set.  The policy's OLD behavior will be used.  When using a URL
download, the timestamps of extracted files should preferably be that of
the time of extraction, otherwise code that depends on the extracted
contents might not be rebuilt if the URL changes.  The OLD behavior
preserves the timestamps from the archive instead, but this is usually not
what you want.  Update your project to the NEW behavior or specify the
DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this
robustness issue.
Call Stack (most recent call first):
C:/Program Files/CMake/share/cmake-3.25/Modules/ExternalProject.cmake:4185 (_ep_add_download_command)
re2.cmake:24 (ExternalProject_Add)
CMakeLists.txt:43 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Could NOT find ZLIB (missing: ZLIB_LIBRARY ZLIB_INCLUDE_DIR) 
CMake Warning (dev) at C:/Program Files/CMake/share/cmake-3.25/Modules/ExternalProject.cmake:3075 (message):
The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is
not set.  The policy's OLD behavior will be used.  When using a URL
download, the timestamps of extracted files should preferably be that of
the time of extraction, otherwise code that depends on the extracted
contents might not be rebuilt if the URL changes.  The OLD behavior
preserves the timestamps from the archive instead, but this is usually not
what you want.  Update your project to the NEW behavior or specify the
DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this
robustness issue.
Call Stack (most recent call first):
C:/Program Files/CMake/share/cmake-3.25/Modules/ExternalProject.cmake:4185 (_ep_add_download_command)
zlib.cmake:30 (ExternalProject_Add)
CMakeLists.txt:44 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Configuring done
-- Generating done
-- Build files have been written to: C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/external/src/firestore-build/external
-- firebase_execute_process(): running command: C:/Program Files/CMake/bin/cmake.exe --build . -- (working directory: C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/external/src/firestore-build/external)
MSBuild version 17.4.1+9a89d02ff for .NET Framework
Checking Build System
Performing download step (download, verify and extract) for 'GoogleUtilities'
-- Downloading...
   dst='C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/downloads/GoogleUtilities-7.8.0.tar.gz'
   timeout='none'
   inactivity timeout='none'
-- Using src='https://github.com/google/GoogleUtilities/archive/7.8.0.tar.gz'
-- verifying file...
       file='C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/downloads/GoogleUtilities-7.8.0.tar.gz'
-- Downloading... done
-- extracting...
     src='C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/downloads/GoogleUtilities-7.8.0.tar.gz'
     dst='C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/external/src/firestore-build/external/src/GoogleUtilities'
-- extracting... [tar xfz]
-- extracting... [analysis]
-- extracting... [rename]
-- extracting... [clean up]
-- extracting... done
Building Custom Rule C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/external/src/firestore/cmake/external/CMakeLists.txt
No update step for 'GoogleUtilities'
No patch step for 'GoogleUtilities'
No configure step for 'GoogleUtilities'
No build step for 'GoogleUtilities'
No install step for 'GoogleUtilities'
No test step for 'GoogleUtilities'
Completed 'GoogleUtilities'
Performing download step (download, verify and extract) for 'abseil-cpp'
-- Downloading...
   dst='C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/downloads/abseil-cpp-20211102.0.tar.gz'
   timeout='none'
   inactivity timeout='none'
-- Using src='https://github.com/abseil/abseil-cpp/archive/20211102.0.tar.gz'
-- verifying file...
       file='C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/downloads/abseil-cpp-20211102.0.tar.gz'
-- Downloading... done
-- extracting...
     src='C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/downloads/abseil-cpp-20211102.0.tar.gz'
     dst='C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/external/src/firestore-build/external/src/abseil-cpp'
-- extracting... [tar xfz]
-- extracting... [analysis]
-- extracting... [rename]
-- extracting... [clean up]
-- extracting... done
Building Custom Rule C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/external/src/firestore/cmake/external/CMakeLists.txt
No update step for 'abseil-cpp'
No patch step for 'abseil-cpp'
No configure step for 'abseil-cpp'
No build step for 'abseil-cpp'
No install step for 'abseil-cpp'
No test step for 'abseil-cpp'
Completed 'abseil-cpp'
Performing download step (download, verify and extract) for 'boringssl'
-- Downloading...
   dst='C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/downloads/boringssl-b9232f9e27e5668bc0414879dcdedb2a59ea75f2.tar.gz'
   timeout='none'
   inactivity timeout='none'
-- Using src='https://github.com/google/boringssl/archive/b9232f9e27e5668bc0414879dcdedb2a59ea75f2.tar.gz'
-- verifying file...
       file='C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/downloads/boringssl-b9232f9e27e5668bc0414879dcdedb2a59ea75f2.tar.gz'
-- Downloading... done
-- extracting...
     src='C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/downloads/boringssl-b9232f9e27e5668bc0414879dcdedb2a59ea75f2.tar.gz'
     dst='C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/external/src/firestore-build/external/src/boringssl'
-- extracting... [tar xfz]
-- extracting... [analysis]
-- extracting... [rename]
-- extracting... [clean up]
-- extracting... done
Building Custom Rule C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/external/src/firestore/cmake/external/CMakeLists.txt
No update step for 'boringssl'
No patch step for 'boringssl'
No configure step for 'boringssl'
No build step for 'boringssl'
No install step for 'boringssl'
No test step for 'boringssl'
Completed 'boringssl'
Performing download step (download, verify and extract) for 'c-ares'
-- Downloading...
   dst='C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/downloads/c-ares-e982924acee7f7313b4baa4ee5ec000c5e373c30.tar.gz'
   timeout='none'
   inactivity timeout='none'
-- Using src='https://github.com/c-ares/c-ares/archive/e982924acee7f7313b4baa4ee5ec000c5e373c30.tar.gz'
-- [download 2% complete]
-- [download 3% complete]
-- [download 4% complete]
-- [download 5% complete]
-- [download 13% complete]
-- [download 28% complete]
-- [download 49% complete]
-- [download 50% complete]
-- [download 52% complete]
-- [download 57% complete]
-- [download 86% complete]
-- [download 87% complete]
-- [download 100% complete]
-- verifying file...
       file='C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/downloads/c-ares-e982924acee7f7313b4baa4ee5ec000c5e373c30.tar.gz'
-- Downloading... done
-- extracting...
     src='C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/downloads/c-ares-e982924acee7f7313b4baa4ee5ec000c5e373c30.tar.gz'
     dst='C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/external/src/firestore-build/external/src/cares'
-- extracting... [tar xfz]
-- extracting... [analysis]
-- extracting... [rename]
-- extracting... [clean up]
-- extracting... done
Building Custom Rule C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/external/src/firestore/cmake/external/CMakeLists.txt
No update step for 'c-ares'
No patch step for 'c-ares'
No configure step for 'c-ares'
No build step for 'c-ares'
No install step for 'c-ares'
No test step for 'c-ares'
Completed 'c-ares'
Performing update step for 'googletest'
Building Custom Rule C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/external/src/firestore/cmake/external/CMakeLists.txt
No patch step for 'googletest'
No configure step for 'googletest'
No build step for 'googletest'
No install step for 'googletest'
No test step for 'googletest'
Completed 'googletest'
Performing download step (download, verify and extract) for 'grpc'
-- Downloading...
   dst='C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/downloads/grpc-1.44.0.tar.gz'
   timeout='none'
   inactivity timeout='none'
-- Using src='https://github.com/grpc/grpc/archive/v1.44.0.tar.gz'
-- verifying file...
       file='C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/downloads/grpc-1.44.0.tar.gz'
-- Downloading... done
-- extracting...
     src='C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/downloads/grpc-1.44.0.tar.gz'
     dst='C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/external/src/firestore-build/external/src/grpc'
-- extracting... [tar xfz]
-- extracting... [analysis]
-- extracting... [rename]
-- extracting... [clean up]
-- extracting... done
Building Custom Rule C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/external/src/firestore/cmake/external/CMakeLists.txt
No update step for 'grpc'
No patch step for 'grpc'
No configure step for 'grpc'
No build step for 'grpc'
No install step for 'grpc'
No test step for 'grpc'
Completed 'grpc'
Performing download step (download, verify and extract) for 'snappy'
-- Downloading...
   dst='C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/downloads/snappy-1.1.9.tar.gz'
   timeout='none'
   inactivity timeout='none'
-- Using src='https://github.com/google/snappy/archive/refs/tags/1.1.9.tar.gz'
-- verifying file...
       file='C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/downloads/snappy-1.1.9.tar.gz'
-- Downloading... done
-- extracting...
     src='C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/downloads/snappy-1.1.9.tar.gz'
     dst='C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/external/src/firestore-build/external/src/snappy'
-- extracting... [tar xfz]
-- extracting... [analysis]
-- extracting... [rename]
-- extracting... [clean up]
-- extracting... done
Building Custom Rule C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/external/src/firestore/cmake/external/CMakeLists.txt
No update step for 'snappy'
Performing patch step for 'snappy'
'patch' is not recognized as an internal or external command,
operable program or batch file.
C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(247,5): error MSB8066: Custom build for 'C:\Users\Thaina\Documents\git\firebase-unity-sdk\windows_unity\bin\external\src\firestore-build\external\CMakeFiles\631f44860e5cb37320a6dbb4f213c5fe\snappy-download.rule;C:\Users\Thaina\Documents\git\firebase-unity-sdk\windows_unity\bin\external\src\firestore-build\external\CMakeFiles\631f44860e5cb37320a6dbb4f213c5fe\snappy-update.rule;C:\Users\Thaina\Documents\git\firebase-unity-sdk\windows_unity\bin\external\src\firestore-build\external\CMakeFiles\631f44860e5cb37320a6dbb4f213c5fe\snappy-patch.rule;C:\Users\Thaina\Documents\git\firebase-unity-sdk\windows_unity\bin\external\src\firestore-build\external\CMakeFiles\631f44860e5cb37320a6dbb4f213c5fe\snappy-configure.rule;C:\Users\Thaina\Documents\git\firebase-unity-sdk\windows_unity\bin\external\src\firestore-build\external\CMakeFiles\631f44860e5cb37320a6dbb4f213c5fe\snappy-build.rule;C:\Users\Thaina\Documents\git\firebase-unity-sdk\windows_unity\bin\external\src\firestore-build\external\CMakeFiles\631f44860e5cb37320a6dbb4f213c5fe\snappy-install.rule;C:\Users\Thaina\Documents\git\firebase-unity-sdk\windows_unity\bin\external\src\firestore-build\external\CMakeFiles\631f44860e5cb37320a6dbb4f213c5fe\snappy-test.rule;C:\Users\Thaina\Documents\git\firebase-unity-sdk\windows_unity\bin\external\src\firestore-build\external\CMakeFiles\19e793d7952f793ead642f00a2063679\snappy-complete.rule;C:\Users\Thaina\Documents\git\firebase-unity-sdk\windows_unity\bin\external\src\firestore-build\external\CMakeFiles\f908feea524e6dc9c37c6b0796404131\snappy.rule;C:\Users\Thaina\Documents\git\firebase-unity-sdk\windows_unity\bin\external\src\firestore\cmake\external\CMakeLists.txt' exited with code 9009. [C:\Users\Thaina\Documents\git\firebase-unity-sdk\windows_unity\bin\external\src\firestore-build\external\snappy.vcxproj]
Performing download step (download, verify and extract) for 'nanopb'
-- Downloading...
   dst='C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/downloads/nanopb-0.3.9.8.tar.gz'
   timeout='none'
   inactivity timeout='none'
-- Using src='https://github.com/nanopb/nanopb/archive/nanopb-0.3.9.8.tar.gz'
-- verifying file...
       file='C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/downloads/nanopb-0.3.9.8.tar.gz'
-- Downloading... done
-- extracting...
     src='C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/downloads/nanopb-0.3.9.8.tar.gz'
     dst='C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/external/src/firestore-build/external/src/nanopb'
-- extracting... [tar xfz]
-- extracting... [analysis]
-- extracting... [rename]
-- extracting... [clean up]
-- extracting... done
Building Custom Rule C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/external/src/firestore/cmake/external/CMakeLists.txt
No update step for 'nanopb'
Performing patch step for 'nanopb'
'patch' is not recognized as an internal or external command,
operable program or batch file.
C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(247,5): error MSB8066: Custom build for 'C:\Users\Thaina\Documents\git\firebase-unity-sdk\windows_unity\bin\external\src\firestore-build\external\CMakeFiles\bdd0354ca134d175ef561449dc31274a\nanopb-download.rule;C:\Users\Thaina\Documents\git\firebase-unity-sdk\windows_unity\bin\external\src\firestore-build\external\CMakeFiles\bdd0354ca134d175ef561449dc31274a\nanopb-update.rule;C:\Users\Thaina\Documents\git\firebase-unity-sdk\windows_unity\bin\external\src\firestore-build\external\CMakeFiles\bdd0354ca134d175ef561449dc31274a\nanopb-patch.rule;C:\Users\Thaina\Documents\git\firebase-unity-sdk\windows_unity\bin\external\src\firestore-build\external\CMakeFiles\bdd0354ca134d175ef561449dc31274a\nanopb-configure.rule;C:\Users\Thaina\Documents\git\firebase-unity-sdk\windows_unity\bin\external\src\firestore-build\external\CMakeFiles\bdd0354ca134d175ef561449dc31274a\nanopb-build.rule;C:\Users\Thaina\Documents\git\firebase-unity-sdk\windows_unity\bin\external\src\firestore-build\external\CMakeFiles\bdd0354ca134d175ef561449dc31274a\nanopb-install.rule;C:\Users\Thaina\Documents\git\firebase-unity-sdk\windows_unity\bin\external\src\firestore-build\external\CMakeFiles\bdd0354ca134d175ef561449dc31274a\nanopb-test.rule;C:\Users\Thaina\Documents\git\firebase-unity-sdk\windows_unity\bin\external\src\firestore-build\external\CMakeFiles\19e793d7952f793ead642f00a2063679\nanopb-complete.rule;C:\Users\Thaina\Documents\git\firebase-unity-sdk\windows_unity\bin\external\src\firestore-build\external\CMakeFiles\f908feea524e6dc9c37c6b0796404131\nanopb.rule;C:\Users\Thaina\Documents\git\firebase-unity-sdk\windows_unity\bin\external\src\firestore\cmake\external\CMakeLists.txt' exited with code 9009. [C:\Users\Thaina\Documents\git\firebase-unity-sdk\windows_unity\bin\external\src\firestore-build\external\nanopb.vcxproj]
Performing download step (download, verify and extract) for 'protobuf'
-- Downloading...
   dst='C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/downloads/protobuf-29cd005ce1fe1a8fabf11e325cb13006a6646d59.tar.gz'
   timeout='none'
   inactivity timeout='none'
-- Using src='https://github.com/protocolbuffers/protobuf/archive/29cd005ce1fe1a8fabf11e325cb13006a6646d59.tar.gz'
-- verifying file...
       file='C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/downloads/protobuf-29cd005ce1fe1a8fabf11e325cb13006a6646d59.tar.gz'
-- Downloading... done
-- extracting...
     src='C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/downloads/protobuf-29cd005ce1fe1a8fabf11e325cb13006a6646d59.tar.gz'
     dst='C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/external/src/firestore-build/external/src/protobuf'
-- extracting... [tar xfz]
-- extracting... [analysis]
-- extracting... [rename]
-- extracting... [clean up]
-- extracting... done
Building Custom Rule C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/external/src/firestore/cmake/external/CMakeLists.txt
No update step for 'protobuf'
No patch step for 'protobuf'
No configure step for 'protobuf'
No build step for 'protobuf'
No install step for 'protobuf'
No test step for 'protobuf'
Completed 'protobuf'
Performing download step (download, verify and extract) for 're2'
-- Downloading...
   dst='C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/downloads/re2-8e08f47b11b413302749c0d8b17a1c94777495d5.tar.gz'
   timeout='none'
   inactivity timeout='none'
-- Using src='https://github.com/google/re2/archive/8e08f47b11b413302749c0d8b17a1c94777495d5.tar.gz'
-- verifying file...
       file='C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/downloads/re2-8e08f47b11b413302749c0d8b17a1c94777495d5.tar.gz'
-- Downloading... done
-- extracting...
     src='C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/downloads/re2-8e08f47b11b413302749c0d8b17a1c94777495d5.tar.gz'
     dst='C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/external/src/firestore-build/external/src/re2'
-- extracting... [tar xfz]
-- extracting... [analysis]
-- extracting... [rename]
-- extracting... [clean up]
-- extracting... done
Building Custom Rule C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/external/src/firestore/cmake/external/CMakeLists.txt
No update step for 're2'
No patch step for 're2'
No configure step for 're2'
No build step for 're2'
No install step for 're2'
No test step for 're2'
Completed 're2'
Performing download step (download, verify and extract) for 'zlib'
-- verifying file...
       file='C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/downloads/zlib-v1.2.11.tar.gz'
-- File already exists and hash match (skip download):
  file='C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/downloads/zlib-v1.2.11.tar.gz'
  SHA256='629380c90a77b964d896ed37163f5c3a34f6e6d897311f1df2a7016355c45eff'
-- extracting...
     src='C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/downloads/zlib-v1.2.11.tar.gz'
     dst='C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/external/src/firestore-build/external/src/zlib'
-- extracting... [tar xfz]
-- extracting... [analysis]
-- extracting... [rename]
-- extracting... [clean up]
-- extracting... done
Building Custom Rule C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/external/src/firestore/cmake/external/CMakeLists.txt
No update step for 'zlib'
No patch step for 'zlib'
No configure step for 'zlib'
No build step for 'zlib'
No install step for 'zlib'
No test step for 'zlib'
Completed 'zlib'
CMake Error at windows_unity/bin/external/src/firestore/cmake/firebase_utils.cmake:87 (message):
firebase_execute_process(): command failed with non-zero exit code 1:
C:/Program Files/CMake/bin/cmake.exe --build .  -- (working directory:
C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/bin/external/src/firestore-build/external)
Call Stack (most recent call first):
windows_unity/bin/external/src/firestore/cmake/external_rules.cmake:61 (firebase_execute_process)
windows_unity/bin/external/src/firestore/CMakeLists.txt:118 (download_external_sources)

And then end with

-- Configuring incomplete, errors occurred!
See also "C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/CMakeFiles/CMakeOutput.log".
MSBuild version 17.4.1+9a89d02ff for .NET Framework
MSBUILD : error MSB1009: Project file does not exist.
Switch: ALL_BUILD.vcxproj
CPack: Create package using ZIP
CPack: Install projects
CPack: - Install project: firebase_unity []
CPack Error: Error when generating package: firebase_unity
This is output files it mention
The system is: Windows - 10.0.19045 - AMD64
Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded.
Compiler:  
Build flags: 
Id flags:  

The output was:
0
MSBuild version 17.4.1+9a89d02ff for .NET Framework
Build started 2023-01-29 02:24:18.
Project "C:\Users\Thaina\Documents\git\firebase-unity-sdk\windows_unity\CMakeFiles\3.25.0\CompilerIdC\CompilerIdC.vcxproj" on node 1 (default targets).
PrepareForBuild:
  Creating directory "Debug\".
  Creating directory "Debug\CompilerIdC.tlog\".
InitializeBuildStatus:
  Creating "Debug\CompilerIdC.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
ClCompile:
  C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.34.31933\bin\HostX64\x64\CL.exe /c /nologo /W0 /WX- /diagnostics:column /Od /D _MBCS /Gm- /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Fo"Debug\\" /Fd"Debug\vc143.pdb" /external:W0 /Gd /TC /FC /errorReport:queue CMakeCCompilerId.c
  CMakeCCompilerId.c
Link:
  C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.34.31933\bin\HostX64\x64\link.exe /ERRORREPORT:QUEUE /OUT:".\CompilerIdC.exe" /INCREMENTAL:NO /NOLOGO kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /MANIFEST /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /manifest:embed /PDB:".\CompilerIdC.pdb" /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT /IMPLIB:".\CompilerIdC.lib" /MACHINE:X64 Debug\CMakeCCompilerId.obj
  CompilerIdC.vcxproj -> C:\Users\Thaina\Documents\git\firebase-unity-sdk\windows_unity\CMakeFiles\3.25.0\CompilerIdC\CompilerIdC.exe
PostBuildEvent:
  for %%i in (cl.exe) do @echo CMAKE_C_COMPILER=%%~$PATH:i
  :VCEnd
  CMAKE_C_COMPILER=C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.34.31933\bin\Hostx64\x64\cl.exe
FinalizeBuildStatus:
  Deleting file "Debug\CompilerIdC.tlog\unsuccessfulbuild".
  Touching "Debug\CompilerIdC.tlog\CompilerIdC.lastbuildstate".
Done Building Project "C:\Users\Thaina\Documents\git\firebase-unity-sdk\windows_unity\CMakeFiles\3.25.0\CompilerIdC\CompilerIdC.vcxproj" (default targets).

Build succeeded.
    0 Warning(s)
    0 Error(s)

Time Elapsed 00:00:02.65


Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "CompilerIdC.exe"

Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "CompilerIdC.vcxproj"

The C compiler identification is MSVC, found in "C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/CMakeFiles/3.25.0/CompilerIdC/CompilerIdC.exe"

Detecting C compiler ABI info compiled with the following output:
Change Dir: C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/CMakeFiles/CMakeScratch/TryCompile-li821s

Run Build Command(s):C:/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/MSBuild/Current/Bin/amd64/MSBuild.exe cmTC_536f4.vcxproj /p:Configuration=Debug /p:Platform=x64 /p:VisualStudioVersion=17.0 /v:m && MSBuild version 17.4.1+9a89d02ff for .NET Framework

  Microsoft (R) C/C++ Optimizing Compiler Version 19.34.31937 for x64

  Copyright (C) Microsoft Corporation.  All rights reserved.

  cl /c /Zi /W3 /WX- /diagnostics:column /Od /Ob0 /D _MBCS /D WIN32 /D _WINDOWS /D "CMAKE_INTDIR=\"Debug\"" /Gm- /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Fo"cmTC_536f4.dir\Debug\\" /Fd"cmTC_536f4.dir\Debug\vc143.pdb" /external:W3 /Gd /TC /errorReport:queue "C:\Program Files\CMake\share\cmake-3.25\Modules\CMakeCCompilerABI.c"

  CMakeCCompilerABI.c

  cmTC_536f4.vcxproj -> C:\Users\Thaina\Documents\git\firebase-unity-sdk\windows_unity\CMakeFiles\CMakeScratch\TryCompile-li821s\Debug\cmTC_536f4.exe




Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded.
Compiler:  
Build flags: 
Id flags:  

The output was:
0
MSBuild version 17.4.1+9a89d02ff for .NET Framework
Build started 2023-01-29 02:24:25.
Project "C:\Users\Thaina\Documents\git\firebase-unity-sdk\windows_unity\CMakeFiles\3.25.0\CompilerIdCXX\CompilerIdCXX.vcxproj" on node 1 (default targets).
PrepareForBuild:
  Creating directory "Debug\".
  Creating directory "Debug\CompilerIdCXX.tlog\".
InitializeBuildStatus:
  Creating "Debug\CompilerIdCXX.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
ClCompile:
  C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.34.31933\bin\HostX64\x64\CL.exe /c /nologo /W0 /WX- /diagnostics:column /Od /D _MBCS /Gm- /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Fo"Debug\\" /Fd"Debug\vc143.pdb" /external:W0 /Gd /TP /FC /errorReport:queue CMakeCXXCompilerId.cpp
  CMakeCXXCompilerId.cpp
Link:
  C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.34.31933\bin\HostX64\x64\link.exe /ERRORREPORT:QUEUE /OUT:".\CompilerIdCXX.exe" /INCREMENTAL:NO /NOLOGO kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /MANIFEST /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /manifest:embed /PDB:".\CompilerIdCXX.pdb" /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT /IMPLIB:".\CompilerIdCXX.lib" /MACHINE:X64 Debug\CMakeCXXCompilerId.obj
  CompilerIdCXX.vcxproj -> C:\Users\Thaina\Documents\git\firebase-unity-sdk\windows_unity\CMakeFiles\3.25.0\CompilerIdCXX\CompilerIdCXX.exe
PostBuildEvent:
  for %%i in (cl.exe) do @echo CMAKE_CXX_COMPILER=%%~$PATH:i
  :VCEnd
  CMAKE_CXX_COMPILER=C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.34.31933\bin\Hostx64\x64\cl.exe
FinalizeBuildStatus:
  Deleting file "Debug\CompilerIdCXX.tlog\unsuccessfulbuild".
  Touching "Debug\CompilerIdCXX.tlog\CompilerIdCXX.lastbuildstate".
Done Building Project "C:\Users\Thaina\Documents\git\firebase-unity-sdk\windows_unity\CMakeFiles\3.25.0\CompilerIdCXX\CompilerIdCXX.vcxproj" (default targets).

Build succeeded.
    0 Warning(s)
    0 Error(s)

Time Elapsed 00:00:02.03


Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "CompilerIdCXX.exe"

Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "CompilerIdCXX.vcxproj"

The CXX compiler identification is MSVC, found in "C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/CMakeFiles/3.25.0/CompilerIdCXX/CompilerIdCXX.exe"

Detecting CXX compiler ABI info compiled with the following output:
Change Dir: C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/CMakeFiles/CMakeScratch/TryCompile-e38tku

Run Build Command(s):C:/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/MSBuild/Current/Bin/amd64/MSBuild.exe cmTC_ac016.vcxproj /p:Configuration=Debug /p:Platform=x64 /p:VisualStudioVersion=17.0 /v:m && MSBuild version 17.4.1+9a89d02ff for .NET Framework

  Microsoft (R) C/C++ Optimizing Compiler Version 19.34.31937 for x64

  Copyright (C) Microsoft Corporation.  All rights reserved.

  cl /c /Zi /W3 /WX- /diagnostics:column /Od /Ob0 /D _MBCS /D WIN32 /D _WINDOWS /D "CMAKE_INTDIR=\"Debug\"" /Gm- /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /GR /Fo"cmTC_ac016.dir\Debug\\" /Fd"cmTC_ac016.dir\Debug\vc143.pdb" /external:W3 /Gd /TP /errorReport:queue "C:\Program Files\CMake\share\cmake-3.25\Modules\CMakeCXXCompilerABI.cpp"

  CMakeCXXCompilerABI.cpp

  cmTC_ac016.vcxproj -> C:\Users\Thaina\Documents\git\firebase-unity-sdk\windows_unity\CMakeFiles\CMakeScratch\TryCompile-e38tku\Debug\cmTC_ac016.exe

@DellaBitta
Copy link
Contributor

Hi @Thaina ,

It looks like your build system is missing some tools that are standard on linux but not on Windows, like patch.

'patch' is not recognized as an internal or external command

Usually these tools are installed as part of the Git command line tools for Windows, but you can also install it directly from chocolatey as described here. Alternatively, if you have the git command line tools for windows installed, you can attempt to open a git bash session and see if patch exists in the path there.

@DellaBitta DellaBitta added needs-info Need information for the developer and removed needs-attention Need Googler's attention labels Mar 3, 2023
@Thaina
Copy link
Contributor Author

Thaina commented Mar 3, 2023

Thank you very much. After install patch there are many things progress. Some packages start downloaded and call patch (which popping up the security alert though)

Many files have generated in the windows_unity folder. However it seem it not really success as of yet. There are many error about missing tools or wrong path. I will try to do further investigation first for now and will update this issue again in near future

@google-oss-bot google-oss-bot added needs-attention Need Googler's attention and removed needs-info Need information for the developer labels Mar 3, 2023
@DellaBitta
Copy link
Contributor

Ok thanks @Thaina! Looking forward to hearing from you soon.

@DellaBitta DellaBitta added needs-info Need information for the developer and removed needs-attention Need Googler's attention labels Mar 3, 2023
@Thaina
Copy link
Contributor Author

Thaina commented Mar 5, 2023

I try to generate cmake with vscode and this is the farthest I can push

CMake Error at C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.20/Modules/CMakeTestCCompiler.cmake:66 (message):The C compiler

  "C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe"

is not able to compile a simple test program.

It fails with the following output:

  Change Dir: C:/Users/Thaina/Documents/git/firebase-unity-sdk/build/CMakeFiles/CMakeTmp
  
  Run Build Command(s):C:/ProgramData/chocolatey/bin/make.exe -f Makefile cmTC_fa7ec/fast && C:/ProgramData/chocolatey/lib/make/tools/install/bin/make.exe  -f CMakeFiles/cmTC_fa7ec.dir/build.make CMakeFiles/cmTC_fa7ec.dir/build
  make[1]: Entering directory 'C:/Users/Thaina/Documents/git/firebase-unity-sdk/build/CMakeFiles/CMakeTmp'
  Building C object CMakeFiles/cmTC_fa7ec.dir/testCCompiler.c.obj
  "C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/bin/cmake.exe" -E cmake_cl_compile_depends --dep-file=CMakeFiles/cmTC_fa7ec.dir/testCCompiler.c.obj.d --working-dir=C:/Users/Thaina/Documents/git/firebase-unity-sdk/build/CMakeFiles/CMakeTmp --filter-prefix="Note: including file: " -- "C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe"  /nologo   /DWIN32 /D_WINDOWS /W3  /MDd /Zi /Ob0 /Od /RTC1 /showIncludes /FoCMakeFiles/cmTC_fa7ec.dir/testCCompiler.c.obj /FdCMakeFiles/cmTC_fa7ec.dir/ /FS -c C:/Users/Thaina/Documents/git/firebase-unity-sdk/build/CMakeFiles/CMakeTmp/testCCompiler.c
  testCCompiler.c
  Linking C executable cmTC_fa7ec.exe
  "C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/bin/cmake.exe" -E vs_link_exe --intdir=CMakeFiles/cmTC_fa7ec.dir --rc="C:/Program Files (x86)/Windows Kits/10/bin/10.0.22621.0/x64/rc.exe" --mt="C:/Program Files (x86)/Windows Kits/10/bin/10.0.22621.0/x64/mt.exe" --manifests -- "C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/link.exe" /nologo @CMakeFiles/cmTC_fa7ec.dir/objects1.rsp  /out:cmTC_fa7ec.exe /implib:cmTC_fa7ec.lib /pdb:C:/Users/Thaina/Documents/git/firebase-unity-sdk/build/CMakeFiles/CMakeTmp/cmTC_fa7ec.pdb /version:0.0 /machine:x64  /debug /INCREMENTAL /subsystem:console  kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib 
  LINK Pass 1: command "C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/link.exe /nologo @CMakeFiles/cmTC_fa7ec.dir/objects1.rsp /out:cmTC_fa7ec.exe /implib:cmTC_fa7ec.lib /pdb:C:/Users/Thaina/Documents/git/firebase-unity-sdk/build/CMakeFiles/CMakeTmp/cmTC_fa7ec.pdb /version:0.0 /machine:x64 /debug /INCREMENTAL /subsystem:console kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTFILE:CMakeFiles/cmTC_fa7ec.dir/intermediate.manifest CMakeFiles/cmTC_fa7ec.dir/manifest.res" failed (exit code 1104) with the following output:
  LINK : fatal error LNK1104: cannot open file 'kernel32.lib'
  make[1]: *** [CMakeFiles/cmTC_fa7ec.dir/build.make:100: cmTC_fa7ec.exe] Error -1
  make[1]: Leaving directory 'C:/Users/Thaina/Documents/git/firebase-unity-sdk/build/CMakeFiles/CMakeTmp'
  make: *** [Makefile:127: cmTC_fa7ec/fast] Error 2
  
  



CMake will not be able to correctly generate this project.

It seem there is a problem with PATH variable that not configure properly with vs installer. So I try to run cmake generation with visual studio 2019. It has a weird error about ninja

Severity	Code	Description	Project	File	Line	Suppression State
Error		CMake Error:
  Running

   'C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/Ninja/ninja.exe' '-C' 'C:/Users/Thaina/Documents/git/firebase-unity-sdk/out/build/x64-Debug' '-t' 'recompact'

  failed with:

   ninja: error: build.ninja:26542: multiple rules generate cmake_object_order_depends_target_zlib [-w dupbuild=err]		C:\Users\Thaina\Documents\git\firebase-unity-sdk\   ninja		

And running python build script have these kind of error

CMake Error: Unknown argument --target
CMake Error: Run 'cmake --help' for all supported options.
CMake Error at C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/app/cmake_install.cmake:36 (file):
  file INSTALL cannot find
  "C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/app/swig/Firebase.App_fixed.cs":
  File exists.
Call Stack (most recent call first):
  C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/cmake_install.cmake:50 (include)

@google-oss-bot google-oss-bot added needs-attention Need Googler's attention and removed needs-info Need information for the developer labels Mar 5, 2023
@Thaina
Copy link
Contributor Author

Thaina commented Mar 5, 2023

As of today I could say there are so many step missing from the prerequisites to build in windows. I need to install many package and configure many path variable. Also need to hack the set command to inject build tools. I am not sure which one contribute to the progress anymore

@Thaina
Copy link
Contributor Author

Thaina commented Mar 6, 2023

Turn out I need to also add PATH LIB and INCLUDE exactly as the Native Tools Command Prompt for VS 2019 have preset into my machine env var

Another crucial problem I got is the path separator that windows have set normally as \ in most places, that did not work well with this project especially on cmake and ninja

I need to change many env variable about path into /

@Thaina
Copy link
Contributor Author

Thaina commented Mar 6, 2023

Lastly I am stuck with this error when call python build script

I am not sure is it related to error from ninja/cmake

Generating swig/storageCSHARP_wrap_fix.cxx
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(241,5): warning MSB8065: Custom build for item "C:\Users\Thaina
\Documents\git\firebase-unity-sdk\storage\src\swig\storage.i" succeeded, but specified output "c:\users\thaina\documents\git\firebase-unity-sdk\windows_unity\storage\swig\storagein
ternal.cs" has not been created. This may cause incremental build to work incorrectly. [C:\Users\Thaina\Documents\git\firebase-unity-sdk\windows_unity\storage\firebase_storage_swig
.vcxproj]
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(241,5): warning MSB8065: Custom build for item "C:\Users\Thaina
\Documents\git\firebase-unity-sdk\storage\src\swig\storage.i" succeeded, but specified output "c:\users\thaina\documents\git\firebase-unity-sdk\windows_unity\storage\swig\storagein
ternalpinvoke.cs" has not been created. This may cause incremental build to work incorrectly. [C:\Users\Thaina\Documents\git\firebase-unity-sdk\windows_unity\storage\firebase_stora
ge_swig.vcxproj]
cl : command line warning D9002: ignoring unknown option '-fexceptions' [C:\Users\Thaina\Documents\git\firebase-unity-sdk\windows_unity\storage\firebase_storage_swig.vcxproj]
  storageCSHARP_wrap.cxx
  storageCSHARP_wrap_fix.cxx
  Generating Code...
  firebase_storage_swig.vcxproj -> C:\Users\Thaina\Documents\git\firebase-unity-sdk\windows_unity\storage\Release\firebase_storage_swig.lib
     Creating library C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/Release/FirebaseCppApp-10_5_0.lib and object C:/Users/Thaina/Documents/git/firebase-unity-sdk/w
  indows_unity/Release/FirebaseCppApp-10_5_0.exp
libeay32MD.lib(ui_openssl.obj) : error LNK2019: unresolved external symbol __iob_func referenced in function noecho_fgets [C:\Users\Thaina\Documents\git\firebase-unity-sdk\windows_
unity\firebase_app_uni.vcxproj]
ssleay32MD.lib(t1_enc.obj) : error LNK2001: unresolved external symbol __iob_func [C:\Users\Thaina\Documents\git\firebase-unity-sdk\windows_unity\firebase_app_uni.vcxproj]
libeay32MD.lib(cryptlib.obj) : error LNK2001: unresolved external symbol __iob_func [C:\Users\Thaina\Documents\git\firebase-unity-sdk\windows_unity\firebase_app_uni.vcxproj]
libeay32MD.lib(pem_lib.obj) : error LNK2001: unresolved external symbol __iob_func [C:\Users\Thaina\Documents\git\firebase-unity-sdk\windows_unity\firebase_app_uni.vcxproj]
libeay32MD.lib(txt_db.obj) : error LNK2001: unresolved external symbol __iob_func [C:\Users\Thaina\Documents\git\firebase-unity-sdk\windows_unity\firebase_app_uni.vcxproj]
libeay32MD.lib(cryptlib.obj) : error LNK2019: unresolved external symbol _vsnprintf referenced in function OPENSSL_showfatal [C:\Users\Thaina\Documents\git\firebase-unity-sdk\windo
ws_unity\firebase_app_uni.vcxproj]
libeay32MD.lib(cryptlib.obj) : error LNK2019: unresolved external symbol _vsnwprintf referenced in function OPENSSL_showfatal [C:\Users\Thaina\Documents\git\firebase-unity-sdk\wind
ows_unity\firebase_app_uni.vcxproj]
C:\Users\Thaina\Documents\git\firebase-unity-sdk\windows_unity\Release\FirebaseCppApp-10_5_0.dll : fatal error LNK1120: 3 unresolved externals [C:\Users\Thaina\Documents\git\fireba
se-unity-sdk\windows_unity\firebase_app_uni.vcxproj]
CPack: Create package using ZIP
CPack: Install projects
CPack: - Install project: firebase_unity []
CMake Error at C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/cmake_install.cmake:39 (file):
  file INSTALL cannot find
  "C:/Users/Thaina/Documents/git/firebase-unity-sdk/windows_unity/Release/FirebaseCppApp-10_5_0.dll":
  File exists.


CPack Error: Error when generating package: firebase_unity

@Thaina
Copy link
Contributor Author

Thaina commented Mar 6, 2023

I have investigate more and it seem we also need VCTargetsPath env variable

Then it seem the library require zlib so I have found it exist in GNUWin32 but then it has a bug that in zconf.h also include unistd.h that not exist on windows. So I need to patch it with io.h like this

#if defined(_WIN32)
#  include <io.h>
#else
#  include <unistd.h>    /* for SEEK_* and off_t */
#endif

After that it seem the dll are not yet being generated. So I try to run msbuild firesbase_unity.sln in the windows_unity folder manually then it throw this error

"C:\Users\Thaina\Documents\git\firebase-unity-sdk\windows_unity\external\google_minijson_cs.vcxproj" (default target) (194) ->
(CustomBuild target) ->
  C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(241,5): error MSB8066: Custom build for ' 
C:\Users\Thaina\Documents\git\firebase-unity-sdk\windows_unity\CMakeFiles\03b182dbb73068755bc99fe48dd1ea0d\Google.MiniJson.dll.rule;C:\Users\Thaina\Documents\g 
it\firebase-unity-sdk\windows_unity\CMakeFiles\7b194cc40014dfed4fd0162cb4379250\google_minijson_cs.rule' exited with code 1. [C:\Users\Thaina\Documents\git\fir 
ebase-unity-sdk\windows_unity\external\google_minijson_cs.vcxproj]

I have checked the Google.MiniJson.dll.rule google_minijson_cs.rule and also every .dll.rule in the cmake generated folder and it only have this one line of code

image

Now there are also many errors related to atlmfc. I will try to investigate further

@Thaina
Copy link
Contributor Author

Thaina commented Mar 7, 2023

Installing module related to ATL and MFC with vs installer now make yesterday error disappear

But give this error instead

"C:\Users\Thaina\Documents\git\firebase-unity-sdk\windows_unity\firebase_unity.sln" (default target) (1) ->
"C:\Users\Thaina\Documents\git\firebase-unity-sdk\windows_unity\ALL_BUILD.vcxproj.metaproj" (default target) (2) ->
"C:\Users\Thaina\Documents\git\firebase-unity-sdk\windows_unity\analytics\firebase_analytics_cs.vcxproj.metaproj" (default target) (4) ->
"C:\Users\Thaina\Documents\git\firebase-unity-sdk\windows_unity\app\firebase_app_cs.vcxproj.metaproj" (default target) (17) ->
"C:\Users\Thaina\Documents\git\firebase-unity-sdk\windows_unity\firebase_app_uni.vcxproj.metaproj" (default target) (18) ->
"C:\Users\Thaina\Documents\git\firebase-unity-sdk\windows_unity\app\firebase_app_swig.vcxproj.metaproj" (default target) (111) ->
"C:\Users\Thaina\Documents\git\firebase-unity-sdk\windows_unity\app\firebase_app_swig.vcxproj" (default target) (112) ->
(ClCompile target) ->
  C:\Users\Thaina\Documents\git\firebase-unity-sdk\windows_unity\app\swig\appCSHARP_wrap_fix.cxx(469,24): error C2660: 'firebase::App::RegisterLibrary': functi 
on does not take 3 arguments [C:\Users\Thaina\Documents\git\firebase-unity-sdk\windows_unity\app\firebase_app_swig.vcxproj]

    2262 Warning(s)
    1 Error(s)

from this

#else
    for (std::map<std::string, std::string>::const_iterator it =
            libraries.begin(); it != libraries.end(); ++it) {
        const std::string& library = it->first;
        const std::string& version = it->second;
        firebase::App::RegisterLibrary(library.c_str(),
                                       version.c_str(),
                                       nullptr);
    }
#endif

@Thaina
Copy link
Contributor Author

Thaina commented Mar 7, 2023

I can build windows platform at last

This should be the bug I think

const std::string& version = it->second;
firebase::App::RegisterLibrary(library.c_str(),
version.c_str(),
nullptr);
}

firebase::App::RegisterLibrary for windows platform seem to only accept 2 parameter. When I remove the last parameter and rebuild, all dll was then built out and no error left

@Thaina
Copy link
Contributor Author

Thaina commented Mar 7, 2023

Also I need to add

  string(APPEND VAR_REFERENCE "    <Reference Include=\"netstandard\" />\n")

over this line

string(APPEND VAR_REFERENCE " <Reference Include=\"System\" />\n")
string(APPEND VAR_REFERENCE " <Reference Include=\"System.Core\" />\n")

Or else the project will not build properly

@Thaina Thaina mentioned this issue Mar 7, 2023
1 task
@AlmostMatt
Copy link
Contributor

I'm glad you were able to build in the end, and thanks for all the info about problems that you experienced along the way.
I also notice that your PR was merged, so I am closing the issue.
Feel free to reopen if you encounter any additional issues.

@firebase firebase locked and limited conversation to collaborators May 7, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
needs-attention Need Googler's attention type: question
Projects
None yet
Development

No branches or pull requests

6 participants