src/CMakeLists.txxt is much less messy now.