From 2b6c2bc7af4b1c9c99f17dc1a8e680f528a3f9a8 Mon Sep 17 00:00:00 2001 From: Albrecht Schlosser Date: Tue, 19 Jan 2016 14:02:10 +0000 Subject: [PATCH] Make VisualC2008/2010 projects create FL/abi-version.h (STR #3249). First step towards a hopefully clean creation of FL/abi-version.h for all Windows (Visual Studio) and maybe also Xcode projects (if necessary) in order to "simulate" configure and CMake methods to create this file. I could only modify the VisualC2008 and VisualC2010 project files, because I don't have VisualC6 and/or Xcode. Help needed... To do for remaining directories (ide/VisualC6 and maybe ide/Xcode4): (1) Remove /FL folders including /FL/abi-version.h. (2) Add a Pre-Build event or equivalent on project 'fltk' for all potential build configurations (Debug, Release, ...) (3) Maybe add project dependencies to ensure that the Pre-Build event of project 'fltk' is executed before all other projects. Notes: (a) Command line for Pre-Build events of VS2008/2010: "copy /Y $(SolutionDir)..\..\abi-version.ide $(SolutionDir)..\..\FL\abi-version.h" Something similar should work for VC6 as well. (b) While building the projects I found some wrong output settings in zlib projects. These have been fixed in this commit as well (unrelated). (c) .gitignore has been extended to ignore all intermediate build files of VS2008/VS2010 ide projects. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11010 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- .gitignore | 30 +++++++++++++++++ abi-version.ide | 48 ++++++++++++++++++++++++++ fltk-config.in | 0 ide/VisualC2008/FL/abi-version.h | 58 -------------------------------- ide/VisualC2008/fltk.lib.vcproj | 22 +++++++----- ide/VisualC2008/zlib.vcproj | 4 +-- ide/VisualC2010/FL/abi-version.h | 58 -------------------------------- ide/VisualC2010/fltk.lib.vcxproj | 18 ++++++++-- ide/VisualC2010/fltk.sln | 12 +++++++ ide/VisualC2010/zlib.vcxproj | 10 +++--- 10 files changed, 126 insertions(+), 134 deletions(-) create mode 100644 abi-version.ide mode change 100755 => 100644 fltk-config.in delete mode 100644 ide/VisualC2008/FL/abi-version.h delete mode 100644 ide/VisualC2010/FL/abi-version.h diff --git a/.gitignore b/.gitignore index bd3c5445d..17e5084ec 100644 --- a/.gitignore +++ b/.gitignore @@ -99,6 +99,7 @@ /fluid/*.bck /fluid/*.exe /fluid/*.ilk +/fluid/*.pdb /fluid/TAGS # /fluid/fluid.app/Contents/MacOS/ @@ -107,6 +108,33 @@ # /fluid/pixmaps/ /fluid/pixmaps/*.bck +# /ide/VisualC2008/ +/ide/VisualC2008/fltk.ncb +/ide/VisualC2008/*.pdb +/ide/VisualC2008/*.user +/ide/VisualC2008/*_/ +/ide/VisualC2008/*__0/ +/ide/VisualC2008/fltkdll/ +/ide/VisualC2008/fltkdlld/ +/ide/VisualC2008/Debug/ +/ide/VisualC2008/Debug Cairo/ +/ide/VisualC2008/Release/ +/ide/VisualC2008/Release Cairo/ + +# /ide/VisualC2010/ +/ide/VisualC2010/*.user +/ide/VisualC2010/*_debug/ +/ide/VisualC2010/*_release/ +/ide/VisualC2010/fltk.*sdf +/ide/VisualC2010/fltk.suo +/ide/VisualC2010/fltkdlld.pdb +/ide/VisualC2010/fltkdll/ +/ide/VisualC2010/fltkdlld/ +/ide/VisualC2010/Debug/ +/ide/VisualC2010/Debug Cairo/ +/ide/VisualC2010/Release/ +/ide/VisualC2010/Release Cairo/ + # /ide/Xcode3/ /ide/Xcode3/build @@ -125,6 +153,7 @@ /lib/lib* /lib/*.lib /lib/*.a +/lib/*.bsc # /misc/ /misc/doxystar @@ -138,6 +167,7 @@ /src/*.dylib # /test/ +/test/*.pdb /test/CubeView /test/CubeViewUI.cxx /test/CubeViewUI.h diff --git a/abi-version.ide b/abi-version.ide new file mode 100644 index 000000000..a52a1a4a3 --- /dev/null +++ b/abi-version.ide @@ -0,0 +1,48 @@ +/* + * "$Id$" + * + * Configuration file for the Fast Light Tool Kit (FLTK). + * + * Copyright 1998-2015 by Bill Spitzak and others. + * + * This library is free software. Distribution and use rights are outlined in + * the file "COPYING" which should have been included with this file. If this + * file is missing or damaged, see the license at: + * + * http://www.fltk.org/COPYING.php + * + * Please report all bugs and problems on the following page: + * + * http://www.fltk.org/str.php + */ + +/* + ============================================================================ + Edit with care! This source file (abi-version.ide) is used to + generate FL/abi-version.h by your IDE (Visual C++) build system ! + ---------------------------------------------------------------------------- + If you need to change the ABI configuration, edit abi-version.ide + in the FLTK source (root) directory and "Rebuild Solution". + This will copy abi-version.ide to FL/abi-version.h. + DO NOT edit FL/abi-version.h directly ! + ---------------------------------------------------------------------------- + See below for instructions how to edit abi-version.ide. + The default ABI version (#undef FL_ABI_VERSION) is 1.x.0 (1xx00). + ============================================================================ +*/ +/* + Define FL_ABI_VERSION as 1xxyy for FLTK ABI version 1.x.y. + Use leading zeroes in xx and yy - don't use a leading zero for + the major version number (currently 1). + Replace the line below (#undef FL_ABI_VERSION) with your definition. + + Example: + + #define FL_ABI_VERSION 10302 + */ + +#undef FL_ABI_VERSION + +/* + * End of "$Id$". + */ diff --git a/fltk-config.in b/fltk-config.in old mode 100755 new mode 100644 diff --git a/ide/VisualC2008/FL/abi-version.h b/ide/VisualC2008/FL/abi-version.h deleted file mode 100644 index 7c8959273..000000000 --- a/ide/VisualC2008/FL/abi-version.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * "$Id$" - * - * Configuration file for the Fast Light Tool Kit (FLTK). - * - * Copyright 1998-2015 by Bill Spitzak and others. - * - * This library is free software. Distribution and use rights are outlined in - * the file "COPYING" which should have been included with this file. If this - * file is missing or damaged, see the license at: - * - * http://www.fltk.org/COPYING.php - * - * Please report all bugs and problems on the following page: - * - * http://www.fltk.org/str.php - */ - -/* - ============================================================================ - DO NOT EDIT - This file must be configured BEFORE building FLTK ! - ============================================================================ -*/ - -/* - ============================================================================ - Important note to IDE users: - ============================================================================ - - This file *may* be edited *before* building FLTK with your IDE project, - i.e. in /path/to/fltk/ide//FL/abi-version.h: - - (1) Define FL_ABI_VERSION as described below. - (2) Rebuild the entire FLTK library. - (3) Optional: install files as usual including THIS file. - - DO NOT edit this file after building the FLTK library, i.e. when this - file is already installed in a (system) directory used to build your - programs. - - Editing this file w/o rebuilding the entire FLTK library will change - the ABI and thus render your programs unusable - they may crash or - show other unpredictable errors. You have been warned! - - Define FL_ABI_VERSION as 10x0y for FLTK ABI version 1.x.y . - Do NOT define FL_ABI_VERSION if you want the ABI compatible default build. - - ============================================================================ - End of important note to IDE users. - ============================================================================ -*/ - -/* #undef FL_ABI_VERSION */ - - -/* - * End of "$Id$". - */ diff --git a/ide/VisualC2008/fltk.lib.vcproj b/ide/VisualC2008/fltk.lib.vcproj index 4d4755d86..e95ffeb6d 100644 --- a/ide/VisualC2008/fltk.lib.vcproj +++ b/ide/VisualC2008/fltk.lib.vcproj @@ -26,6 +26,7 @@ > - - @@ -2230,7 +2234,7 @@ /> - - + + @@ -3342,10 +3350,6 @@ RelativePath="..\..\src\fl_gtk.cxx" > - - @@ -5340,7 +5344,7 @@ /> - /FL/abi-version.h: - - (1) Define FL_ABI_VERSION as described below. - (2) Rebuild the entire FLTK library. - (3) Optional: install files as usual including THIS file. - - DO NOT edit this file after building the FLTK library, i.e. when this - file is already installed in a (system) directory used to build your - programs. - - Editing this file w/o rebuilding the entire FLTK library will change - the ABI and thus render your programs unusable - they may crash or - show other unpredictable errors. You have been warned! - - Define FL_ABI_VERSION as 10x0y for FLTK ABI version 1.x.y . - Do NOT define FL_ABI_VERSION if you want the ABI compatible default build. - - ============================================================================ - End of important note to IDE users. - ============================================================================ -*/ - -/* #undef FL_ABI_VERSION */ - - -/* - * End of "$Id$". - */ diff --git a/ide/VisualC2010/fltk.lib.vcxproj b/ide/VisualC2010/fltk.lib.vcxproj index e30058b92..d0a40e129 100644 --- a/ide/VisualC2010/fltk.lib.vcxproj +++ b/ide/VisualC2010/fltk.lib.vcxproj @@ -93,6 +93,9 @@ ..\..\lib\$(ProjectName)d.lib true + + copy /Y $(SolutionDir)..\..\abi-version.ide $(SolutionDir)..\..\FL\abi-version.h + @@ -117,6 +120,9 @@ ..\..\lib\$(ProjectName).lib true + + copy /Y $(SolutionDir)..\..\abi-version.ide $(SolutionDir)..\..\FL\abi-version.h + @@ -142,6 +148,9 @@ ..\..\lib\fltkd.lib true + + copy /Y $(SolutionDir)..\..\abi-version.ide $(SolutionDir)..\..\FL\abi-version.h + @@ -167,6 +176,9 @@ ..\..\lib\fltk.lib true + + copy /Y $(SolutionDir)..\..\abi-version.ide $(SolutionDir)..\..\FL\abi-version.h + @@ -1870,7 +1882,7 @@ %(AdditionalIncludeDirectories) %(PreprocessorDefinitions) - + Disabled %(AdditionalIncludeDirectories) %(PreprocessorDefinitions) @@ -2368,7 +2380,7 @@ %(AdditionalIncludeDirectories) %(PreprocessorDefinitions) - + Disabled %(AdditionalIncludeDirectories) %(PreprocessorDefinitions) @@ -2519,4 +2531,4 @@ - + \ No newline at end of file diff --git a/ide/VisualC2010/fltk.sln b/ide/VisualC2010/fltk.sln index bb864aa4c..6b6adb3dd 100644 --- a/ide/VisualC2010/fltk.sln +++ b/ide/VisualC2010/fltk.sln @@ -53,12 +53,24 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fltk", "fltk.lib.vcxproj", EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fltkdll", "fltkdll.vcxproj", "{F0B8F4BD-955D-43CB-980C-805364D04A25}" + ProjectSection(ProjectDependencies) = postProject + {E070AAFC-9D03-41A3-BC7D-30887EA0D50F} = {E070AAFC-9D03-41A3-BC7D-30887EA0D50F} + EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fltkforms", "fltkforms.vcxproj", "{C17BAB42-F00B-4F71-9DF6-A921511C89EE}" + ProjectSection(ProjectDependencies) = postProject + {E070AAFC-9D03-41A3-BC7D-30887EA0D50F} = {E070AAFC-9D03-41A3-BC7D-30887EA0D50F} + EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fltkgl", "fltkgl.vcxproj", "{F7974A9C-C255-4385-96BC-E24EE0816F7C}" + ProjectSection(ProjectDependencies) = postProject + {E070AAFC-9D03-41A3-BC7D-30887EA0D50F} = {E070AAFC-9D03-41A3-BC7D-30887EA0D50F} + EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fltkimages", "fltkimages.vcxproj", "{6E8E1663-B88D-4454-ADF2-279666A93306}" + ProjectSection(ProjectDependencies) = postProject + {E070AAFC-9D03-41A3-BC7D-30887EA0D50F} = {E070AAFC-9D03-41A3-BC7D-30887EA0D50F} + EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fluid", "fluid.vcxproj", "{8AED3078-8CD8-40C9-A8FF-46080024F1EB}" ProjectSection(ProjectDependencies) = postProject diff --git a/ide/VisualC2010/zlib.vcxproj b/ide/VisualC2010/zlib.vcxproj index 6325dd429..1dd2ffb1c 100644 --- a/ide/VisualC2010/zlib.vcxproj +++ b/ide/VisualC2010/zlib.vcxproj @@ -66,11 +66,13 @@ ..\..\lib\ .\$(ProjectName)_release\ ..\..\lib\ - $(Configuration)\ + .\$(ProjectName)_debug\ ..\..\lib\ - $(Configuration)\ + .\$(ProjectName)_release\ $(ProjectName)d $(ProjectName) + $(ProjectName) + $(ProjectName)d @@ -136,7 +138,7 @@ 0x0409 - ..\lib\fltkzd.lib + ..\..\lib\$(ProjectName)d.lib true @@ -161,7 +163,7 @@ 0x0409 - ..\lib\fltkz.lib + ..\..\lib\$(ProjectName).lib true