Skip to content

Commit

Permalink
Merge branch 'master' of github.com:qgis/Quantum-GIS
Browse files Browse the repository at this point in the history
  • Loading branch information
timlinux committed Jun 2, 2011
2 parents 0e12034 + edad445 commit cdbfbce
Show file tree
Hide file tree
Showing 518 changed files with 928 additions and 1,410 deletions.
44 changes: 14 additions & 30 deletions CMakeLists.txt
Expand Up @@ -15,15 +15,6 @@ ENDIF (APPLE)
MATH(EXPR QGIS_VERSION_INT "${CPACK_PACKAGE_VERSION_MAJOR}*10000+${CPACK_PACKAGE_VERSION_MINOR}*100+${CPACK_PACKAGE_VERSION_PATCH}")
MESSAGE(STATUS "Quantum GIS version: ${COMPLETE_VERSION} ${RELEASE_NAME} (${QGIS_VERSION_INT})")

# TODO:
# - install includes for libs
# - nice output when configured
# - rename *.ui files to have the same filename as their implementation
# e.g. instead of blahblahbase.ui use blahblah.ui
# because it's more common in Qt4
# Note on last point above by Tim Sutton - I prefer to have the base suffix
# as it indicates the ui generated class will be a base class for the widget.

#############################################################
# CMake settings

Expand All @@ -37,16 +28,10 @@ SET(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})

# in generated makefiles use relative paths so the project dir is moveable
# Note commented out since it cause problems but it would be nice to resolve these and enable
#
# issue is caused by INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR}) near the end of this file generating incorrect path
#
# issue is caused by INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR}) near the end of this file generating incorrect path
#SET (CMAKE_USE_RELATIVE_PATHS ON)

# it's possible to set PLUGINS_ALSO_BINARIES to TRUE
# then some plugins that can run as standalone apps will be built
# also as standalone apps
SET (PLUGINS_ALSO_BINARIES FALSE)


# try to configure and build GRASS plugin by default
SET (WITH_GRASS TRUE CACHE BOOL "Determines whether GRASS plugin should be built")
IF (WITH_GRASS)
Expand All @@ -57,9 +42,6 @@ ENDIF (WITH_GRASS)
# mapserver by us disabled default because it needs FastCGI (which is optional dependency)
SET (WITH_MAPSERVER FALSE CACHE BOOL "Determines whether QGIS mapserver should be built")

# include doxygen documentation
SET (WITH_APIDOC FALSE CACHE BOOL "Determines whether the QGIS API doxygen documentation should be built")

# build our version of astyle
SET (WITH_ASTYLE FALSE CACHE BOOL "If you plan to contribute you should reindent with scripts/prepare-commit.sh (using 'our' astyle)")

Expand Down Expand Up @@ -256,23 +238,21 @@ IF (WIN32)
SET (DEFAULT_DATA_SUBDIR .)
SET (DEFAULT_PLUGIN_SUBDIR plugins)
SET (DEFAULT_INCLUDE_SUBDIR include)

IF (MSVC)
SET (DEFAULT_BIN_SUBDIR bin)
SET (DEFAULT_CGIBIN_SUBDIR bin)
# put all the build products into a single directory
# under build (doesnt affect install target) to make for
# easier debugging.
#tell msvc compiler to use main instead of winmain as the
#application entry point
#SET(QT_USE_QTMAIN TRUE)

# Turn on defines for non standard maths stuff
ADD_DEFINITIONS(-D_USE_MATH_DEFINES)

# Turn off deprecation warnings
ADD_DEFINITIONS(-D_CRT_SECURE_NO_WARNINGS)
ADD_DEFINITIONS(-D_CRT_NONSTDC_NO_WARNINGS)

IF (CMAKE_BUILD_TYPE MATCHES Debug OR CMAKE_BUILD_TYPE MATCHES RelWithDebInfo)
MESSAGE (STATUS "Generating browse files")
ADD_DEFINITIONS( /FR )
Expand Down Expand Up @@ -340,7 +320,7 @@ ENDIF (WIN32)

#assume we have escaped compiler directives
#eventually we want to change this to new
#since we don't need to jump through so many
#since we don't need to jump through so many
#hoops to escape compiler directives then
IF(COMMAND cmake_policy)
cmake_policy(SET CMP0003 NEW)
Expand Down Expand Up @@ -467,23 +447,27 @@ ADD_CUSTOM_TARGET(version ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/qgsversion.h)
#############################################################
# process subdirs

SUBDIRS(src doc images resources i18n)
ADD_SUBDIRECTORY(src)
ADD_SUBDIRECTORY(doc)
ADD_SUBDIRECTORY(images)
ADD_SUBDIRECTORY(resources)
ADD_SUBDIRECTORY(i18n)

IF (WITH_BINDINGS)
SUBDIRS (python)
ADD_SUBDIRECTORY(python)
ENDIF (WITH_BINDINGS)

IF (ENABLE_TESTS)
#create a variable to specify where our test data is
#so that unit tests can use TEST_DATA_DIR to locate
#the test data. See CMakeLists in test dirs for more info
SET (TEST_DATA_DIR "${CMAKE_CURRENT_SOURCE_DIR}/tests/testdata")
SUBDIRS(tests)
ADD_SUBDIRECTORY(tests)
ENDIF (ENABLE_TESTS)

IF (APPLE)
# must be last for install, so install_name_tool can do its work
SUBDIRS (mac)
ADD_SUBDIRECTORY(mac)
ENDIF (APPLE)

# manual page - makes sense only on unix systems
Expand Down
97 changes: 70 additions & 27 deletions CODING
Expand Up @@ -34,19 +34,23 @@ Developers guide for QGIS
1.9.5. Use Braces Even for Single Line Statements
1.9.6. Book recommendations
2. GIT Access
2.1. Accessing the Repository
2.2. Check out a branch
2.3. QGIS documentation sources
2.4. GIT Documentation
2.5. Development in branches
2.5.1. Purpose
2.5.2. Procedure
2.6. Submitting Patches
2.6.1. Patch file naming
2.6.2. Create your patch in the top level QGIS source dir
2.6.3. Getting your patch noticed
2.6.4. Due Diligence
2.7. Obtaining GIT Write Access
2.1. Installation
2.1.1. Install git for GNU/Linux
2.1.2. Install git for Windows
2.1.3. Install git for OSX
2.2. Accessing the Repository
2.3. Check out a branch
2.4. QGIS documentation sources
2.5. GIT Documentation
2.6. Development in branches
2.6.1. Purpose
2.6.2. Procedure
2.7. Submitting Patches
2.7.1. Patch file naming
2.7.2. Create your patch in the top level QGIS source dir
2.7.3. Getting your patch noticed
2.7.4. Due Diligence
2.8. Obtaining GIT Write Access
3. Unit Testing
3.1. The QGIS testing framework - an overview
3.2. Creating a unit test
Expand Down Expand Up @@ -415,22 +419,61 @@ http://doc.trolltech.com/qq/qq13-apis.html designing Qt style (APIs)
2. GIT Access
=============

This section describes how to get started using the QGIS GIT repository. Before you can do this, you need to first have a git client installed on your system. Debian based distro users can do:
This section describes how to get started using the QGIS GIT repository. Before you can do this, you need to first have a git client installed on your system.


2.1. Installation
=================


2.1.1. Install git for GNU/Linux
================================

Debian based distro users can do:

sudo apt-get install git


2.1.2. Install git for Windows
==============================

Windows users can obtain msys git (http://code.google.com/p/msysgit/).


2.1. Accessing the Repository
2.1.3. Install git for OSX
==========================

The git (http://git-scm.com/) project has a downloadable build of git.
Make sure to get the package matching your processor (x86_64 most likely, only the first Intel Macs need the i386 package).

Once downloaded open the disk image and run the installer.

PPC/source note

The git site does not offer PPC builds. If you need a PPC build, or you just want
a little more control over the installation, you need to compile it yourself.

Download the source from http://git-scm.com/. Unzip it, and in a Terminal cd to the source folder, then:

make prefix=/usr/local
sudo make prefix=/usr/local install

If you don't need any of the extras, Perl, Python or TclTk (GUI), you can disable them before running make with:

export NO_PERL=
export NO_TCLTK=
export NO_PYTHON=


2.2. Accessing the Repository
=============================

To clone QGIS master:

git://github.com/qgis/Quantum-GIS.git


2.2. Check out a branch
2.3. Check out a branch
=======================

To check out a branch, for example the release 1.7.0 branch do:
Expand All @@ -455,7 +498,7 @@ See the INSTALL file in the source tree for specific instructions on building
development versions.


2.3. QGIS documentation sources
2.4. QGIS documentation sources
===============================

If you're interested in checking out Quantum GIS documentation sources:
Expand All @@ -467,7 +510,7 @@ If you're interested in checking out Quantum GIS documentation sources:
You can also take a look at DocumentationWritersCorner for more information.


2.4. GIT Documentation
2.5. GIT Documentation
======================

See the following sites for information on becoming a GIT master.
Expand All @@ -477,11 +520,11 @@ http://progit.org
http://gitready.com


2.5. Development in branches
2.6. Development in branches
============================


2.5.1. Purpose
2.6.1. Purpose
==============

The complexity of the QGIS source code has increased considerably during the
Expand All @@ -495,7 +538,7 @@ This section describes the procedure for branching and merging in the QGIS
project.


2.5.2. Procedure
2.6.2. Procedure
================

- Initial announcement on mailing list:
Expand Down Expand Up @@ -541,14 +584,14 @@ Component will be opened to file tickets against. Once there are no remaining
issues left, the technical advisor of the PSC merges the changes into master.


2.6. Submitting Patches
2.7. Submitting Patches
=======================

There are a few guidelines that will help you to get your patches into QGIS
easily, and help us deal with the patches that are sent to use easily.


2.6.1. Patch file naming
2.7.1. Patch file naming
========================

If the patch is a fix for a specific bug, please name the file with the bug
Expand All @@ -559,7 +602,7 @@ If the bug is an enhancement or new feature, its usually a good idea to create
a ticket in trac (https://trac.osgeo.org/qgis/) first and then attach you


2.6.2. Create your patch in the top level QGIS source dir
2.7.2. Create your patch in the top level QGIS source dir
=========================================================

This makes it easier for us to apply the patches since we don't need to
Expand All @@ -580,7 +623,7 @@ and then generate a patch which contains the delta between your feature branch
and what is in the master branch.


2.6.3. Getting your patch noticed
2.7.3. Getting your patch noticed
=================================

QGIS developers are busy folk. We do scan the incoming patches on bug reports
Expand All @@ -591,7 +634,7 @@ can escalate your query to one of the Project Steering Committee members
(contact details also available on the Project Organigram).


2.6.4. Due Diligence
2.7.4. Due Diligence
====================

QGIS is licensed under the GPL. You should make every effort to ensure you only
Expand All @@ -600,7 +643,7 @@ rights. Also do not submit code that you are not happy to have made available
under the GPL.


2.7. Obtaining GIT Write Access
2.8. Obtaining GIT Write Access
===============================

Write access to QGIS source tree is by invitation. Typically when a person
Expand Down

0 comments on commit cdbfbce

Please sign in to comment.