Skip to content

Commit

Permalink
gh-108494: Document how to add a project in PCbuild/readme.txt (#110077)
Browse files Browse the repository at this point in the history
Add _testclinic_limited to Tools/msi/test/test_files.wxs.
  • Loading branch information
vstinner committed Oct 2, 2023
1 parent 4d0d1c3 commit 6387b53
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 9 deletions.
28 changes: 28 additions & 0 deletions PCbuild/readme.txt
Original file line number Diff line number Diff line change
Expand Up @@ -293,3 +293,31 @@ project, with some projects overriding certain specific values. The GUI
doesn't always reflect the correct settings and may confuse the user
with false information, especially for settings that automatically adapt
for different configurations.

Add a new project
-----------------

For example, add a new _testclinic_limited project to build a new
_testclinic_limited extension, the file Modules/_testclinic_limited.c:

* In PCbuild/, copy _testclinic.vcxproj to _testclinic_limited.vcxproj,
replace RootNamespace value with `_testclinic_limited`, replace
`_asyncio.c` with `_testclinic_limited.c`.
* Open Visual Studio, open PCbuild\pcbuild.sln solution, add the
PCbuild\_testclinic_limited.vcxproj project to the solution ("add existing
project).
* Add a dependency on the python project to the new _testclinic_limited
project.
* Save and exit Visual Studio.
* Add `;_testclinic_limited` to `<TestModules Include="...">` in
PCbuild\pcbuild.proj.
* Update "exts" in Tools\msi\lib\lib_files.wxs file or in
Tools\msi\test\test_files.wxs file (for tests).
* PC\layout\main.py needs updating if you add a test-only extension whose name
doesn't start with "_test".
* Add the extension to PCbuild\readme.txt (this file).
* Build Python from scratch (clean the solution) to check that the new project
is built successfully.
* Ensure the new .vcxproj and .vcxproj.filters files are added to your commit,
as well as the changes to pcbuild.sln, pcbuild.proj and any other modified
files.
18 changes: 9 additions & 9 deletions Tools/msi/test/test_files.wxs
Original file line number Diff line number Diff line change
@@ -1,41 +1,41 @@
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<?define exts=_testcapi;_ctypes_test;_testbuffer;_testimportmultiple;_testmultiphase;_testsinglephase;_testconsole;_testinternalcapi;_testclinic ?>
<?define exts=_testcapi;_ctypes_test;_testbuffer;_testimportmultiple;_testmultiphase;_testsinglephase;_testconsole;_testinternalcapi;_testclinic;_testclinic_limited ?>
<Fragment>
<ComponentGroup Id="test_extensions">
<?foreach ext in $(var.exts)?>

<Component Id="$(var.ext).pyd" Directory="DLLs" Guid="*">
<File Name="$(var.ext).pyd" KeyPath="yes" />
</Component>

<?endforeach ?>
</ComponentGroup>
</Fragment>

<Fragment>
<ComponentGroup Id="test_extensions_symbols">
<?foreach ext in $(var.exts)?>

<Component Id="$(var.ext).pdb" Directory="DLLs" Guid="*">
<File Name="$(var.ext).pdb" />
</Component>

<?endforeach ?>
</ComponentGroup>
</Fragment>

<Fragment>
<ComponentGroup Id="test_extensions_d">
<?foreach ext in $(var.exts)?>

<Component Id="$(var.ext)_d.pyd" Directory="DLLs" Guid="*">
<File Name="$(var.ext)_d.pyd" />
</Component>
<Component Id="$(var.ext)_d.pdb" Directory="DLLs" Guid="*">
<File Name="$(var.ext)_d.pdb" />
</Component>

<?endforeach ?>
</ComponentGroup>
</Fragment>
Expand Down

0 comments on commit 6387b53

Please sign in to comment.