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 >