Build system for Windows

Ivan Zhakov <[email protected]> Sat, 9 May 2026 23:22:42 +0200
Newsgroups gmane.comp.apache.apr.devel
Message-ID <CAPZho0-1nqndQm+9bR8cqwTAGZCHzmtB_sRWdNTTJvfUpdYchw@mail.gmail.com>
--000000000000d3158f0651691d00
Content-Type: text/plain; charset="UTF-8"

Hi,

Currently apr-trunk has three different ways to build on Windows.

1. Visual C++ 6.0 (.dsw/.dsp)

2. NMake (apr.mak/libapr.mak). Generated during tarbal creation.

3. CMake (CMakeLists.txt)

I suggest to make CMake the only build system for Windows and remove
support for everything else (Visual C++ 6.0 and NMake):
* CMake just works.

* Modern Visual Studio has native support for building CMake projects.

* Visual Studio doesn't have native support for NMake.

* vcpkg has native support for CMake

* Visual C++ 6.0 is really old

* NMake files doesn't support discovery of externals components.

* NMake is only available in tarball and cannot be used for development

-- 
Ivan Zhakov

--000000000000d3158f0651691d00
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>Hi,</div><div><br></div><div>Currently apr-trunk has =
three different ways to build on Windows.</div><div><br></div><div>1. Visua=
l C++ 6.0 (.dsw/.dsp)</div><div><br></div><div>2. NMake (apr.mak/libapr.mak=
). Generated during tarbal creation.</div><div><br></div><div>3. CMake (CMa=
keLists.txt)</div><div><br></div><div>I suggest to make CMake the only buil=
d system for Windows and remove support for everything else (Visual C++ 6.0=
 and NMake):</div><div>* CMake just works.</div><div><br></div><div>* Moder=
n Visual Studio has native support for building CMake projects.</div><div><=
br></div><div>
* Visual Studio doesn&#39;t have native support for NMake.=C2=A0</div><div>=
<br></div><div>* vcpkg has native support for CMake</div><div><br></div><di=
v>* Visual C++ 6.0 is really old=C2=A0</div><div><br></div><div>* NMake fil=
es doesn&#39;t support discovery of externals components.</div><div><br></d=
iv><div>* NMake is only available in tarball and cannot be used for develop=
ment</div><div><br></div><span class=3D"gmail_signature_prefix">-- </span><=
br><div dir=3D"ltr" class=3D"gmail_signature" data-smartmail=3D"gmail_signa=
ture">Ivan Zhakov</div></div>

--000000000000d3158f0651691d00--