Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CI #5

Merged
merged 28 commits into from
Mar 13, 2024
Merged

CI #5

merged 28 commits into from
Mar 13, 2024

Conversation

haxscramper
Copy link
Owner

No description provided.

fuck ubuntu, even here it is has packages that are too old. Qt is 6.2.4 and
it misses "qt_standard_project_setup" which I used.
Debian  has boost  1.67, which  is  fine for  the  most stuff  used in  the
library, but  mp11 and describe are  header-only and need to  be the latest
version.
boost library in  debian stable still uses  ~std::unary_function~ which was
removed in cxx 17 and LLVM stdlib I'm using does not work properly with it.
@haxscramper haxscramper force-pushed the feature/ci branch 3 times, most recently from a89ca1d to 9dc0b48 Compare March 10, 2024 13:21
@haxscramper haxscramper changed the title ci: initial CI setup for the docker CI Mar 11, 2024
Both reflection library and main project depend on the abseil and protobuf,
but  with `add_subdirectory`  they were  compiled twice.  Moving them  into
external project would allow the build to be done only once.
abseil google  library cannot be  used with ~ExternalProject_Add~  (it does
not  compile high-level  interface  libraries into  something  that can  be
included by the parent project).

Not possible to create proxy interface library because default behavior for
the static  library builds  is to drop  all the  symbols. ~--whole-archive~
solution does not work with the abseil (for reasons unknown), so there were
no other options for creating a proxy static library.

abseil documentation  says you either need  to use it as  a subdirectory or
install separately.  Because ~ExternalProject_Add~ installation is  done at
the build  time, helper cmake files  that abseil defines cannot  be used in
the  main  project,  meaning  abseil can  only  be  installed  /completely/
separately.

Because in-source build  of google test, protobuf and  google mock requires
an in-source abseil as well this whole thing becomes completely unusable.
Compared  to Doxygen,  sphinx is  a clunky  unintuitive abomination  that I
could not get  working after spending the whole  day, reading documentation
and consulting GPT for just about everything. Doxygen just works out of the
box.
@haxscramper haxscramper merged commit 3fd1498 into master Mar 13, 2024
1 check passed
@haxscramper haxscramper deleted the feature/ci branch March 13, 2024 08:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant