mixxxdj / buildserver

Tools for managing the Mixxx build server and build VMs.
12 stars 23 forks source link

WIP Custom windows #1

Closed kain88-de closed 9 years ago

kain88-de commented 9 years ago

With these changes I can build and run mixxx on my local machine I have sound and all tests are passing. I do build without ASIO currently.

chromaprint

cmake also needed to know where to find the fftw3 headers and FFTW3_FFTW_LIBRARY has to point to a *.lib file

taglib

taglib was pretty straight forward to change the solution on the fly. But I also edited the xcopy commands to overwrite the old files always. This was a bit annoying with rebuilds. Is there a special reason why you used xcopy over copy?

portaudio

The default solution you use is configured to use ASIO. I can also use cmake here to generate a solution and disable ASIO. But I had to edit the CMakeList.txt to add a preprocessor definition PA_WDMKS_NO_KSGUID_LIB. If this is not set the build just doesn't work. It is also documented in the PA sources and activated in the solution shipped with PA but there was no way to this in cmake from the CLI. At least I haven't found one. The build script will currently only copy the .lib and .dll files for amd64. I haven't checked what happens if I build i386 binaries.

This works quite fine for me and it doesn't matter which folder I use. I also tried editing the existing solutions to use relative paths but couldn't get it running.

rryan commented 9 years ago

Hm, the problem with this is that CMake doesn't produce Windows XP-compatible solutions. You have to hack up the solution in order to get it into an XP-compatible state.

More generally, the goal of this repo is to produce an exact log of the steps taken to compile the build binaries. Generating the solution on the fly depends on how the installed CMake version does that so it's just one step removed. That's why I pre-generated them and made sure to set them into the right state for our use.