Commit Graph
158 Commits
Author SHA1 Message Date
Vasily 2a935895e9 Update Linux build docs for Arch/Ubuntu, add logging calls to Qmake
The page was not made with Arch in mind.

The currently required were tested on Manjaro, more packages may be
explicitly required due to the bare-bones nature of Arch.

Adds simple logging calls makes debugging easier.

The initial build script was basically ported over directly from
Windows. It was written because I at the time didn't understand
compiling on Linux, and the existing standards, very well.

Moving as many build components into a program specifically made for
building C++ makes everything much easier.

The old build script is still used on CI where control flow can only be
changed using environment variables.

`bear` and `clang-format` are only used on the CI, there's no reason to
include them here.
2019-08-23 15:12:58 +02:00
ykeara 746aa23207 Ssbugs, removal of re-vive, and dashboard loop tick (#277)
* minor changes

* debugging testing

* removed un-needed log calls

* moved some logic to run only when dashboard is active

* fixed linker error

* added casting

* removed revive tab

* removed stray revive reference

* removed revive from sources

* fixed misc formatting issues

* added newline
2019-08-22 13:40:48 -05:00
Vasily 1b5e092cc2 Update run-clang-format script
Upstream updated the script with error checking for incorrect
clang-format executable.
2019-08-19 03:10:32 +02:00
Vasily 8e43629bb2 Move windeployqt to Qmake
`qmake` is better suited for finding `windeployqt`, since it's in the same
directory as `qmake` on windows.

`qmake` is also better suited for finding the build target
(release/debug) vs third party scripts.

`windeployqt` is being forced to run in `cmd` because the syntax is
different for running executables in powershell, which means
`windeployqt` won't be executed and runtime or package errors will
occur.

With the removal of the windeployqt call the deploy step is no longer
needed for building on Windows, since all previous deploy tasks are now
handle by Qmake.
2019-07-30 10:45:28 +02:00
Vasily 94bbd30890 Strip whitespace from version_string line
This prevents stray newlines from getting in there.
2019-07-30 10:45:28 +02:00
Vasily b5d69c589c Make Qmake copy package files instead of OS scripts
Described in commit 97e203fd89e7cb54c7ce96ce779b2e8cb6ac1374

The python functions are no longer needed since the python script
doesn't handle file copy any more.
2019-07-24 10:54:55 +02:00
Vasily 46c8a62565 Make Qmake copy package files instead of OS scripts
Described in commit 97e203fd89e7cb54c7ce96ce779b2e8cb6ac1374

The linux directory in package_files is included even on Windows install
for simplicity and because it takes up less than 1KB.
2019-07-24 10:54:55 +02:00
Vasily 6e088a6ec8 Make Qmake copy licenses instead of OS scripts
Described in commit 97e203fd89e7cb54c7ce96ce779b2e8cb6ac1374

Linux was not including any license files by mistake.
2019-07-24 10:54:55 +02:00
Vasily 9fc22ccbb4 Make Qmake copy Readme instead of OS scripts
Described in commit 97e203fd89e7cb54c7ce96ce779b2e8cb6ac1374
2019-07-24 10:54:55 +02:00
Vasily cbac2f9539 Make Qmake copy res directory instead of OS scripts
Since Qt 5.6 Qmake has supported the (undocumented) file_copies
function.

Moving to an OS independent version is superior for obvious
reasons.

Use in
https://stackoverflow.com/questions/3984104/qmake-how-to-copy-a-file-to-the-output/54162789#54162789

Uses the same interface as the INSTALLS function described here
https://doc.qt.io/qt-5/qmake-advanced-usage.html#installing-files

Implemented in the file_copies.prf file found here
https://code.qt.io/cgit/qt/qtbase.git/log/mkspecs/features/file_copies.prf
2019-07-24 10:54:55 +02:00
Vasily 6e710a75b3 Add docstrings for new Windows build functions 2019-07-24 10:54:55 +02:00
Vasily 112e611709 Make Windows build script traverse paths for Qt Location
The environment variable still has precedence, and will be used before
all other versions if it exists.
2019-07-24 10:54:55 +02:00
Vasily 275d0813b5 Make whitespace updates to windows build files 2019-07-24 10:54:55 +02:00
Vasily 872a4a9ed8 Update version string to 3.2.0-dev 2019-07-04 20:26:24 +02:00
Vasily e70f66b2cb Make python version script remove newlines from version string
Previously newlines would remain and foul up the other build tools.
2019-07-04 18:25:44 +02:00
Vasily 696ddfdea4 Fix bug in python version script that lead to error 2019-07-04 17:44:07 +02:00
Vasily c9a85f45f6 Update version string to 3.2.0-release 2019-07-04 17:44:07 +02:00
Vasily 64ee6639ed Update version string to 3.2.0-RC2 2019-07-04 17:44:07 +02:00
Vasily 614278d7ec Add compiler check for g++-9 to qmake 2019-07-04 16:44:31 +02:00
Vasily 329b4e7331 Add SVG support to AppImage, move files instead of copying 2019-07-04 16:44:31 +02:00
Vasily 0121e75947 Manually add QtQuick.Dialogs to Linux AppImage
https://github.com/probonopd/linuxdeployqt/issues/25

As detailed there QtQuick/Dialogs and QtQuick/LocalStorage are not
automatically packaged.
2019-07-04 16:44:31 +02:00
Vasily ad05b29392 Add qml path to AppImage
This should solve problem

https://github.com/probonopd/linuxdeployqt/issues/25

with error message

QML Error:
file:///tmp/.mount_OpenVRtQNnT6/usr/bin/res/qml/common/mainwidget.qml:1:1:
module "QtQuick" is not installed
2019-07-04 16:44:31 +02:00
Vasily c08ab71e63 Remove AppImage new glibc switch 2019-07-04 16:44:31 +02:00
Vasily 6a7e5804bf Add CircleCI AppImage building
This builds on GCC for no reason in particular.
2019-07-04 16:44:31 +02:00
ykeara 0cc0cec1e5 32rc1 (#231)
* fixed UI error showing mic muted/un-muted

* fixed mute glitch (work-around)

* changed to RC status
2019-06-25 00:05:32 -05:00
Vasily 201cb40359 Add variable for clang-tidy name when building on Linux
Travis has the correct clang-tidy version of 7, while CircleCI needs
clang-tidy-7.
2019-06-24 19:21:14 +02:00
Vasily ec5a575d93 Add g++-8 specific version support. 2019-06-24 19:21:14 +02:00
Vasily e8af73db28 Make CircleCI have feature parity with TravisCI and update docs
Unnecessary line from Bionic 18.04 was removed.

A proper version guard was included for clang. Xenial currently ships
3.8.
2019-06-24 19:21:14 +02:00
Vasily b65657b371 Add clang passing build
CircleCI Xenial does not come with an up to date version of Clang. It is
therefore required to get the newest version (8). The .pri file has
quickly been edited to be similar to the g++ version check.
2019-06-24 19:21:14 +02:00
Vasily aade86ed47 Add circleci g++ passing build
CircleCI does not compile with --jobs.
2019-06-24 19:21:14 +02:00
ykeara b473f4d7db Prox sensor re-integration (#220)
* added arbitrary orientation change

* removed commented code

* updated to OVR 1.4.18

* changed two instances using new to init via array

* moved prox sensor action to haptic instead of Misc

* fixed json file, added prox sensor back for mic mute/un-mute

* added proximity sensor to audio and haptic chaperone warnings

* fixed fall-through behavior

* removed bad prox code
2019-06-14 12:33:56 -05:00
Vasily 8e34e9edca Update documentation for DBUS on Linux 2019-06-05 19:57:44 +02:00
Vasily f958026453 Add DBUS support for media keys 2019-06-05 19:57:44 +02:00
ykeara 263759a0df Color overlay adjustment feature (#208)
* perf graph overlay/checkbox added

* added toggle Chaperone action

* toggle chaperone non-functional

* fixed chaperone toggle action const to once

* Added Proximity Sensor Action back-end, not implemented via logic Until fixed by valve

* added default WMR controller profile

* formated

* formated steamvrtabcontroller.h

* fixed un-intended change

* fixed audio profile Bug w/ changed devices

* fixed name being used as param instead of ID

* fixed loop logic in saveAudioProfile

* audio profile fix WIP defaults OVR integration

* fixed profile Saves, delete logic and mirror logic needed

* fixed QML format, added TODO message

* Fixed Audio Profile Behavior

* fixed qml reference error

* audiodeviceselector changed qml

* Removed some comments

* changed Visibility slider Minimum to 30% (steamVR minimum allowed)

* fixed mirror/playback same issue

* fixed Audio device refresh bug, removed currently un-used proximity logic (commented out)

* removed dead code

* fixed Manifest install/un-install behavior

* removed un-used param

* color overlay in prog

* video overlay basic functions added

* fixed qml errors

* fixed init order error and chaperone min init error

* fixed duplicate button id issue, init issue

* fixed log call w/ manifest

* removed commented log lines
2019-06-01 11:02:55 -05:00
Vasily ef124ee225 Add dummy media_keys file
This allows Linux (and MacOS) to compile correctly again. The previous
behavior was an intended middle step.
2019-05-25 18:49:42 +02:00
Vasily 9fe1f3dc50 Separate media keys from keyboard shortcuts
The media keys were only in the keyboard shortcuts file because their
implementation was the same. With Linux support incoming their
implementations are not necessarily the same.
2019-05-25 18:49:42 +02:00
Vasily 55a3830787 Fix keyboard input implementation error and replace old system 2019-05-25 18:49:42 +02:00
Vasily 6a3a58361d Add Linux keyboard_input support 2019-05-25 18:49:42 +02:00
Vasily 0c7c339e3e Add sending inputs for keyboard_input on Windows 2019-05-25 18:49:42 +02:00
Vasily d6c7b52a47 Add initial keyboard_input parser and tests
The current implementation SEGFAULTs when F characters are followed by
end of string.
2019-05-25 18:49:42 +02:00
Vasily 4ec1fbf201 Add noX11 flag to Linux compilations
This allows users that are not using X11 to still compile the
application.
2019-04-22 09:56:50 +02:00
Vasily d0a2e15dbf Remove run-with-library.sh file from Linux builds
No longer necessary after adding '-Wl,-rpath,\'\$$ORIGIN\''.
2019-04-22 09:56:50 +02:00
Vasily b60113fb8e Replace GCC version regex with simpler solution 2019-04-22 09:56:50 +02:00
Vasily 9cfaf68a92 Update GCC compiler to not use hardcoded g++-7
Newer versions of Ubuntu ship with >g++-7, so there will be less of a
need as time goes on to perform this hack.
2019-04-22 09:56:50 +02:00
Vasily d139c34a67 Give clang/gcc explicit path to third-party libs
Qt Creator on Linux does not recognize the previous solution. Adding the
$$PWD makes the IDE work.
2019-04-22 09:56:50 +02:00
Vasily bdf66a658b Make Linux look in current folder for OpenVR lib 2019-04-22 09:56:50 +02:00
Vasily 30ef80d19c Update X11 package on Travis, clarify qt build specs
macx is also unix, apparently meaning it's necessary to distinguish
between the two.
2019-04-22 09:56:50 +02:00
Vasily 860eca1956 Add compiling on Ubuntu for X11 funcs 2019-04-22 09:56:50 +02:00
Vasily 0e8e26d553 Change version name to 3.1.0-dev
The previous -new appendix was just to make sure the old name wasn't
being used instead.
2019-04-19 22:30:04 +02:00
Vasily bb1d3e16fb Convert executable icon to new method
Manually creating an RC file was the Qt 4 way. The Qt 5 way is just
giving it an icon.

When an RC_FILE isn't manually created Qt will attempt to create one. If
there are non-integers in the version number the compilation will crash.

AdvancedSettings_resource.rc is a build artifact on Windows.
2019-04-19 22:30:04 +02:00