chore: support cmake out-of-source build