This is a page I started to collect a few things that might be helpful for fellow POV-Ray developers. It's a bit messy at present.
Working with the Perforce Repository
Get a decent interactive diff tool. Aside from just showing differences between two files, here are a few features you might want to keep your eyes peeled for:
- Optionally ignore unimportant differences, such as comment or whitespace changes.
- Manually adjust file alignment.
- Manually merge files.
- Edit files in-place.
- Compare directory trees.
- Synchronize directory trees.
I recommend investing some $30-$50 into a shareware tool such as UltraCompare from IDM (the people that brought you UltraEdit), or Beyond Compare from Scooter Software (my personal favorite), both of which go way beyond the above "shopping list". You'll probably find they're worth every cent of their price, and then some.
Building for Linux
To build a Linux version from the repository, you need to:
- Retrieve the desired revision from Perforce.
- Run "./unix/prebuild.sh".
- Follow the steps as outlined in "./INSTALL"
Adding New Source Files
When adding new source files, please make sure to:
- Add the source files to the corresponding Visual Studio projects - both the vs8 and vs9 version. (You may want to use a diff tool to update the project you're not using yourself: There are only few differences between the respective project files.) Please also make sure to strip the "Relase-SSE2|x64" configuration from the modified project file before checking it in; while Visual Studio keeps auto-generating that configuration, we don't actually want it in the repository. (Again, a diff tool comes in handy.)
- Add the standard POV-Ray comment block to the head of your files. (Don't forget to fill in the proper file name.)
- After marking the files for add in Perforce, change the Perforce filetype; for C++ source and header files, we want base type "text" with the "+k" option enabled ("ktext").
When someone else has added new source files, people compiling for Linux will have to:
- Run "./unix/prebuild.sh" to re-generate the makefiles.