Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

A collection of updates for the addons template. #14

Merged
merged 12 commits into from
Nov 2, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 33 additions & 17 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,24 +1,32 @@
# Some general ignore patterns
#########################
# general patterns
#########################

docs/html
docs/tagfile.xml

*/bin/*
!*/bin/data/

# for bin folder in root
/bin/*
!/bin/data/

build/
obj/
[Bb]uild/
[Oo]bj/
*.o
Debug*/
Release*/
[Dd]ebug*/
[Rr]elease*/
*.mode*
*.app/
*.pyc
.svn/

# IDE-specific ignore patterns (e.g. user-specific files)
#########################
# IDE
#########################

#XCode
# XCode
*.pbxuser
*.perspective
*.perspectivev3
Expand All @@ -28,43 +36,48 @@ Release*/
xcuserdata
*.xcworkspace

#Code::Blocks
# Code::Blocks
*.depend
*.layout
*.cbTemp

#Visual Studio
# Visual Studio
*.sdf
*.opensdf
*.suo
*.pdb
*.ilk
*.aps
ipch/

#Eclipse
# Eclipse
.metadata
local.properties
.externalToolBuilders


#codelite
# Codelite
*.session
*.tags
*.workspace.*

# OS-specific ignore patterns
#########################
# operating system
#########################

#Linux
# Linux
*~
# KDE
.directory
.AppleDouble

#OSX
# OSX
.DS_Store
*.swp
*~.nib
# Thumbnails
._*

#Windows
# Windows
# Windows image file caches
Thumbs.db
# Folder config file
Expand All @@ -73,7 +86,10 @@ Desktop.ini
#Android
.csettings

# Packages
#########################
# packages
#########################

# it's better to unpack these files and commit the raw source
# git has its own built in compression methods
*.7z
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,10 @@ The template contains all you need to start developing your addon. Download the

Further Steps
-------------
`readme_author.md` contains instructions and explanations for you.
`readme_deploy.md` is filled with a template for an informative README file you might want to use with your addon.
`README_AUTHOR.md` contains instructions and explanations for you.
`README_DEPLOY.md` is filled with a template for an informative README file you might want to use with your addon.

Before announcing your addon to the world, you should remove this file (`readme.md`) and the author instructions, and rename `readme_deploy.md` to `README.md`.
Before announcing your addon to the world, you should remove this file (`README.md`) and the author instructions, and rename `README_DEPLOY.md` to `README.md`.
Also, if you have special instructions which people should see when submitting a pull request or open an issue in your addon repository, add a `CONTRIBUTING.md` file at the root of your repository. For more details, see https://github.com/blog/1184-contributing-guidelines

This template reflects the help text found at http://ofxaddons.com/howto, and will be updated from time to time by the OF developers.
Expand Down
15 changes: 7 additions & 8 deletions README_AUTHOR.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,13 @@ The folder structure for an addon looks like this:

of_preRelease/
addons/
addons_config.mk
ofxMyAddon/
docs/
Doxyfile
...
test/
...
src/
ofxMyAddon.h
ofxMyAddon.cpp
Expand All @@ -36,7 +42,7 @@ The folder structure for an addon looks like this:
linux/
static_libwhatever.a
... //other platforms
example-anExample/
example_anExample/
src/
main.cpp
testApp.h
Expand All @@ -51,13 +57,6 @@ The folder structure for an addon looks like this:
Examples must have the string "example" in their folder name.
The OS folder names in `libs/necessaryLib/lib/` must not be changed.

libsorder.make
--------------
The openFrameworks project generator uses a file called `libsorder.make` to specify the correct order for libraries, which is important on some platforms where linking order matters.
In the folder structure you will find examples for this file where appropriate.

*Previous versions of `libsorder.make`*: Note that the use of this file was changed from how it worked in Linux in earlier versions, where it was appending things to the names listed in this file. This is no longer the case, but some addons which have this file for linux might need to make sure they're up-to-date.

Git repository
--------------
Probably the first thing you will want to do after downloading the template is rename the folder to your addon's name.
Expand Down
78 changes: 78 additions & 0 deletions addon_config.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
# All variables and this file are optional, if they are not present the PG and the
# makefiles will try to parse the correct values from the file system.
#
# Variables that specify exclusions can use % as a wildcard to specify that anything in
# that position will match. A partial path can also be specified to, for example, exclude
# a whole folder from the parsed paths from the file system
#
# Variables can be specified using = or +=
# = will clear the contents of that variable both specified from the file or the ones parsed
# from the file system
# += will add the values to the previous ones in the file or the ones parsed from the file
# system
#
# The PG can be used to detect errors in this file, just create a new project with this addon
# and the PG will write to the console the kind of error and in which line it is

meta:
ADDON_NAME = ofxAddonTemplate
ADDON_DESCRIPTION = ofxAddonTemplate is amazing!
ADDON_AUTHOR = @yournamehere
ADDON_TAGS = "addon" "template"
ADDON_URL = http://github.com/yournamehere/ofxAddonTemplate

common:
# dependencies with other addons, a list of them separated by spaces
# or use += in several lines
# ADDON_DEPENDENCIES =

# include search paths, this will be usually parsed from the file system
# but if the addon or addon libraries need special search paths they can be
# specified here separated by spaces or one per line using +=
# ADDON_INCLUDES =

# any special flag that should be passed to the compiler when using this
# addon
# ADDON_CFLAGS =

# any special flag that should be passed to the linker when using this
# addon, also used for system libraries with -lname
# ADDON_LDFLAGS =

# linux only, any library that should be included in the project using
# pkg-config
# ADDON_PKG_CONFIG_LIBRARIES =

# osx/iOS only, any framework that should be included in the project
# ADDON_FRAMEWORKS =

# source files, these will be usually parsed from the file system looking
# in the src folders in libs and the root of the addon. if your addon needs
# to include files in different places or a different set of files per platform
# they can be specified here
# ADDON_SOURCES =

# some addons need resources to be copied to the bin/data folder of the project
# specify here any files that need to be copied, you can use wildcards like * and ?
# ADDON_DATA =

# when parsing the file system looking for libraries exclude this for all or
# a specific platform
# ADDON_LIBS_EXCLUDE =

linux64:
# binary libraries, these will be usually parsed from the file system but some
# libraries need to passed to the linker in a specific order/
#
# For example in the ofxOpenCV addon we do something like this:
#
# ADDON_LIBS =
# ADDON_LIBS += libs/opencv/lib/linuxarmv6l/libopencv_legacy.a
# ADDON_LIBS += libs/opencv/lib/linuxarmv6l/libopencv_calib3d.a
# ...
linux:
win_cb:
linuxarmv6l:
linuxarmv7l:
android/armeabi:
android/armeabi-v7a:
Loading