r52 / quasar

Stylize your desktop
https://quasardoc.readthedocs.io
GNU General Public License v3.0
10 stars 2 forks source link

tessil libraries not properly linked in CMake lists #12

Closed shodanwashere closed 1 year ago

shodanwashere commented 1 year ago

tessil libraries, specifically but not exclusive to the ordered-map library, are not properly linked to the CMake list files, specifically, the one for the extension-api module, and attempting to link them properly results in a CMP0002 policy conflict.

Attempting to link it was attempted due to a build error: image

I traced it down to the extension-api/CMakeLists.txt which does not make any references to the referenced tsl/ordered-map.h library.

I tried building quasar on Linux Mint 21.1, using Qt 5.15.3, GCC 11.3 and CMake 3.22.1.

r52 commented 1 year ago

As I've commented in the other issue https://github.com/r52/quasar/issues/10#issuecomment-1312633763, the error in finding the tsl libraries actually stem from quasar/CMakeLists.txt not having the include_directories(../include) directive and not in extension-api/CMakeLists.txt which does, but dataserver.cpp which is built in quasar/CMakeLists.txt includes dataextension.h from extension-api/CMakeLists.txt which references tsl libraries that was never included in quasar/CMakeLists.txt.

You can fix this manually on your end for the time being for Quasar v2 by following the instructions I left in https://github.com/r52/quasar/issues/10#issuecomment-1312633763, or you can can check out the beta v3 qt6-refresh branch which I'm actively working on that will unify compilation on all platforms using CMake, but will require Qt 6.4. Unfortunately this new version also breaks a lot of the widgets that have not been updated to match yet. Refer to https://github.com/r52/quasar/blob/qt6-refresh/.github/workflows/build.yml for the config I'm currently using to build the qt6-refresh branch for Linux on GitHub Actions.

As mentioned in #10, I'm no longer updating the v2 code as v3 is coming soon, but I'll close this one as a duplicate of #10. I will close #10 as well once v3 is released.

Cheers