Page 1 of 1

Build directory structure for WinMerge 3.0

PostPosted: Fri Aug 27, 2010 6:00 pm
by gerundt
The windows installer must know where he finds the files for the setup file.

So we should maybe define the build directory structure from WinMerge 3.0?

WinMerge 2.x use the following structure:
  • Build
    • expat
      • X64
    • Manual
    • MergeDebug
    • MergeRelease
    • MergeUnicodeDebug
    • MergeUnicodeRelease
    • pcre
      • X64
    • scew
      • X64
    • ShellExtension
      • release mindependency
      • unicode release mindependency
      • x64 release
    • X64
      • MergeDebug
      • MergeRelease
      • MergeUnicodeDebug
      • MergeUnicodeRelease
  • BuildTmp

For 3.0 it should maybe not so mixed:

  • build
    • release
      • x86
        • gui
        • win-installer
      • x64
        • gui
    • debug
      • x86
        • gui
      • x64
        • gui
  • build-tmp

What do you think?

Re: Build directory structure for WinMerge 3.0

PostPosted: Sat Aug 28, 2010 11:12 am
by gerundt
We should maybe put somewhere the platform (win, mac and linux) in the build structure?

Re: Build directory structure for WinMerge 3.0

PostPosted: Sun Aug 29, 2010 6:06 am
by kimmov
Yes, WinMerge 2.0 is mess to build (from most aspects of it). There is too much legacy that is hard to break and nobody has had time or interest to really fix those things.

Your structure seems more like Windows build structure. I have doubt we can define or specify the general structure. It depends on environment, compiler, OS etc. And we can't force Linux builds to same structure than Windows / Visual Studio builds. It won't work (well).

So I think the most important think is we build each platform according to platform's standards. And I think QMake does good job with that by default. Only for Windows we have more space for our own structuring. And in Window we could use something like your suggestion. I hope we can later build the middle-layer as library so it may need own folder for Windows. But we'll see when it happens.

gerundt wrote:We should maybe put somewhere the platform (win, mac and linux) in the build structure?

Why? Are you considering cross-compiling for other platforms or? Purpose of the different folders have been to separate different targets with similar files produced. Not to tell exactly in which kind of environment the binary will run. If we start adding folders per compiler and architecture etc it gets quite messy again. Remember QtCreator builds with GCC with different structure than Visual Studio and Visual Studio structure probably won't event work with QtCreator / GCC.

Re: Build directory structure for WinMerge 3.0

PostPosted: Sun Aug 29, 2010 12:49 pm
by gerundt
I have no problem with different build directory structures for different platforms. At the moment I need only for the windows installer a defined structure. Because of that, I thought we could talk about the structure. :mrgreen: