Permalink
Browse files

Updates to build env, targeting SC 3.8 and Qt5.5 for OSX, SC 3.8 for …

…ubuntu, and .gitignore updates for Windows
  • Loading branch information...
1 parent 6ede95c commit 4d2be7c591e8336167e2db2435e7de4d263c1cde @Factoid Factoid committed Oct 16, 2016
Showing with 69 additions and 49 deletions.
  1. +6 −0 .gitignore
  2. +13 −33 app/gui/qt/SonicPi.pro
  3. +36 −10 app/gui/qt/build-osx-app
  4. +14 −6 app/gui/qt/build-ubuntu-app
View
@@ -15,6 +15,12 @@
*.la
*.a
+# MSVC stuff
+*.Debug
+*.Release
+debug/
+release/
+
# QT GUI
# --------
@@ -20,23 +20,8 @@
TARGET = 'sonic-pi'
CONFIG += qscintilla2 qwt c++11
-include ( /usr/local/qwt-6.1.2/features/qwt.prf )
-LIBS += -L/Users/sam/Development/Supercollider/git-src/external_libraries/boost/libs
-INCLUDEPATH += /Users/sam/Development/Supercollider/git-src/external_libraries/boost/
-DEPENDPATH += /Users/sam/Development/Supercollider/git-src/external_libraries/boost/
+QT += core gui concurrent network multimedia opengl
-LIBS += -L/Users/sam/Downloads/tmp/QScintilla_gpl-2.9.3.dev1606101834/Qt4Qt5
-
-
-# LIBS += -L/Users/sam/Downloads/tmp/QScintilla_gpl-2.9.4.dev1609091105/Qt4Qt5
-# INCLUDEPATH += /Users/sam/Downloads/tmp/QScintilla_gpl-2.9.4.dev1609091105/Qt4Qt5
-# DEPENDPATH += /Users/sam/Downloads/tmp/QScintilla_gpl-2.9.4.dev1609091105/Qt4Qt5
-
-INCLUDEPATH += /Users/sam/Downloads/tmp/QScintilla_gpl-2.9.3.dev1606101834/Qt4Qt5
-DEPENDPATH += /Users/sam/Downloads/tmp/QScintilla_gpl-2.9.3.dev1606101834/Qt4Qt5
-QMAKE_MAC_SDK = macosx10.11
-
-QT += core gui concurrent network
greaterThan(QT_MAJOR_VERSION, 4) {
QT += widgets opengl
}
@@ -67,12 +52,7 @@ macx {
# Windows only
win32 {
- include ( c:/qwt-6.1.3/features/qwt.prf )
- LIBS += -lqscintilla2
- QMAKE_CXXFLAGS += -Ic:/boost_1_61_0
-# QMAKE_CXXFLAGS += /WX
- QMAKE_LFLAGS += /LIBPATH:C:\boost_1_61_0\bin.v2\libs\date_time\build\msvc-12.0\release\link-static\threading-multi
- DEFINES += _CRT_SECURE_NO_WARNINGS _WINSOCK_DEPRECATED_NO_WARNINGS
+LIBS += -lws2_32
}
CODECFORSRC = UTF-8
@@ -81,17 +61,17 @@ CODECFORTR = UTF-8
TEMPLATE = app
SOURCES += main.cpp \
- mainwindow.cpp \
- sonicpilexer.cpp \
- sonicpiapis.cpp \
- sonicpiscintilla.cpp \
- oschandler.cpp \
- sonicpilog.cpp \
- sonic_pi_osc_server.cpp \
- sonic_pi_udp_osc_server.cpp \
- sonic_pi_tcp_osc_server.cpp \
- sonicpitheme.cpp \
- scope.cpp
+ mainwindow.cpp \
+ sonicpilexer.cpp \
+ sonicpiapis.cpp \
+ sonicpiscintilla.cpp \
+ oschandler.cpp \
+ sonicpilog.cpp \
+ sonic_pi_osc_server.cpp \
+ sonic_pi_udp_osc_server.cpp \
+ sonic_pi_tcp_osc_server.cpp \
+ sonicpitheme.cpp \
+ scope.cpp
HEADERS += mainwindow.h \
oscpkt.hh \
@@ -11,7 +11,33 @@ echo "We're working to make this script a one shot solution for all OSX platform
echo "Please direct rage and suggestions to Factoid in (https://gitter.im/samaaron/sonic-pi)"
#Install homebrew prerequisites
-brew install qt5 boost
+brew install qt55 boost
+
+#Build supercollider 3.8 from source
+cd ../../../../
+SP_ROOT=`pwd`
+git clone https://github.com/supercollider/supercollider.git
+cd supercollider
+git submodule init && git submodule update
+mkdir build
+cd build
+cmake -DSC_EL=no -DCMAKE_PREFIX_PATH=/usr/local/opt/qt55/lib/cmake ..
+make
+sudo make install
+#This should install to /usr/local/
+
+#Build sc3 plugins and install to /usr/local/ so supercollider 3.8 can find them
+cd $SP_ROOT
+git clone https://github.com/supercollider/sc3-plugins.git
+cd sc3-plugins
+git submodule init && git submodule update
+cp -r external_libraries/nova-simd/* source/VBAPUGens
+mkdir build
+cd build
+cmake -DSC_PATH=../../supercollider/ -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Release ..
+make
+sudo make install
+rsync -arv SC3plugins ../../supercollider/build/editors/sc-ide/SuperCollider.app/Contents/Resources/plugins/
#Download and extract source packages
cd ../../../../
@@ -22,36 +48,36 @@ tar -xf qwt-6.1.2.tar.bz2
#Build qscintilla libraries for Qt5
cd QScintilla_gpl-2.9.2/Qt4Qt5/
-/usr/local/opt/qt5/bin/qmake qscintilla.pro
+/usr/local/opt/qt55/bin/qmake qscintilla.pro
make
sudo make install
#Build qwt libraries for Qt5
cd ../../
cd qwt-6.1.2
-/usr/local/opt/qt5/bin/qmake qwt.pro
+/usr/local/opt/qt55/bin/qmake qwt.pro
make
sudo make install
-sudo cp /usr/local/qwt-6.1.2/features/* /usr/local/opt/qt5/mkspecs/features/
+sudo cp /usr/local/qwt-6.1.2/features/* /usr/local/opt/qt55/mkspecs/features/
#Build Sonic-Pi server extensions, documentation, and gui
cd $SP_APP_SRC
../../server/bin/compile-extensions.rb
../../server/bin/i18n-tool.rb -t
cp -f ruby_help.tmpl ruby_help.h
../../server/bin/qt-doc.rb -o ruby_help.h
-/usr/local/opt/qt5/bin/lrelease SonicPi.pro
-/usr/local/opt/qt5/bin/qmake SonicPi.pro
+/usr/local/opt/qt55/bin/lrelease SonicPi.pro
+/usr/local/opt/qt55/bin/qmake SonicPi.pro
make
### FOR FINAL RELEASE ONLY MOVE THIS INTO package-osx-app ###
-#/usr/local/opt/qt5/bin/macdeployqt 'Sonic Pi.app'
+#/usr/local/opt/qt55/bin/macdeployqt 'Sonic Pi.app'
#Soft Link extra stuff that the app will need at runtime
cd 'Sonic Pi.app'
-ln -s ../../../../app/ ./
-ln -s ../../../../etc/ ./
-ln -s /Applications/SuperCollider/SuperCollider.app/Contents/Resources/scsynth ../../../../app/server/native/osx/scsynth
+ln -f -s ../../../../app/ ./
+ln -f -s ../../../../etc/ ./
+ln -f -s ../../../../../supercollider/build/editors/sc-ide/SuperCollider.app/Contents/Resources/scsynth ../../../../app/server/native/osx/scsynth
### FOR FINAL RELEASE ONLY MOVE THIS INTO package-osx-app ###
#rsync -arv ../../../../app ./
@@ -8,7 +8,7 @@ echo "We're working to make this script a one shot solution for all Linux platfo
echo "Please direct rage and suggestions to Factoid in (https://gitter.im/samaaron/sonic-pi)"
#Install dependencies for building supercollider, as well as qt5 and supporting libraries for gui
-sudo apt-get install g++ ruby ruby-dev pkg-config git build-essential libjack-jackd2-dev libsndfile1-dev libasound2-dev libavahi-client-dev libicu-dev libreadline6-dev libfftw3-dev libxt-dev libudev-dev cmake libboost1.58-dev libqwt-qt5-dev libqt5scintilla2-dev libqt5svg5-dev qt5-qmake qt5-default qttools5-dev qttools5-dev-tools qtdeclarative5-dev libqt5webkit5-dev qtpositioning5-dev libqt5sensors5-dev
+sudo apt-get install g++ ruby ruby-dev pkg-config git build-essential libjack-jackd2-dev libsndfile1-dev libasound2-dev libavahi-client-dev libicu-dev libreadline6-dev libfftw3-dev libxt-dev libudev-dev cmake libboost1.58-dev libqwt-qt5-dev libqt5scintilla2-dev libqt5svg5-dev qt5-qmake qt5-default qttools5-dev qttools5-dev-tools qtdeclarative5-dev libqt5webkit5-dev qtpositioning5-dev libqt5sensors5-dev qtmultimedia5-dev libffi-dev
### IF YOU HAVE PROBLEMS WITH qwt
#cd $SP_APP_SRC/../../../../
@@ -29,11 +29,11 @@ sudo apt-get install g++ ruby ruby-dev pkg-config git build-essential libjack-ja
#make
#sudo make install
-#Build supercollider 3.7.1 from source
+#Build supercollider 3.8 from source
cd ../../../../
-git clone git@github.com:supercollider/supercollider.git
+SP_ROOT=`pwd`
+git clone https://github.com/supercollider/supercollider.git
cd supercollider
-git checkout Version-3.7.1
git submodule init && git submodule update
mkdir build
cd build
@@ -43,10 +43,9 @@ sudo make install
#This should install to /usr/local/
#Build sc3 plugins and install to /usr/local/ so supercollider 3.7.1 can find them
-cd ../
+cd $SP_ROOT
git clone https://github.com/supercollider/sc3-plugins.git
cd sc3-plugins
-git checkout Version-3.7.1
git submodule init && git submodule update
cp -r external_libraries/nova-simd/* source/VBAPUGens
mkdir build
@@ -55,6 +54,15 @@ cmake -DSC_PATH=/usr/local/include/SuperCollider -DCMAKE_INSTALL_PREFIX=/usr/loc
make
sudo make install
+#Install libaubio 4.2.2 (apt-get version is too old)
+cd $SP_ROOT
+git clone git://git.aubio.org/git/aubio/
+cd aubio
+make getwaf
+./waf configure
+./waf build
+sudo ./waf install
+
#Build sonic-pi server extensions, documentation, and binary.
cd $SP_APP_SRC
../../server/bin/compile-extensions.rb

0 comments on commit 4d2be7c

Please sign in to comment.