At first, the configure stage failed because your latest commit still
contained a symlink. I then merged 'develop' into my feature branch
where I took care of the symlinks already. I have only learned
yesterday after looking at your code that Windows can correctly handle
paths with mixed separators such as "/a/b\c\d" (well, in most cases -
e.g. "dir /my_dir" will not work because it thinks /my_dir is a
parameter; in Python os.path.split("/a/b\c\d") will not split
correctly). Then, the build worked for most targets, which is great. There were still a few errors with some Windows API functions complaining about path format. There was a lot of errors about various symbols present twice in the same Boost library (program_options). I am not sure yet what to make of that. Can that be related to your define /DBOOST_ALL_DYN_LINK which I did not use? I am using binary build of Boost from http://boost.teeks99.com/. There was a great number of warnings about symbols not being exported. I guess they can be ignored? I have made my edits to the build process available at git://github.com/andreyto/imp-fork-proddl.git in branch feature/vsbuild, in case you want to pick them up. It also replaces a symlink inside scons directory with a Python package that behaves like a symlink when imported. I also kept my version of injecting Python interpreter into imp_execute_process because it can handle multiple COMMAND statements per call, as allowed by CMake execute_process. Andrey On 03/26/2013 05:18 PM, Ben Webb wrote: The latest SVN or git should now build on a 'real' Windows system (there are still a few rough edges, but 'cmake', 'nmake', 'ctest' worked for me). The binary Windows packages should also be updated now. Just a few notes: 1. You need to have some version of Python 2 in your PATH in order for various setup scripts to work. 2. If you don't have avrocpp installed already, you'll need to replace the avro->api symlink in order to build RMF (just go into modules/rmf/dependency/RMF/AvroCpp and replace the avro symlink with a copy of the api subdirectory). This has already been done in RMF upstream, so will work its way into IMP shortly. 3. On Unix a setup_environment.sh script is generated that is used to set necessary environment variables to run IMP tools. On Windows a setup_environment.bat file is generated instead (it need only be run once, not for each command line). 4. cmake will probably need some help finding IMP dependencies. On my system where I have most dependencies built as DLLs I had to add -DCMAKE_CXX_FLAGS='/DBOOST_ALL_DYN_LINK /EHsc /D_HDF5USEDLL_ /DWIN32 /DGSL_DLL'" -Dfftw3_LIBRARY='C:/Program Files/Microsoft Visual Studio 10.0/VC/lib/libfftw3-3.lib' to my cmake invocation. 5. There are still a few symlinks in the repo, so the handful of testcases that use these links will probably fail for now. But I'll address that shortly. Ben |