Summary: Built-in approach for precompiled headers in CMake uses generated .hxx files that include actual precompiled headers. As result it could require a full rebuild after reloading CMake files in CLion. And the compiler have to deal with more levels of indirection. Also CMake uses both --include-pch and --include directives. That also introduces complexity for the compiler. This diff implements alternative approach for precompiled headers. We use CMake language to create precompiled header with its library. And use compiler wrapper to generate .pch file with the same compiler options as other files in appropriate subdir. New approach results in ~630s to build YB from scratch, while original one takes ~750s. Test Plan: Jenkins Reviewers: mbautin Reviewed By: mbautin Subscribers: bogdan, ybase Differential Revision: https://phabricator.dev.yugabyte.com/D14556