fluid-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [fluid-dev] FluidSynth 1.1.2 release planning


From: Pedro Lopez-Cabanillas
Subject: Re: [fluid-dev] FluidSynth 1.1.2 release planning
Date: Fri, 16 Jul 2010 17:29:46 +0200
User-agent: KMail/1.9.6 (enterprise 20070904.708012)

On Friday, July 16, 2010, Elimar Green wrote:
> It would be nice to have the MSVC projects working.  I have struggled
> in the past to keep this going, despite the fact I don't personally
> use it.  Fixing it could be deferred to a later release though.

I think that I've explained this before, but let me clarify this issue one  
more time.

There is a directory in the SVN, named "winbuild" containing these hand made  
project files:
* fluidsynth.sln, a VS2008 solution and its MSVC projects (*.vcproj)
* fluidsynth.dsw, a VC6.0 workspace and its MSVC projects (*.dsp)

After the last directory reorganisation and new sources were added, these hand 
made projects are broken. Is that a problem for Windows users using MSVC 
compilers? No! because there is a new CMake based build system which works in 
Windows, has nice GUI front-ends, and can create MSVC projects/solutions. The 
same build system can be used to generate a set of Makefiles for MinGW, and 
it generates Makefiles for Linux, too!

Looking to CMake from another point of view: it doesn't replace Visual Studio, 
or make or nmake. It replaces the auto-tools (automake, autoconf, auto*...) 
generating the required build files (projects/solutions or Makefiles, 
basically). And the question is if you prefer to write Makefiles by hand, or 
use a tool to generate them. Do you prefer to maintain MSVC project files by 
hand, or use CMake to automatically generate them?

Generating MSVC projects by CMake is better than tweaking hand made ones for 
each release, and for each build type. One reason is that MSVC projects 
usually have directory and library names, depending on the options you want 
to build. CMake picks the header directories and libraries, including the 
names into the projects. For instance, you may want to enable/disable Jack 
for Windows, or libsndfile, or PortAudio. Using cmake-gui (the graphic user 
interface of CMake) you just click the offered checkboxes, and then generate 
the MSVC project/solutions. Currently CMake can generate this projects: 
http://www.cmake.org/cmake/help/cmake-2-8-docs.html#section_Generators
* Borland Makefiles
* MSYS Makefiles
* MinGW Makefiles
* NMake Makefiles
* Unix Makefiles
* Visual Studio 6
* Visual Studio 7
* Visual Studio 7 .NET 2003
* Visual Studio 8 2005
* Visual Studio 8 2005 Win64
* Visual Studio 9 2008
* Visual Studio 9 2008 Win64
* Visual Studio 10
* Visual Studio 10 Win64
* Watcom WMake
* CodeBlocks - MinGW Makefiles
* CodeBlocks - Unix Makefiles
* Eclipse CDT4 - MinGW Makefiles
* Eclipse CDT4 - NMake Makefiles
* Eclipse CDT4 - Unix Makefiles

Attached is a screenshot of cmake-gui configuring FluidSynth for Visual Studio 
9 2008. You need to tell the program where is the source code and where you 
want the build directory. The program will prompt you which generator to run, 
you fill some options, and press two buttons:
* Configure: checks the libraries corresponding to your selections. You can 
press this button several times after changing options, until you get your 
best configuration results.
* Generate: once the configuration is successful and you are satisfied, it 
creates the project files.

I don't know if this is enough to motivate you to try it and stop the rants. 
Anyway, I'm not going to maintain the MSVC hand made project files but if 
somebody wants to do so, I don't mind.

Regards,
Pedro

Attachment: cmake_fluid.png
Description: PNG image


reply via email to

[Prev in Thread] Current Thread [Next in Thread]