Fix build system - #5
Conversation
* Split sources/headers to separate src/inlude dirs * Use cmake macros to create plugins instead of operating with string variables * Install in GNU-like manner, install all headers and plugin headers, install also macros * Installation creates also cmake-like targets for cmake projects
rlalik
commented
Jun 23, 2023
This PR fixes many issues with cmake build system although breaks one thing. Before Another fix is to make plugins actually installable. Old I fixed the build system also, like:
Example use of new build system: export PLUTO_DIR=/cvfms/.../Pluto-6.2.0
mkdir build &&cd build
cmake .. -DCMAKE_INSTALL_PREFIX=$PLUTO_DIR -DCMAKE_CXX_STANDARD=14 # or other ROOT standard, as the new ROOT are not properly passing the expected standard but relay on compile features
make install -j30 |
PlutoUser
commented
Jun 23, 2023
I think we should first conclude the Bugfixes, then make a bugfix release and come finally to the new Features. For the new build System I have to check if it is still working with the QA Script. This is quite important. |
PlutoUser
commented
Jul 11, 2023
I will continue working on this one... right? |
rlalik
commented
Jul 11, 2023
Go ahead |
PlutoUser
commented
Jul 11, 2023
I think one should still allow an in-source build. With your new build system the includes of the plugins are copied to include/plugins, and the macros are copied to share. So things are duplicated. Also, I don't think that "share" is the best wording, as it is not where people who are used to it are expecting the macros |
PlutoUser
commented
Jul 11, 2023
Something changed already: |
rlalik
commented
Jul 12, 2023
If the installation would go into standard linux location (some users may want this) then putting macros somewhere else than |
This is mainly rework of the build system to simplify things and take advantage of modern cmake features.
Significant changes: