build: Do not modify common.init.vcxproj directly

This commit is contained in:
Hennadii Stepanov 2022-04-05 18:58:05 +02:00
parent 2391fb7850
commit ba0bf79a22
No known key found for this signature in database
GPG key ID: 410108112E7EA81F
3 changed files with 7 additions and 13 deletions

View file

@ -22,6 +22,7 @@ bench_bitcoin/bench_bitcoin.vcxproj
libtest_util/libtest_util.vcxproj libtest_util/libtest_util.vcxproj
/bitcoin_config.h /bitcoin_config.h
/common.init.vcxproj
*/Win32 */Win32
libbitcoin_qt/QtGeneratedFiles/* libbitcoin_qt/QtGeneratedFiles/*

View file

@ -39,7 +39,7 @@
<PropertyGroup Condition="'$(Configuration)'=='Release'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)'=='Release'" Label="Configuration">
<LinkIncremental>false</LinkIncremental> <LinkIncremental>false</LinkIncremental>
<UseDebugLibraries>false</UseDebugLibraries> <UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset> <PlatformToolset>@TOOLSET@</PlatformToolset>
<CharacterSet>Unicode</CharacterSet> <CharacterSet>Unicode</CharacterSet>
<GenerateManifest>No</GenerateManifest> <GenerateManifest>No</GenerateManifest>
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName)\</OutDir> <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName)\</OutDir>
@ -49,7 +49,7 @@
<PropertyGroup Condition="'$(Configuration)'=='Debug'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)'=='Debug'" Label="Configuration">
<LinkIncremental>true</LinkIncremental> <LinkIncremental>true</LinkIncremental>
<UseDebugLibraries>true</UseDebugLibraries> <UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset> <PlatformToolset>@TOOLSET@</PlatformToolset>
<CharacterSet>Unicode</CharacterSet> <CharacterSet>Unicode</CharacterSet>
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName)\</OutDir> <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName)\</OutDir>
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir> <IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>

View file

@ -50,13 +50,6 @@ def parse_makefile(makefile):
lib_sources[current_lib] = [] lib_sources[current_lib] = []
break break
def set_common_properties(toolset):
with open(os.path.join(SOURCE_DIR, '../build_msvc/common.init.vcxproj'), 'r', encoding='utf-8') as rfile:
s = rfile.read()
s = re.sub('<PlatformToolset>.*?</PlatformToolset>', '<PlatformToolset>'+toolset+'</PlatformToolset>', s)
with open(os.path.join(SOURCE_DIR, '../build_msvc/common.init.vcxproj'), 'w', encoding='utf-8',newline='\n') as wfile:
wfile.write(s)
def parse_config_into_btc_config(): def parse_config_into_btc_config():
def find_between( s, first, last ): def find_between( s, first, last ):
try: try:
@ -99,11 +92,11 @@ def set_properties(vcxproj_filename, placeholder, content):
def main(): def main():
parser = argparse.ArgumentParser(description='Bitcoin-core msbuild configuration initialiser.') parser = argparse.ArgumentParser(description='Bitcoin-core msbuild configuration initialiser.')
parser.add_argument('-toolset', nargs='?',help='Optionally sets the msbuild platform toolset, e.g. v142 for Visual Studio 2019.' parser.add_argument('-toolset', nargs='?', default=DEFAULT_PLATFORM_TOOLSET,
help='Optionally sets the msbuild platform toolset, e.g. v142 for Visual Studio 2019.'
' default is %s.'%DEFAULT_PLATFORM_TOOLSET) ' default is %s.'%DEFAULT_PLATFORM_TOOLSET)
args = parser.parse_args() args = parser.parse_args()
if args.toolset: set_properties(os.path.join(SOURCE_DIR, '../build_msvc/common.init.vcxproj'), '@TOOLSET@', args.toolset)
set_common_properties(args.toolset)
for makefile_name in os.listdir(SOURCE_DIR): for makefile_name in os.listdir(SOURCE_DIR):
if 'Makefile' in makefile_name: if 'Makefile' in makefile_name:
@ -115,7 +108,7 @@ def main():
content += ' <ClCompile Include="..\\..\\src\\' + source_filename + '">\n' content += ' <ClCompile Include="..\\..\\src\\' + source_filename + '">\n'
content += ' <ObjectFileName>$(IntDir)' + object_filename + '</ObjectFileName>\n' content += ' <ObjectFileName>$(IntDir)' + object_filename + '</ObjectFileName>\n'
content += ' </ClCompile>\n' content += ' </ClCompile>\n'
set_properties(vcxproj_filename, '@SOURCE_FILES@\n', content): set_properties(vcxproj_filename, '@SOURCE_FILES@\n', content)
parse_config_into_btc_config() parse_config_into_btc_config()
copyfile(os.path.join(SOURCE_DIR,'../build_msvc/bitcoin_config.h'), os.path.join(SOURCE_DIR, 'config/bitcoin-config.h')) copyfile(os.path.join(SOURCE_DIR,'../build_msvc/bitcoin_config.h'), os.path.join(SOURCE_DIR, 'config/bitcoin-config.h'))
copyfile(os.path.join(SOURCE_DIR,'../build_msvc/libsecp256k1_config.h'), os.path.join(SOURCE_DIR, 'secp256k1/src/libsecp256k1-config.h')) copyfile(os.path.join(SOURCE_DIR,'../build_msvc/libsecp256k1_config.h'), os.path.join(SOURCE_DIR, 'secp256k1/src/libsecp256k1-config.h'))