Attempt to clean up the path mess in cmake and improve scalability.
Previously, paths such as action search path and config file path had to
be given manually and were likely to be wrong if running make install or
if running the program from the build directory directly.
This commit introduces set_switchable(), along with the
DINDEXER_INST_MODE. Whenever relevant, paths come with a regular and an
INST variant (eg: DINDEXER_QML_PATH and DINDEXER_INST_QML_PATH), which
are CACHE variables so users can customize them and expect their setting
to be persistent.
set_switchable() then sets a CURR variant of the same variable (eg:
DINDEXER_CURR_QML_PATH), which is set to either of the above two values
depending on if DINDEXER_INST_MODE is on or off. This way the rest of
the cmake code can just use the CURR variable and expect it to be set to
the right value.
Looking at this page https://cryptopp.com/wiki/CMake#Using_the_library_in_other_projects
it seems to me there should be or there is going to be a system-wide
official FindCryptoPP module. Those changes should match the case convention
from that page... somewhat. I'm not going to do the cryptopp-shared thing.
So *if* that official module will ever become available on mainstream distros,
and *if* they start using proper names, this file should just be deleted
and everything should keep on working just fine.
Allows to pass -march=native to dindxer projects and to libpqtypes.
CMake min version raised to 3.3 since externalproject_add didn't
support generator expressions prior to that version.