keepassxreboot/keepassxc

CMake notifications of features build status

Closed this issue · 5 comments

When you run CMAKE it does not outline what will or will not be built into the final executable (e.g., autotype, http, and soon to be Yubikey).

Expected Behavior

CMAKE should provide an output at the end of configuration that shows all the features and whether they will be built or not.

Current Behavior

Nothing is shown when a feature is not included.

I was talking about this on IRC with @Manko10 yesterday.

Actually this is not so easy to do, and #50 neither.

Cutting off a feature like Autotype or HTTP will need a lot of #ifdefs in the code so we need to decide the better way to do this.

Autotype and yubikey are already cut out if the libraries are not found.

My issue is it is not entirely obvious to the builder that this happens.

Ok so I will work on this today (If you arent already working on it) 😉

Edit: you know that you can set -DPRINT_SUMMARY=ON to see witch package are required to compile KeePassXC ?

Didn't know that!

My idea spawns from the output of Python CMake which I have contributed to, they have an excellent summary that prints at the end of the configure stage:

-- The following extensions will NOT be built:
-- 
--     cPickle (not set: IS_PY2)
--     cStringIO (not set: IS_PY2)
--     future_builtins (not set: IS_PY2)
--     _hotshot (not set: IS_PY2)
--     operator (not set: IS_PY2)
--     strop (not set: IS_PY2)
--     _scproxy (not set: APPLE HAVE_LIBSYSTEMCONFIGURATION)
--     linuxaudiodev (not set: IS_PY2)
--     _msi (not set: WIN32)
--     msvcrt (not set: MSVC)
--     nt (not set: WIN32)
--     _subprocess (not set: WIN32 IS_PY2)
--     winreg (not set: WIN32)
--     overlapped (not set: WIN32)
--     _winapi (not set: WIN32)
--     _bsddb (not set: DB_LIBRARIES)
--     _tkinter (not set: TCL_INCLUDE_PATH TK_INCLUDE_PATH)

Along with this, we should also probably output the "plugins/mods" that are built into the binary as an output in the About dialog.

Can you take a look at #125 ?
It's still on development, and I like the about dialog idea