Commit Graph
100 Commits
Author SHA1 Message Date
username223 25d2854248 Merge pull request #64 from OpenVR-Advanced-Settings/compiler/readme-updates
Update Travis CI to use clang in addition to g++, update readme, update standard to C++17
2019-01-24 06:51:05 +01:00
username223 b661e3f8b3 Merge branch 'master' into compiler/readme-updates 2019-01-23 22:51:44 +01:00
Vasily 5f17377329 Add explanation to disabled warning in .pro file
MSVC does not yet support non experimental ways of selectively disabling
warnings for some files.
2019-01-23 22:44:09 +01:00
Vasily 168d9d38fd Remove C++17 testing code
Featured C++17 features to make sure compilers would be able to handle
future C++17 features.
2019-01-23 22:33:00 +01:00
Vasily c0c824d380 Remove C++17 flags from g++ and clang
The flags are already being applied by QMAKE.
2019-01-23 22:18:28 +01:00
Vasily 20341021c5 Update travis to use clang and g++7 2019-01-23 22:16:45 +01:00
Vasily 43bf20da45 Fix msvc and clang-msvc warnings with C++17
The codecvt header has been deprecatd for C++17, but no replacement has
been specified in the standard. It is possible to use the Windows
specific MultiByteToWideChar() and WideCharToMultiByte() from
<Windows.h> instead, however the codecvt header still works so there's
no reason to change it until a proper replacement has been specified in
the standard.

It is additionally necessary to manually set the standard for clang-msvc
to C++17.
2019-01-23 20:43:44 +01:00
Vasily d04cf32863 Update CI badges, update preview version link
Having the CI on their own line prevents the initial line from getting
way too long.

The preview version link should not show in development alpha branches,
but only the relatively tested master.
2019-01-23 20:03:36 +01:00
Vasily 80a28bf744 Update readme information
The Known Bugs section was removed because that's literally why the
issue tracker exists.
2019-01-23 19:57:22 +01:00
Vasily 583a62fb9c Update readme badges to reflect C++17 and Python dependency
The badge had not been updated for C++14 when we made the change. It had
also not been updated to reflect the dependency on Python during the
creation of the build script.
2019-01-23 19:39:29 +01:00
Vasily cd6403b8ff Update .pro file and add test C++17 statements to main
The test statements are making sure C++17 features are enabled on all
compilers. They should not be pushed to master as they are.
2019-01-23 19:31:03 +01:00
username223 1fc00e054b Merge pull request #61 from OpenVR-Advanced-Settings/alt-enter
Add Alt+Enter button to keyboard keys
2019-01-23 19:22:23 +01:00
Vasily 67b9869e44 Update UtilitiesPage.png with the Alt+Enter button
Additionally, the pause/play button has also been changed since last,
but the image wasn't changed.
2019-01-23 18:50:52 +01:00
Vasily 0a49c7a717 Add Alt+Enter button to Utilities page, update Win Alt+Tab func
Requested in this reddit post:
https://www.reddit.com/r/Vive/comments/agnvux/advanced_settings_280_motion_smoothing_audio_and/ee7muqo/

Use case is toggling full screen mode on applications.

The Alt+Tab function has been updated with a constexpr var that reduces
duplication in the function calls and makes the keys even more explicit.
2019-01-23 18:49:10 +01:00
username223 c10e45d2ab Merge pull request #59 from OpenVR-Advanced-Settings/new-input-api
Add IVRInput bindings for media keys
2019-01-22 20:56:10 +01:00
Vasily 7531fc61ea Add browser bindings viewer to readme
Collecting information in the readme prevents users from having to
Google it.
2019-01-22 20:36:42 +01:00
username223 4d835c7d31 Merge branch 'master' into new-input-api 2019-01-22 19:21:05 +01:00
Vasily 1ae434e987 Swap recommended ways of getting bindings to show up
Running with "-bindingsinterface" does not allow for continually
updating the bindings or playing around with them. While changing the
unix time in the vrappconfig is slightly harder for casual users, it
will also give them a way better user experience.
2019-01-22 18:35:50 +01:00
Vasily 667711246e Add media key bindings, update docs
All bindings are disabled by default. This is to prevent confusing
behaviour from users who do not know about the new bindings. Forcing
users to manually set up their bindings will also enable them to play
around with the SteamVR bindings interface, which allows for much more
versatile binding options that our current offerings.

All actions are curently in main action set. If the selection of
bindings was greatly expanded it could be beneficial to encapsulate the
options more. The current code is more intended as a proof of concept
until our full binding needs have been uncovered.

The processInputBindings function should probably also be split into
several functions of related bindings, as the amount of bindings grows.
2019-01-21 21:19:28 +01:00
Vasily 3a62ec89be Add comment to openvr_init.cpp 2019-01-20 22:54:30 +01:00
Vasily 4152333f20 Update documentation to reflect new bindings interface 2019-01-20 22:34:20 +01:00
Vasily 5ead96bc98 Update installer script to include action manifest 2019-01-20 22:16:02 +01:00
Vasily 706f21ebea Add ability to change IVRInput bindings, move openvr_init into namespace
openvr_init was not in a namespace. This led to it being globally
available. This was not intended.

The solution to overlays not showing up in the bindings interface was
chosen for ease of implementation and relative ease of end user use.
The Kinect2VR project are using a solution where there is a button to
shutdown background mode and use scene mode temporarily. This did not
work for our project for unknown reasons. The IVRInput system would
become non responsive and spam error messages when VR was shut down.
Implementation is here:
https://github.com/sharkyh20/KinectToVR/blob/12aeb8b33ab20eeb588c72c5d5186dd4d87784d7/SFMLProject/inc/GUIHandler.h#L700

The command line flag will be represented as a .bat file for the end
user, like desktop mode and restarting the VR server.

When Valve solves the issue of overlays not showing up in the bindings
menu, the entire function can essentially be deleted.
Official issues here:
https://github.com/ValveSoftware/openvr/issues/914
https://github.com/ValveSoftware/openvr/issues/926
https://github.com/ValveSoftware/openvr/issues/879

It is also possible to make the app appear by changing the
C:\Program Files (x86)\Steam\config\vrappconfig\*.vrappconfig file for
the project to have a "last_launch_time" of something greater than zero.
From experimentation it seems that there's a cutoff time around 2 weeks
before the current time. Setting it to the day before seems to be a good bet.
(In unix time).
2019-01-20 22:05:21 +01:00
Vasily 0c71c289b9 Finalize API and add comments 2019-01-20 20:13:05 +01:00
Vasily 01b0070e66 Rename steamivrinput.h/.cpp to ivrinput.h/.cpp
The name is shorter and identical to the folder name, emphasizing that
this is the main file in this module.
2019-01-19 21:32:12 +01:00
Vasily d7e3df185b Refactor IVRInput logic into several classes
Keeping the action name, handle and type together allows for better
error messages and limited run time type checking, to ensure that the
wrong function isn't called.

It is necessary to initialize the manifest in a class, since the Actions
depend on this being set.

Several files have been moved around to be more consistent.
2019-01-19 21:25:15 +01:00
Vasily 8bcab9b2c0 Refactor ivrinput functions to be more generic 2019-01-19 16:42:49 +01:00
Vasily 1585322c9d Move action manifest files to src/package_files
Putting them in the new directory makes the automatically get included
for deployment.

legacy_actions.json was not a good name for the file, since it actually
contained default bindings for Vive controllers. vive_defaults.json
better explains what it is.
2019-01-19 16:42:03 +01:00
Vasily 5accfd478a Implement beta IVRInput system for testing
In order to test new system:

Build and deploy application.

Copy both files from IVRInput/ dir into the bin/win64 folder.

Change const std::string m_actionManifestPath in steamivrinput.h to be
directly to your action_manifest.json file.

Run and turn on a Vive controller. Press the menu button. If logs say
"NEXT SONG SET!" it works.
2019-01-19 16:41:59 +01:00
username223 1ff3b6a335 Merge pull request #57 from OpenVR-Advanced-Settings/refactor-openvr-init
Refactor OpenVR init code to separate class
2019-01-19 16:36:57 +01:00
Vasily edaf982149 Prefix openVrInit with m_, like other member objects 2019-01-19 16:23:17 +01:00
Vasily d8f179fdf7 Refactor OpenVR init code to separate class
The OpenVR init code is currently being run in the OverlayController
constructor. Member objects that are initialized before the
OverlayController (ideally all of them) can't use OpenVR APIs before the
first line of the OverlayController constructor. Implementing the OpenVR
Init code as a class means that it is able to initialize before all the
other objects and allow them to use OpenVR APIs in their constructors.

The class has been placed in a folder called "overlaycontroller" to
signify that it should only be used by the OverlayController.

openvr_init.h uses #pragma once despite it being unofficial since it is
supported on all modern compilers.

The copy constructor, copy assignment operator, move constructor and
move assignment operator have been explicitly deleted in order to make
sure nobody tries to use the object in an unintended way, and to
document that these functions should not be automatically created.

The version error messages have been replaced with a single lambda,
since they were all identical.

The version error text should maybe tell the user to update Advanced
Settings instead of OpenVR, since Advanced Settings contains the version
strings in the binary.

No other exit functions were documented on the official docs besides
VR_Shutdown().
2019-01-18 23:28:17 +01:00
Vasily 474b1a7587 Rename version strings to 2.8.0-dev
Since version strings are displayed in logs and on the main screen, this
will prevent situations where the master branch is confused with the
2.8.0-release branch.

The 2-8-0-release file was a one time thing because the version numbers
were already changed, it should not be created for future releases.
2019-01-16 16:30:38 +01:00
username223 b7572f550c Merge pull request #49 from OpenVR-Advanced-Settings/2.8.0-release
Release 2.8.0
2019-01-16 16:29:51 +01:00
Vasily 008b516a2f Release 2.8.0
This commit should change version numbers, but since they're already
changed it'll add a file that should be removed next commit.
2019-01-15 18:14:40 +01:00
Vasily 9aaaf20577 Replace pause and play buttons with combined pause/play
The separate pause and play buttons necessitated changing between them
to signal that state had changed. Replacing it with a combined
pause/play button sidesteps all the issues in syncing up when which icon
should be shown.
2019-01-13 17:57:15 +01:00
Vasily f5000a0ee0 Refactor Media Control Keys QML into smaller bits
The old QML was a giant mess of implementation details and logic.
Reducing the buttons to only 2 essential properties allows the
MediaControllerKeys object to be more easily understood.

Moving the MediaControllerKeys into its own QML file allows the
resulting page to be more easily understood and individual pieces
swapped in and out.

The current QML directory structure is non-existent, breaking parts down
into cohesive folders will allow for easier understanding of the bigger
picture.
2019-01-13 16:47:38 +01:00
username223 b418c76315 Merge pull request #42 from OpenVR-Advanced-Settings/media-keys
Update keyboard functions, Add media control keys to Utilities page
2019-01-12 22:24:07 +01:00
username223 edbecb089e Merge branch 'master' into media-keys 2019-01-12 21:56:38 +01:00
Vasily a5da5b7108 Remove png files 2019-01-12 21:55:44 +01:00
Vasily 18b87797e9 Update screenshot 2019-01-12 19:43:35 +01:00
Vasily d9d6b0806e Add underline to Media Control Keys 2019-01-12 19:42:03 +01:00
Vasily 566165da39 Update readme with new feature 2019-01-12 19:22:27 +01:00
Vasily 4829ce7c8a Add QML for audio buttons and add pngs
.pngs were chosen because the .svgs were only available in black. Qt
currently does not have an easy way of changing colors. The rest of the
interface icons are white, so getting them in white was necessary.
2019-01-12 19:14:59 +01:00
Vasily ace455d3d3 Add media functions to UtilityTabController 2019-01-12 19:14:57 +01:00
Vasily 7da9d0e61f Implement new media keys for Windows 2019-01-12 19:14:57 +01:00
Vasily faa6ccc580 Refactor sendKeyboard functions to new funcs, propogate constness
The sendKeyboardBackspace function was used with a non-const parameter
throughout the entire inheritance hierachy. Const has been added to
every parameter for the reasons you add const.
2019-01-12 19:14:56 +01:00
Vasily 73f9766de7 Add higher abstraction funcs for sending keystrokes, add const parms
The original functions had the API details of sending keys absolutely
correct, but they were cumbersome to use due to not abstracting away the
press and release aspect and manual creation of INPUT structs.

The manual management of objects also saved a few operations, but with
the frequency that these functions are called it's probably better to
have more abstract code than preventing a 28 byte object from being stack
copied twice every 2 seconds or so.
2019-01-12 19:14:55 +01:00
username223 fca227f9c7 Merge pull request #39 from OpenVR-Advanced-Settings/refactor-singleton
Refactor OverlayController to be implemented as RAII object instead of global singleton
2019-01-11 23:21:30 +01:00
Vasily 148acf08ef Prefix OverlayController TabController members with m_ 2019-01-11 23:04:57 +01:00
Vasily d4fbdf5877 Prefix additional member variables in OverlayController with m_ 2019-01-11 23:04:56 +01:00
Vasily 65d1c8da38 Prefix desktopMode and noSound member vars with m_
This keeps consistency with the rest of the class and reduces possible
confusion, especially when member vars and parameters have the same
name.
2019-01-11 23:04:56 +01:00
Vasily 6ce10bd2f0 Change OverlayController from singleton pattern to regular RAII
The singleton pattern was poorly implemented and didn't provide the
benefits usually associated with the singleton pattern, with all the
negatives.

Refer to this github issue:
https://github.com/OpenVR-Advanced-Settings/OpenVR-AdvancedSettings/issues/29
2019-01-11 23:04:55 +01:00
username223 16f5438ab0 Update OpenVR dependency to version 1.1.3b (#28)
* Update OpenVR from an unknown version to 1.1.3b

There shouldn't be any breaking changes.

* Add removed variables from old OpenVR version

The strings are the names of variables in steamvr.vrsettings in
C:\Program Files
(x86)\Steam\steamapps\common\SteamVR\resources\settings\

The string allowReprojection leads to warning log spam on some
occasions.

For more information see this github issue
https://github.com/OpenVR-Advanced-Settings/OpenVR-AdvancedSettings/issues/25.
2019-01-08 16:53:16 -06:00
username223 9c7022f802 Fix QML error spam from MyStackViewPage and PlayspacePage (#24)
* Move logging set up into own function

This does not affect the ability to log, the logging macros are
available globally.

* Clean up logging logic and add comments

The logic to find the logging location was broken, in that it always
placed the logs in the directory of the executable.
It was supposed to place the logs in
AppData/Roaming/matzman666/OpenVRAdvancedSettings/AdvancedSettings.log,
but it hasn't done this since at least git tag "v2.7". Since the change
hasn't been documented anywhere it is assumed to be an unintentional
regression.
The settings file is also currently placed in
AppData/Roaming/matzman666/OpenVRAdvancedSettings.ini, so this commit
undoes the probable regression until a strategy can be developed for
changing all paths at once.

* Move command line arg logging calls and add to manifest calls

The LOG_IF macros are cleaner than if blocks, and they do not need to be
in the middle of the Qt logic inside a giant try block.

* Remove unused QCoreApplication constructor in manifest logic

The object is not used in any of the manifest logic functions and
running without the remove/install manifest calls does not use it
either.

* Unindent logic in installManifest

The error checking was unnecessarily done in an else block. Moving it
into an if block and negating the result does the same but leaves the
rest of the logic at a much smaller indentation level.

* Change array in installManifest to be 0 intialized

Not zero initializing could lead to strange bugs if the terminating null
isn't there.

* Move manifest install/removal to separate function

The manifest handling is tangential to the actual main operation of the
program, hence moving it to a separate function improves readability of
the actual program.

The enum ReturnErrorCode has also been moved to the top in order to be
available to all functions. On introspection it is revealed that it
should always have been placed at the top.

* Unindent logic in removeManifest

The logic is unnecessarily indented, leading to harder to follow logic.

While the current logic isn't that hard to understand, it's better if it
follows the same rhythm as installManifest, which errors checks the same
way with a !QFile::exists( manifestQPath ).

* Move manifestPath out of install/removeManifest

Moving the variable outside of the functions reduces code duplication
and increases the versatility of the functions.

Variable was renamed from manifestQPath to manifestPath, because the Q
does not add anything to the name except (maybe wrongfully in the
future) typing a variable that has been typed with 'auto'.

The default variable has been removed, as it did not improve readability
at all.

* Rename installManifest to handleManifestInstallLogic

The new name better reflects the overall purpose. installManifest should
be a function that only installs the manifest.

* Move manifest related things into manifest namespace

* Move manifestInstallation logic into functions

The logic becomes clearer when replaced by function names instead of
just blocks of error checking.

* Refactor installManifest into separate functions

The uses for the removeManifest and installManifest functions could be
boiled down to three separate use cases:
    * If the application was passed the "-installmanifest" arg:
        Reinstall the manifest and enable application autostart.
    * If the application was passed thed "-removemanifest" arg:
        Remove the manifest.
    * If the application was not passed "-desktop" and also not passed
    "-nomanifest" (basically every start):
        Install the manifest.

Where reinstalling means to remove the manifest if installed and then
install it.

The relatively complex logic in installManifest hid this logic behind
several if statements and changing what the "alreadyInstalled" bool
signified.

The refactored functions should make everything easier to understand.

* Add variable for manifest name

* Rename variables in main to camelCase

This appears to be the style chosen for the majority of the project.

* Change cerr to be LOG(ERROR) and add logging for manifest completion

The cerr calls are not likely to be seen by anybody. Logging them as
ERROR will make sure they are available for diagnostics.

* Add comments for new manifest functions

* Reorder namespaces and functions in main

Namespaces and functions are now ordered as they appear in main.

* Add static_cast to height and width in func call in main

width and height are "qreal" (typedef for double). Having them
implicitly cast to int leads to warnings on some compilers, and can lead
to doubt whether they're supposed to be converted.

* Move organizationName and applicationName into overlaycontroller.h

The string have been moved to static constexpr autos inside the
overlaycontroller.

Them remaining static means that they are included in the final binary,
even if they don't need to be included as static.

They should probably also not be directly gotten, instead being offered
up as static getters, but it's better to do them all at the same time in
a specific commit for that.

* Add comment to installApplicationManifest

Describing that OpenVR must be initialized before the function is
called.

* Change QApplication var name and add comments

The previous QApplication was named "a". This is obviously not
sufficient for such a large part of the application, even if the class
is rather boilerplate heavy.

* Add comments to Qt portions of main

Some things have been left uncommented. That's because I don't know what
it does.

* Change documentation for command line arguments, logging config

The information under the Desktop Mode header could be rolled under the
"-desktop" command line arg.

Support for the command line args of Easylogging++ and custom logging
files have not been supported for the original developer. Both should
probably be dropped in favor of having the same logging behavior for all
users.

* Remove error causing property from QML MyStackViewPage and PlayspacePage

The properties were causing an error message to be spammed in the log
QML QQuickText: Detected anchors on an item that is managed by a layout.
This is undefined behavior; use Layout.alignment instead.

and

QML RowLayout: Detected anchors on an item that is managed by a layout.
This is undefined behavior; use Layout.alignment instead.

Removing them fixed the spam and didn't noticeably change the appearance
of the pages.
2019-01-07 19:24:20 -06:00
username223 b10581674d Merge pull request #17 from OpenVR-Advanced-Settings/update-win-builds
Update windows build system, add clang-msvc to CI, add versioning to artifacts
2019-01-05 21:07:49 +01:00
Vasily 3e05bb07f9 Change Win build script batch file from test.bat to current_build.bat 2019-01-05 20:43:41 +01:00
Vasily 4787933a52 Add exit condition checking to build, deploy, package cmd files
Without the line checking the exit code, the script will not fail on a
failure from a subsystem.
2019-01-05 20:31:34 +01:00
Vasily 1df8e88e3d Change RM to DEL in build, package, deploy cmd files
RM is the Linux command, DEL is the Windows equivalent.
2019-01-05 19:53:34 +01:00
username223 6c26507945 Merge branch 'master' into update-win-builds 2019-01-04 20:56:39 +01:00
Vasily d2ef036b8e Add build_scripts\win\test.bat to gitignore
Also reverse slashes to make git recognize the path.
2019-01-04 18:30:31 +01:00
Vasily 81d8c516a8 Add developer docs file
This allows devs on the project to write useful information that might
not fit anywhere else, or might be applicable to multiple things.
2019-01-04 17:07:52 +01:00
Vasily b5eb548b40 Update python scripts with docs 2019-01-04 17:07:52 +01:00
Vasily 3c32cabebf Rename variables in docs 2019-01-04 17:07:52 +01:00
Vasily 9a59f554ed Update .gitignore and appveyor 2019-01-04 17:07:52 +01:00
Vasily 33dba6202b Update PYTHON env var to PYTHON_LOC 2019-01-04 17:07:52 +01:00
Vasily 93bbcc618a Correct 7zip directory, no python definition expansion 2019-01-04 17:07:52 +01:00
Vasily fa17b481b8 Specify python version in build_window.cmd 2019-01-04 17:07:52 +01:00
Vasily d4b09c76ad Update python scripts, build_windows.cmd 2019-01-04 17:07:52 +01:00
Vasily bfb11a9dc8 Add package python script, replace .cmd with py variants from PS 2019-01-04 17:08:34 +01:00
Vasily 1f1d321398 Update deployment script
Still needs file copying and batch file output.
2019-01-04 17:07:52 +01:00
Vasily 979f542348 Rename build.py to win_build.py
It's also going to fit the deploy and package scripts.
2019-01-04 17:07:52 +01:00
Vasily b806667717 Use python build script 2019-01-04 17:07:52 +01:00
Vasily 045a7d8e7c Update appveyor file and turn off /WX for clang-msvc
win32-clang-msvc has an error when compiling with /WX. The moc_predefs.h
file is not being built correctly, while without /WX it works. The
change should be reverted to enabling /WX for all msvc compilers when
the clang-msvc issue is fixed.

Update path to clang-format in appveyor file

Retry CI on Python script

Python script failed on CI due to run-clang-format.py: error: [Error 5]
Access is denied. Research says attempting again might solve the
problem.
2019-01-04 17:07:55 +01:00
Vasily 644c887f71 Update version strings, update NSIS file, move around extra files
The additional files packaged with the installer have been moved to
their own dir to separate them from the C++ source.

All licenses are now also included in the installer, as per the terms.

The version string in overlaycontroller.h has been updated to 2.8.0.
2019-01-04 17:06:02 +01:00
Vasily 14ab02f155 Remove function calls to say all vars are found 2019-01-04 16:14:47 +01:00
Vasily e7cb2d8c1a Add python build.py script
Does not work as well as the PS script, because of having to create
subprocesses and routing stdout and stderr seems to be problematic.
2019-01-04 16:13:23 +01:00
Vasily b0bce08c2d Convert win formatting script to use LLVM_LOC instead of
CLANG_FORMAT_LOC

The path to the bin dir for LLVM can be used for both clang-cl.exe and
clang-format.exe. Changing this will reduce the amount of environment
variables in play, leading to better long term quality.
2018-12-29 01:17:51 +01:00
Vasily 7449b1f1a9 Disable packaging and building installer by default
The average dev doesn't need to test out the zipping and installer
building utility. Having them package on every build is a waste of time.
2018-12-29 00:58:26 +01:00
username223 50a7486fc9 Merge pull request #13 from OpenVR-Advanced-Settings/update-dep-log
Update easylogging++ from 9.84 to 9.96.7, turn on warnings as errors for clang-msvc
2018-12-28 22:23:40 +01:00
username223 931c417331 Merge branch 'master' into update-dep-log 2018-12-28 22:17:32 +01:00
username223 cfde8ada63 Merge pull request #12 from OpenVR-Advanced-Settings/formatting
Implement clang-format and format entire src directory
2018-12-28 20:54:03 +01:00
Vasily 07ca5340dd Update easylogging++ to 9.96.7, turn on /WX for clang-msvc
Updating from easylogging++ 9.89 to 9.96.7 turns it from a header only
library to one requiring a source file. It has been added to sources
near the other third party includes in the QMAKE to signify that it
isn't a first party file.

Updating easylogging++ also means that clang-msvc can compile without
any warnings, hence turning on warnings as errors for that compiler as
well, to avoid any regressions.
2018-12-28 20:18:47 +01:00
Vasily a49d889ee8 Move easylogging++ include into necessary files
logging.h previously had logic to enable debug logging even on release
builds. This logic was moved to the QMAKE file, hence the logging.h file
is no longer necessary.
2018-12-28 20:07:00 +01:00
Vasily ad07220baf Move logging defines to QMAKE instead of logging.h
Defines done outside of easylogging++.h does not work according to
official documentation
(https://github.com/zuhd-org/easyloggingpp/blob/master/README.md#configuration-macros)

"NOTE: All the macros can be defined in one of the following ways:

1. Define macros using -D option of compiler, for example in case of
g++ you will do g++ source.cpp ... -DELPP_SYSLOG -DELPP_THREAD_SAFE
... (recommended way)

2. Define macros inside "easylogging++.h" (defining macros in other
files won't work)"

Linking to this issue:
https://github.com/zuhd-org/easyloggingpp/issues/590#issuecomment-346753951

We are using the developer recommended way of defining them by command
line.

What is assumed to be the intention of enabling debug logs before
including easylogging++ never actually did anything, hence this define
is dropped. Newer versions of easylogging++ uses the macro
ELPP_DISABLE_DEBUG_LOGS to _disable_ debug logs. Leaving that macro
undefined satisfies the original intent.
2018-12-28 19:49:49 +01:00
Vasily 9519d96e93 Update easylogging license file
Originally came as LICENCE.txt (notice C instead of S in LICENSE),
renamed to better fit into the git history.
2018-12-28 19:04:59 +01:00
Vasily 7cea4f23d1 Update logging dependency from 9.84 to 9.89
This is the newest version that doesn't lead to compile errors. It has
also reduced the amount of "-Wexpansion-to-defined" errors on clang-msvc
by about 80 (from ~400 to 320).
2018-12-28 18:59:58 +01:00
Vasily 9d9d3c8c7d Fix link errors in readmes 2018-12-28 15:57:32 +01:00
Vasily 4e05e66154 Update readme and building_for_windows
Adds links to programs needed in the windows file and links to
CONTRIBUTING.md for both Windows and Linux.
2018-12-28 15:53:49 +01:00
Vasily 3a6c8f5b11 Add documentation for use of clang-format
A CONTRIBUTING file is considered special by Github, being automatically
linked to whenever an attempted pull request is made. Writing the
formatting changes along with how to submit bug reports might seem
fractured, but the special status of the CONTRIBUTING file means that
users are likely to find it. Additionally, links will be added to the
Readme and building_on_windows files.
2018-12-28 15:53:49 +01:00
Vasily 1e3d3b3aed Add additional error handling to verification scripts 2018-12-28 15:53:41 +01:00
Vasily e0de89092e Add Travis CI badge to readme
Individual badges moved to own lines for readability.
2018-12-28 03:35:07 +01:00
Vasily 51057c1d79 Format every single file using .clang-format 2018-12-28 03:06:42 +01:00
Vasily 89c02642fc Fix switch in .clang-format that sorted includes.
This leads to a ton of compile errors. Better just leave it off.
2018-12-28 03:03:16 +01:00
Vasily 86a0dae70b Add verification scripts for clang-format
The scripts are very light on error handling and verification, mostly
intended just to debug if a CI server fails on formatting reasons.
2018-12-28 03:01:45 +01:00
Vasily 7c5146b05e Make .travis.yml and .appveyor.yml work, rename appveyor.yml
The appveyor script can not use a single quoted double quotes string,
like '"C:\Spaces are trouble\"', hence the solution of defining an
environment variable.

appveyor.yml has been renamed to .appveyor.yml to keep consistent with
.travis.yml and to be default hidden.
2018-12-28 01:28:26 +01:00
Vasily d58eb66e80 Update travis.yml
This commit should fail because nothing has been formatted yet.
2018-12-28 00:57:54 +01:00
Vasily 322ffb7dbb Update appveyor script
This commit should fail CI on appveyor, since nothing has been formatted
yet.
2018-12-28 00:49:51 +01:00
Vasily 4446af2a06 Add linux script
Not a lot of output compared to windows. It is assumed that linux users
have clang-format in the path.
2018-12-28 00:24:40 +01:00
Vasily c33e8f76e7 Add windows formatting script
Done in batch script because Powershell requires execution policy to be
changed to run scripts. Therefore batch files are considered to have a
lower barrier for entry.
2018-12-28 00:23:14 +01:00