Navigation
index
modules
|
next
|
previous
|
IceCube
»
http:..code.icecube.wisc.edu.svn.sandbox.jvansanten.metaprojects.icerec-lite.trunk r117222
»
Table Of Contents
CMake: icetray’s build system
Information on particular tools
Write me
Previous topic
The icerec meta-project
Next topic
User’s Guide
This Page
Show Source
CMake: icetray’s build system
¶
User’s Guide
Building with cmake
Configuring your build
Editing the CMake cache
Command line configuration
Verbose build
The cmake cache CMakeCache.txt
Testing
Organization/Structure of Projects and Metaprojects
Project Directory Structure
Branches, Releases and The Trunk
Documentation
Requirements
reStructuredText (rst)
Doxygen
Linking to doxygen docs from reStructuredText
Building the documentation
Links
Targets
Workspace level
Project level
Building tarballs for use on clusters or the grid
What is done
Example
For metaproject maintainers: tarball_hook.sh
Changing the name of the tarball
Lightweight tarballs for CVMFS-enabled grids
Tool detection/configuration
tooldef
SYSTEM_PACKAGES
I3_SITE_CMAKE_DIR
Troubleshooting
I3Test Reference
Overview
Test suites as documentation, and insurance
Regression tests: submit bugfixes with a test for the bug.
Testing Interface
Example
Build configuration
Building and running I3Tests
The test driver command line interface
The test driver-driver program
runtests.py
References
Icetray-specific cmake macro reference
i3_project
i3_add_library
i3_executable
i3_add_pybindings
i3_test_scripts
qt4_i3_automoc
How to write pybindings for your project
Registering your class with boost::python
Wrapping containers
Wrapping enumerated types
Declaring the module
Helpful preprocessor macros
Boost preprocessor sequences
Wrapping methods verbatim
Exposing private member data via Get/Set
Exposing public member data with access restrictions
Wrapping methods with call policies
Wrapping enumerated types
Constructing a Python module
Gotchas
<unresolved overloaded function type> errors
Naming conventions
Resources
Todo: finer points of return-by-value vs. reference
DarwinPorts
Tool Build System - Setting up your I3_PORTS toolset
Quick start for the impatient
Install dependencies
Build and install ports
Important Notes
The individual steps
Getting the test-data
Updates to tools
How will I know new tools are ready?
How do I upgrade an existing I3_PORTS installation?
Compiling tools for one or several platforms for a cluster installation
Troubleshooting
Error: Target com.apple.activate returned: No locks available
Error: Target com.apple.destroot returned: error deleting ... file already exists
FAQ
port manpage
NAME
SYNOPSIS
DESCRIPTION
OPTIONS
USER TARGETS
DEVELOPER TARGETS
PACKAGING TARGETS
EXAMPLE
DIAGNOSTICS
AUTHORS
Portfile - Darwinports description file reference (manpage)
DESCRIPTION
MAIN VARIABLES
TARGET HOOKS
RUNTIME VARIABLES
DEPENDENCY OPTIONS
FETCH OPTIONS
EXTRACT OPTIONS
BUILD OPTIONS
DESTROOT OPTIONS
TEST OPTIONS
STARTUPITEMS OPTIONS
VARIANT OPTIONS
PLATFORM OPTIONS
TCL EXTENSIONS
AUTHORS
porthier - layout of the ports-filesystems (manpage)
DESCRIPTION
AUTHORS
portstyle - style guide for ports their associated files (manpage)
DESCRIPTION
Making patches
Details by Platform
Apple Mac OS X
Developer Tools
Xcode 4: Lion (10.7) and later
MacPorts
Do Not Use MacPorts
But I Want To Pull Out My Hair, Get An Ulcer, Break My Chair And Possibly Kick A Puppy
Java
Red Hat
Scientific Linux
CentOS
Fedora
Ubuntu or Debian
FreeBSD
Introduction to Subversion for use with IceTray
Overview
Obtaining subversion
Subversion Help
Accounts/policy on code repository
Organization of the repository
Subversion commands 1: checking out, committing stuff
Checking out code
Checking out meta-projects
Seeing the contents of a meta-project
Adding and committing code to an existing project
Subversion commands 2: releases etcetera
Adding a new project to the repository
Making a trunk, branches, releases for your existing project
Adding a new project, directly with a trunk, branches, releases
Making a new branch
Making a release of your project
Adding a new metaproject to the repository
Making a release of a metaproject
Subversion tricks, tips, etc.
env-shell.sh
What env-shell.sh does
A good way to set up your shell
If-then blocks
Shell functions
.mailinglist: Commit Emails
Using the Intel C++ compiler
Configuration
Gotchas
__sync_fetch_and_add
libimf.so
gfilt, the C++ error message descrambler
Information on particular tools
¶
Boost
cmake
Java
Python
ROOT
Write me
¶
How tools are detected
build slave and trac plugin
I3_OPTIMIZE
using a different version of a tool
testing
Navigation
index
modules
|
next
|
previous
|
IceCube
»
http:..code.icecube.wisc.edu.svn.sandbox.jvansanten.metaprojects.icerec-lite.trunk r117222
»