openframeworks / projectGenerator

repo for centralizing work on a tool to generate OF projects
83 stars 74 forks source link

openFrameworks projectGenerator

build-linux build-vs build-macos

Project Generator

Builds the cmdline and GUI project generators for openFrameworks

The project Generator, also known as PG, is a utility tool to facilitate the creation of new openFrameworks projects, in multiple platforms.

The content in this page is primarily target at developers willing to contribute to the code base. If you are working with openFrameworks and would like to use the Project Generator, check the instructions in Create in a new project.


Download instructions

You can download packaged macOS and Windows builds here ( note Linux needs to be built per platform ):


Build instructions with Bash Scripts

In the projectGenerator scripts folder run the scripts in order to setup environment and build

Visual Studio 2022

projectGenerator\scripts\vs\setup_environment.sh (first time)

projectGenerator\scripts\vs\build_cmdline.sh

projectGenerator\scripts\vs\build_frontend.sh (Builds Electron App GUI Project Generator)

projectGenerator\scripts\vs\build_dev_frontend.sh

macOS / osx

projectGenerator\scripts\osx\setup_environment.sh (first time)

projectGenerator\scripts\vs\build_cmdline.sh

projectGenerator\scripts\vs\build_frontend.sh (Builds Electron App GUI Project Generator)

Linux

projectGenerator\scripts\linux\setup_environment.sh (first time) projectGenerator\scripts\linux\build_cmdline.sh projectGenerator\scripts\linux\build_frontend.sh

Contributing

The project generator is available in two flavors:

LEGAGY BUILD INSTRUCTIONS ----- (more detail)


Clone OF ( skip if already cloned )

git clone git@github.com:openframeworks/openFrameworks.git --depth=1

Init / update submodules

cd openFrameworks
git submodule init
git submodule update

Install libs ( replace with platform )

./scripts/osx/download_libs.sh

Build the projectGenerator ( can also use project file )

cd apps/projectGenerator/commandLine/

# for linux do:
make Release
cp bin/projectGenerator ../frontend/app/

# for windows do:
msbuild commandLine.vcxproj /p:configuration=release /p:platform=${{ matrix.platform }} /p:PlatformToolset=v143
cp commandLine.exe ../frontend/app/projectGenerator.exe

# for macos 
xcodebuild -configuration Release -target commandLine CODE_SIGN_IDENTITY="" -project commandLine.xcodeproj
cp bin/projectGenerator ../frontend/app/

On macOS, if you get this error:

xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

It's probably because your Command Line Tools were installed via Home Brew or some other mechanism. You need to re-select the whole Xcode install by executing:

sudo xcode-select -s /Applications/Xcode.app/Contents/Developer

Build the frontend electron app

Note: see the more detailed guide include node install in the frontend ReadMe

cd ../frontend
npm install 
npm update

# to run the app without packaging it 
npm start

# to package the pg app as a standalone
npm run build:macos