Kitware / TeleSculptor

TeleSculptor: Aerial Photogrammetry Application powered by KWIVER
Other
610 stars 150 forks source link

Can't build Qt on macOS as part of TeleSculptor build #539

Open tfiner opened 2 years ago

tfiner commented 2 years ago

After waiting for all the 3rd party code to be downloaded and built, Qt errors out with:

./qiosurfacegraphicsbuffer.h:54:32: error: use of undeclared identifier 'CGColorSpaceRef'
    void setColorSpace(QCFType<CGColorSpaceRef> colorSpace);

qiosurfacegraphicsbuffer.mm:90:32: error: out-of-line definition of 'setColorSpace' does not match any declaration in 'QIOSurfaceGraphicsBuffer'
void QIOSurfaceGraphicsBuffer::setColorSpace(QCFType<CGColorSpaceRef> colorSpace)
                               ^~~~~~~~~~~~~

This looks like it is a Qt issue with macOS, there's another bug for this exact error on the vcpkg repo. They fixed it with a patch.

The latest commit is 84821cabd2fd60c5fbfeaf61a1948cbced716641. This is on macOS 12.1.

mleotta commented 2 years ago

If you have a patch for Qt we can apply it in Fletch. TeleSculptor uses Fletch to build Qt and other third party packages. Fletch supports applying patches before building (though the patching mechanism is a bit crude with CMake, you need to copy the whole file to be patched).