import os
R = r"C:\Projects\CMSCore"
def w(rel, txt):
p = os.path.join(R, rel)
os.makedirs(os.path.dirname(p), exist_ok=True)
with open(p, "w", encoding="utf-8", newline="\r\n") as f:
f.write(txt.lstrip("\n"))
print(f" OK: {rel}")
# === VCXPROJ: anscloud-common (StaticLibrary) ===
w("anscloud-common/anscloud-common.vcxproj", r'''
Debugx64
Releasex64
17.0
{11111111-1111-4000-8000-000000000001}
anscloudcommon
10.0
StaticLibrarytrue
v143Unicode
StaticLibraryfalse
v143trueUnicode
$(SolutionDir)bin\$(Configuration)\
$(SolutionDir)obj\$(ProjectName)\$(Configuration)\
Level4true
_DEBUG;_LIB;%(PreprocessorDefinitions)
truestdcpp17
$(ProjectDir)include;%(AdditionalIncludeDirectories)
Level4true
NDEBUG;_LIB;%(PreprocessorDefinitions)
truestdcpp17
$(ProjectDir)include;%(AdditionalIncludeDirectories)
''')
# === VCXPROJ: anscloud-device (StaticLibrary) ===
w("anscloud-device/anscloud-device.vcxproj", r'''
Debugx64
Releasex64
17.0
{22222222-2222-4000-8000-000000000002}
ansclouddevice
10.0
StaticLibrarytrue
v143Unicode
StaticLibraryfalse
v143trueUnicode
$(SolutionDir)bin\$(Configuration)\
$(SolutionDir)obj\$(ProjectName)\$(Configuration)\
Level4true
_DEBUG;_LIB;%(PreprocessorDefinitions)
truestdcpp17
$(ProjectDir)include;$(SolutionDir)anscloud-common\include;%(AdditionalIncludeDirectories)
Level4true
NDEBUG;_LIB;%(PreprocessorDefinitions)
truestdcpp17
$(ProjectDir)include;$(SolutionDir)anscloud-common\include;%(AdditionalIncludeDirectories)
{11111111-1111-4000-8000-000000000001}
''')
# === VCXPROJ: anscloud-gateway (StaticLibrary) ===
w("anscloud-gateway/anscloud-gateway.vcxproj", r'''
Debugx64
Releasex64
17.0
{33333333-3333-4000-8000-000000000003}
anscloudgateway
10.0
StaticLibrarytrue
v143Unicode
StaticLibraryfalse
v143trueUnicode
$(SolutionDir)bin\$(Configuration)\
$(SolutionDir)obj\$(ProjectName)\$(Configuration)\
Level4true
_DEBUG;_LIB;%(PreprocessorDefinitions)
truestdcpp17
$(ProjectDir)include;$(SolutionDir)anscloud-common\include;%(AdditionalIncludeDirectories)
Level4true
NDEBUG;_LIB;%(PreprocessorDefinitions)
truestdcpp17
$(ProjectDir)include;$(SolutionDir)anscloud-common\include;%(AdditionalIncludeDirectories)
{11111111-1111-4000-8000-000000000001}
''')
# === VCXPROJ: test-device (Console Application) ===
w("test-device/test-device.vcxproj", r'''
Debugx64
Releasex64
17.0
{44444444-4444-4000-8000-000000000004}
testdevice
10.0
Applicationtrue
v143Unicode
Applicationfalse
v143trueUnicode
$(SolutionDir)bin\$(Configuration)\
$(SolutionDir)obj\$(ProjectName)\$(Configuration)\
Level4true
_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
truestdcpp17
$(SolutionDir)anscloud-common\include;$(SolutionDir)anscloud-device\include;%(AdditionalIncludeDirectories)
Console
Level4true
NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
truestdcpp17
$(SolutionDir)anscloud-common\include;$(SolutionDir)anscloud-device\include;%(AdditionalIncludeDirectories)
Console
{11111111-1111-4000-8000-000000000001}
{22222222-2222-4000-8000-000000000002}
''')
# === VCXPROJ: test-gateway (Console Application) ===
w("test-gateway/test-gateway.vcxproj", r'''
Debugx64
Releasex64
17.0
{55555555-5555-4000-8000-000000000005}
testgateway
10.0
Applicationtrue
v143Unicode
Applicationfalse
v143trueUnicode
$(SolutionDir)bin\$(Configuration)\
$(SolutionDir)obj\$(ProjectName)\$(Configuration)\
Level4true
_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
truestdcpp17
$(SolutionDir)anscloud-common\include;$(SolutionDir)anscloud-gateway\include;%(AdditionalIncludeDirectories)
Console
Level4true
NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
truestdcpp17
$(SolutionDir)anscloud-common\include;$(SolutionDir)anscloud-gateway\include;%(AdditionalIncludeDirectories)
Console
{11111111-1111-4000-8000-000000000001}
{33333333-3333-4000-8000-000000000003}
''')
print("\n=== All vcxproj files created ===")