I was beating my head against CMake + SWIG, trying to get started, but for some reason, I was never actually getting SWIG to generate its intermediates. If I specified things manually on a command line, it worked.

Here was my problem:
I had my SWIG input with a .swg extension, rather than .i - I found the .swg extension to be a more clear indicator that I was using SWIG, but I guess it confuses CMake.