The custom CMakeLists.txt in the port installs headers under `rply/` and
expects `#include <rply/rply.h>` correspondingly as the include.
However, the code samples in the RPly project use a plain `#include
"rply.h"` instead: https://w3.impa.br/~diego/software/rply/
This PR adds `include/rply/` to the `target_include_directories()` to
support both conventions.
The project exports only two distinctly-named headers (`rply.h` and
`rplyfile.h`) so the non-prefixed includes causing a collision somewhere
is unlikely.
Also added license info to vcpkg.json and a usage file.
This PR adds a patch from upstream that fixes C++20 support. [In C++20,
template parameters from the class template are no longer allowed in
constructors and destructors
declarations](https://eel.is/c++draft/diff.cpp17#class-2). The Qhull C++
headers have a few instances of these, and don't compile under compliant
C++20 (or later). Specifically, since version 11, GCC generates an error
diagnostic.
[While this has been fixed in the
upstream](https://github.com/qhull/qhull/pull/122), the slow Qhull
release cycle means it might be quite a while longer until a new
official release it available. It's already been a year and a half since
the fix, [and the next release is still in
alpha](https://github.com/qhull/qhull/wiki#qhull-81-alpha3-20230102)
with no clear timeline. As C++20 becomes more mainstream, I believe it's
important to ensure support for this library.
Recently when I was using vcpkg-qmake, I found that a function in the
`ports/vcpkg-qmake/vcpkg_qmake_configure.cmake` file was repeated:
be9eb66945/ports/vcpkg-qmake/vcpkg_qmake_configure.cmake (L143)
By running this line of code, we will configure the generated `qt.conf`
file. At the same time, if the
`${CURRENT_BUILDTREES_DIR}/${config_triplet}/` path does not exist, we
will also generate it.
Then we back up the environment variables and run the code
be9eb66945/ports/vcpkg-qmake/vcpkg_qmake_configure.cmake (L149)
to generate the existing path above.