Building on Windows: Difference between revisions
(103 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
== | == Setting up Exodus Build Environment on Windows == | ||
{|cellpadding="5" cellspacing="0" border="1" width="60%" | |||
|Install and configure MS VC++ | |||
|[[Step_by_step_instructions#INSTALL_COMPILER]]<BR>You need SDK *and* Visual Studio | |||
|*Ignore the section to "test Exodus compilation - you haven't built it yet!" | |||
|- | |||
|Install and configure Postgresql | |||
|[[Step_by_step_instructions#INSTALL_DATABASE]] | |||
|Ignore any configuration "for Exodus" | |||
|- | |||
|Install Subversion client | |||
|http://tortoisesvn.net/downloads.html | |||
|Ignore its suggestion to reboot after installation. | |||
|- | |||
|Install NSIS Installer Builder | |||
|http://sourceforge.net/projects/nsis/files/ | |||
| | |||
|- | |||
|Install Python | |||
|http://python.org/download/ | |||
|Only needed to upload binaries to Google Code | |||
|} | |||
== Get Boost Libraries == | |||
Install or build Boost 1_46_1 binary libraries and header/include source files. | |||
If you are simply building Exodus for packaging and release then you need only the release versions of Boost. You only need Boost debug libraries o develop/debug Exodus itself. | |||
=== Source 1 - build them from source === | |||
[[Building Boost 32/64 on Windows]] | |||
=== Source 2 - download from Exodus project === | |||
Header/Includes: [[Building_Boost_32/64_on_Windows#Get_Boost_Source]] | |||
Binaries: http://exodusdb.googlecode.com/files/boost1461-vc100-x86x64-rd.zip | |||
Unzip the binaries into the main boost source/header/includes like this: | |||
boost_1_46_1\stage32 | |||
boost_1_46_1\stage64 | |||
== | === Source 3 - download from BoostPro (but no x64! and no Unicode regex(?)) === | ||
Installs includes and binaries. | |||
See [[Installing_Boost]] but get: | |||
*Version 1_46_1 | |||
*Visual Studio 2010 | |||
*mt and mt-debug version | |||
== Checkout Exodus == | |||
To commit any bug fixes or developments, send your gmail address [http://code.google.com/p/exodusdb/people/list here] to get a password. | |||
=== | === GUI === | ||
# | #Create a folder called "exodus" F:\exodus | ||
#Right exodus click and choose "SVN checkout" | |||
#url of respository: HTTPS://exodusdb.googlecode.com/svn/trunk/ | |||
# | |||
# | |||
=== | === TUI === | ||
svn co HTTPS://exodusdb.googlecode.com/svn/trunk/ c:\exodus | |||
You can use all the power of subversion to keep your build directory up to date, select previous versions of Exodus and generally be in control. | |||
NB always use HTTPS not http for the subversion link below - just in case you need to commit any changes back up into the subversion repository. | |||
== Configure Exodus for Developing, Building, Packing, Uploading == | |||
copy the configlocalEXAMPLE.cmd to configlocal.cmd and edit it to reflect your configuration. Only configure those stages that you plan to do. | |||
# | If you are only building x64 then you don't need to set the x32 variables. Note that BOOST32 and BOOST64 may point to the same folder since the headers/includes are the same and the binaries are in different libs eg stage64 or lib64 etc. | ||
# | |||
You can run clean, dev, make, pack, upload etc by just clicking on them without opening a command prompt. | |||
[[configlocalEXAMPLE.cmd]] as at 2010/5/20 | |||
for packing, you need to edit version.cmd, for example | |||
set EXO_MAJOR_VER=11 | |||
set EXO_MINOR_VER=5 | |||
set EXO_MICRO_VER=28 | |||
set EXO_BUILD_VER=0 | |||
== Either Build/Develop Using Visual Studio == | |||
The exodus_all.sln relies on environment variables to identify location of boost, postgresql. All the necessary environment variables are set in the fixed config.cmd and your local configlocal.cmd. | |||
To open visual studio with all the right environment variables set you must run dev.cmd which calls config.cmd and then opens your solution | |||
dev.cmd | |||
#Select Configuration: Release or Debug | |||
#Select Platform: x64 or Win32 | |||
#Build the solution | |||
#Check the startup project is exodus_cli | |||
#Debug/Run the solution. You should get an exodus/cmd command console. | |||
#Type testsort, edic etc. configexodus may require adminstrator access to install pgexodus.dll into Postgresql's bin directory. | |||
== Or Build Using Scripts or Command Line == | |||
Once configlocal.cmd is setup then making is a completely automatic process. Currently configlocal.cmd only supports one configuration/platform (e.g. Release/x64) at a time. | |||
make.cmd | |||
clean.cmd | |||
== Packaging Exodus == | |||
Once configlocal.cmd is setup then packing is a completely automatic process. Look for output files like exodus-x86-11.5.3.exe. | |||
pack.cmd | |||
== Uploading Exodus == | |||
Once configlocal.cmd is setup then uploading new versions is a completely automatic process. | |||
upload.cmd | |||
== Old Info == | |||
[[Building on Windows - Old Version]] |
Latest revision as of 14:24, 18 February 2012
Setting up Exodus Build Environment on Windows
Install and configure MS VC++ | Step_by_step_instructions#INSTALL_COMPILER You need SDK *and* Visual Studio |
*Ignore the section to "test Exodus compilation - you haven't built it yet!" |
Install and configure Postgresql | Step_by_step_instructions#INSTALL_DATABASE | Ignore any configuration "for Exodus" |
Install Subversion client | http://tortoisesvn.net/downloads.html | Ignore its suggestion to reboot after installation. |
Install NSIS Installer Builder | http://sourceforge.net/projects/nsis/files/ | |
Install Python | http://python.org/download/ | Only needed to upload binaries to Google Code |
Get Boost Libraries
Install or build Boost 1_46_1 binary libraries and header/include source files.
If you are simply building Exodus for packaging and release then you need only the release versions of Boost. You only need Boost debug libraries o develop/debug Exodus itself.
Source 1 - build them from source
Building Boost 32/64 on Windows
Source 2 - download from Exodus project
Header/Includes: Building_Boost_32/64_on_Windows#Get_Boost_Source
Binaries: http://exodusdb.googlecode.com/files/boost1461-vc100-x86x64-rd.zip
Unzip the binaries into the main boost source/header/includes like this:
boost_1_46_1\stage32 boost_1_46_1\stage64
Source 3 - download from BoostPro (but no x64! and no Unicode regex(?))
Installs includes and binaries.
See Installing_Boost but get:
- Version 1_46_1
- Visual Studio 2010
- mt and mt-debug version
Checkout Exodus
To commit any bug fixes or developments, send your gmail address here to get a password.
GUI
- Create a folder called "exodus" F:\exodus
- Right exodus click and choose "SVN checkout"
- url of respository: HTTPS://exodusdb.googlecode.com/svn/trunk/
TUI
svn co HTTPS://exodusdb.googlecode.com/svn/trunk/ c:\exodus
You can use all the power of subversion to keep your build directory up to date, select previous versions of Exodus and generally be in control.
NB always use HTTPS not http for the subversion link below - just in case you need to commit any changes back up into the subversion repository.
Configure Exodus for Developing, Building, Packing, Uploading
copy the configlocalEXAMPLE.cmd to configlocal.cmd and edit it to reflect your configuration. Only configure those stages that you plan to do.
If you are only building x64 then you don't need to set the x32 variables. Note that BOOST32 and BOOST64 may point to the same folder since the headers/includes are the same and the binaries are in different libs eg stage64 or lib64 etc.
You can run clean, dev, make, pack, upload etc by just clicking on them without opening a command prompt.
configlocalEXAMPLE.cmd as at 2010/5/20
for packing, you need to edit version.cmd, for example
set EXO_MAJOR_VER=11 set EXO_MINOR_VER=5 set EXO_MICRO_VER=28 set EXO_BUILD_VER=0
Either Build/Develop Using Visual Studio
The exodus_all.sln relies on environment variables to identify location of boost, postgresql. All the necessary environment variables are set in the fixed config.cmd and your local configlocal.cmd.
To open visual studio with all the right environment variables set you must run dev.cmd which calls config.cmd and then opens your solution
dev.cmd
- Select Configuration: Release or Debug
- Select Platform: x64 or Win32
- Build the solution
- Check the startup project is exodus_cli
- Debug/Run the solution. You should get an exodus/cmd command console.
- Type testsort, edic etc. configexodus may require adminstrator access to install pgexodus.dll into Postgresql's bin directory.
Or Build Using Scripts or Command Line
Once configlocal.cmd is setup then making is a completely automatic process. Currently configlocal.cmd only supports one configuration/platform (e.g. Release/x64) at a time.
make.cmd clean.cmd
Packaging Exodus
Once configlocal.cmd is setup then packing is a completely automatic process. Look for output files like exodus-x86-11.5.3.exe.
pack.cmd
Uploading Exodus
Once configlocal.cmd is setup then uploading new versions is a completely automatic process.
upload.cmd