use CMAKE_SOURCE_DIR variable for winports headers
use CMAKE_INSTALL_PREFIX instead of CMAKE_BINARY_DIR ...

when setting the CMAKE_*_OUTPUT_DIRECTORY. These are only used in install
commands. We want to install to the system, not to the build directory.

This commit also affects the unix build. It should always make sense,
unless cmake's install feature is abused in strange ways...
Tell boost to not request linking to tis libraries...

MSVC allows adding comments to object files via "#pragma comment(...)".
This feature also allows to add comments to the object files that tell
the linker which libraries to link in additionally, whenever such an
object file is linked into a library.
Boost uses this in its headers. Any code using boost headers that require
boost libraries therefore will fail when linked if the library cannot be
found. STP's build system already takes care of linking boost, so this is
not needed in our case. If this automatic linking fails for some reason
it is not readily apparent why this failed.

This patch tells boost not to insert these pragmas into the object files.
vector -> std::vector ...

MSVC seems to require this.
added never-interactive to lex files...

if this is not added the lexer will generate a call to isatty(), which is
not supported on windows.

Not entirely sure if this is good for unix? An alternative solution would
be to add a always-false isatty() somewhere for windows.
use find_package(Perl) find perl...

instead of hardcoding it in the script.

Affects unix, too, but should be good.
don't try to call sbrk on windows...

if I understand the code correctly this is just an optimization. Should
be safe not to do this at all on windows.
merge_static_libraries is broken on windows...

and can likely not be fixed cleanly. This is a workaround, though not a
particularly good one.
leak checking doesn't seem to work for VS11...

though I haven't tried making it work for very long.
old-style variable declaration ...

MSVC seems to require variable declarations at the beginning of functions.
don't declare empty arrays...

MSVC doesn't like this.
use alloca instead of vlas on the stack ...

variable length arrys were only added for C99. Support is optional for C11.
At least MSVC knows alloca, though this is also not supported by all
compilers.
include compdep.h on windows for log2...

log2 is not provided by MSVC.
<msvc/stdint.h> -> "msvc/stdint.h" ...

in various headers in the cryptominisat2 directory. msvc/ is a folder local
to cryptominisat. This implementation of stdint.h is necessary because
MSVC doesn't provide this header at all.

Note that there is another implementaion of stdin.h in STP's windows/
directory. I have no idea what happens if these differ.
minisat requires zlib...

though this isn't used by stp. Could also comment the code out as an
alternative solution.
don't name a method free...

MSVC gets confused by this. Renamed it to _free. Not a good choice either,
but it solves the problem...
don't have zero-sized arrays in structs...

MSVC doesn't like this.
not signals on windows ...

this is non-trivial to port to windows. If you need this you're on your
own...
no signals on windows ...

so we need to comment this out. Now we can't have timeouts on windows. If
you need this do it yourself ;-)
winmin.h behaves strangely with sys/time.h ...

but fortunately these irritatingly strange defines fix this problem for
MSVC.