Skip to content

Commit f35fef1

Browse files
authored
Merge pull request #3 from AlwinEsch/Matrix-change
[Matrix] API related update, cleanup, license add, german language add
2 parents f7bef98 + d0c7662 commit f35fef1

14 files changed

Lines changed: 351 additions & 64 deletions

File tree

.gitignore

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,5 +38,13 @@ obj-x86_64-linux-gnu/
3838
# to prevent add after a "git format-patch VALUE" and "git add ." call
3939
/*.patch
4040

41+
# Visual Studio Code
42+
.vscode
43+
4144
# to prevent add if project code opened by Visual Studio over CMake file
4245
.vs/
46+
47+
# General MacOS
48+
.DS_Store
49+
.AppleDouble
50+
.LSOverride

.travis.yml

Lines changed: 27 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,12 @@
11
language: cpp
22

3-
#
4-
# Define the build matrix
5-
#
6-
# Travis defaults to building on Ubuntu Trusty when building on
7-
# Linux. We need Xenial in order to get up to date versions of
8-
# cmake and g++.
9-
#
103
env:
114
global:
125
- app_id=visualization.matrix
136

7+
#
8+
# Define the build matrix
9+
#
1410
matrix:
1511
include:
1612
- os: linux
@@ -21,23 +17,38 @@ matrix:
2117
dist: xenial
2218
sudo: required
2319
compiler: clang
20+
- os: linux
21+
dist: bionic
22+
sudo: required
23+
compiler: gcc
24+
env: DEBIAN_BUILD=true
25+
- os: linux
26+
dist: focal
27+
sudo: required
28+
compiler: gcc
29+
env: DEBIAN_BUILD=true
2430
- os: osx
2531
osx_image: xcode10.2
2632

2733
before_install:
28-
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get update -qq; fi
29-
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get install -y libgl1-mesa-dev; fi
34+
- if [[ $DEBIAN_BUILD != true ]] && [[ $TRAVIS_OS_NAME == linux ]]; then sudo apt-get install -y libgl1-mesa-dev; fi
35+
- if [[ $DEBIAN_BUILD == true ]]; then sudo add-apt-repository -y ppa:team-xbmc/xbmc-nightly; fi
36+
- if [[ $DEBIAN_BUILD == true ]]; then sudo apt-get install fakeroot; fi
3037

3138
#
3239
# The addon source is automatically checked out in $TRAVIS_BUILD_DIR,
3340
# we'll put the Kodi source on the same level
3441
#
3542
before_script:
36-
- cd $TRAVIS_BUILD_DIR/..
37-
- git clone --branch master --depth=1 https://github.com/xbmc/xbmc.git
38-
- cd ${app_id} && mkdir build && cd build
39-
- mkdir -p definition/${app_id}
40-
- echo ${app_id} $TRAVIS_BUILD_DIR $TRAVIS_COMMIT > definition/${app_id}/${app_id}.txt
41-
- cmake -DADDONS_TO_BUILD=${app_id} -DADDON_SRC_PREFIX=$TRAVIS_BUILD_DIR/.. -DADDONS_DEFINITION_DIR=$TRAVIS_BUILD_DIR/build/definition -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=$TRAVIS_BUILD_DIR/../xbmc/addons -DPACKAGE_ZIP=1 $TRAVIS_BUILD_DIR/../xbmc/cmake/addons
43+
- if [[ $DEBIAN_BUILD != true ]]; then cd $TRAVIS_BUILD_DIR/..; fi
44+
- if [[ $DEBIAN_BUILD != true ]]; then git clone --branch master --depth=1 https://github.com/xbmc/xbmc.git; fi
45+
- if [[ $DEBIAN_BUILD != true ]]; then cd ${app_id} && mkdir build && cd build; fi
46+
- if [[ $DEBIAN_BUILD != true ]]; then mkdir -p definition/${app_id}; fi
47+
- if [[ $DEBIAN_BUILD != true ]]; then echo ${app_id} $TRAVIS_BUILD_DIR $TRAVIS_COMMIT > definition/${app_id}/${app_id}.txt; fi
48+
- if [[ $DEBIAN_BUILD != true ]]; then cmake -DADDONS_TO_BUILD=${app_id} -DADDON_SRC_PREFIX=$TRAVIS_BUILD_DIR/.. -DADDONS_DEFINITION_DIR=$TRAVIS_BUILD_DIR/build/definition -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=$TRAVIS_BUILD_DIR/../xbmc/addons -DPACKAGE_ZIP=1 $TRAVIS_BUILD_DIR/../xbmc/cmake/addons; fi
49+
- if [[ $DEBIAN_BUILD == true ]]; then wget https://raw.githubusercontent.com/xbmc/xbmc/master/xbmc/addons/kodi-dev-kit/tools/debian-addon-package-test.sh && chmod +x ./debian-addon-package-test.sh; fi
50+
- if [[ $DEBIAN_BUILD == true ]]; then sudo apt-get build-dep $TRAVIS_BUILD_DIR; fi
4251

43-
script: make
52+
script:
53+
- if [[ $DEBIAN_BUILD != true ]]; then make; fi
54+
- if [[ $DEBIAN_BUILD == true ]]; then ./debian-addon-package-test.sh $TRAVIS_BUILD_DIR; fi

Findglm.cmake

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
#.rst:
2+
# Findglm
3+
# ------------
4+
# Finds the OpenGL Mathematics (GLM) as a header only C++ mathematics library.
5+
#
6+
# This will define the following variables:
7+
#
8+
# GLM_FOUND - system has OpenGLES
9+
# GLM_INCLUDE_DIR - the OpenGLES include directory
10+
#
11+
# Note: Install was removed from GLM on version 0.9.9.6.
12+
13+
find_package(PkgConfig)
14+
if(PKG_CONFIG_FOUND)
15+
pkg_check_modules(PC_GLM glm QUIET)
16+
endif()
17+
18+
find_path(GLM_INCLUDE_DIR glm.hpp
19+
PATHS ${PC_GLM_INCLUDEDIR}
20+
PATH_SUFFIXES glm)
21+
22+
include(FindPackageHandleStandardArgs)
23+
find_package_handle_standard_args(glm REQUIRED_VARS GLM_INCLUDE_DIR)
24+
25+
mark_as_advanced(GLM_INCLUDE_DIR)

LICENSE.md

Lines changed: 264 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,264 @@
1+
The GNU General Public License, Version 2, June 1991 (GPLv2)
2+
============================================================
3+
4+
> Copyright (C) 1989, 1991 Free Software Foundation, Inc.
5+
> 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
6+
7+
Everyone is permitted to copy and distribute verbatim copies of this license
8+
document, but changing it is not allowed.
9+
10+
11+
Preamble
12+
--------
13+
14+
The licenses for most software are designed to take away your freedom to share
15+
and change it. By contrast, the GNU General Public License is intended to
16+
guarantee your freedom to share and change free software--to make sure the
17+
software is free for all its users. This General Public License applies to most
18+
of the Free Software Foundation's software and to any other program whose
19+
authors commit to using it. (Some other Free Software Foundation software is
20+
covered by the GNU Lesser General Public License instead.) You can apply it to
21+
your programs, too.
22+
23+
When we speak of free software, we are referring to freedom, not price. Our
24+
General Public Licenses are designed to make sure that you have the freedom to
25+
distribute copies of free software (and charge for this service if you wish),
26+
that you receive source code or can get it if you want it, that you can change
27+
the software or use pieces of it in new free programs; and that you know you can
28+
do these things.
29+
30+
To protect your rights, we need to make restrictions that forbid anyone to deny
31+
you these rights or to ask you to surrender the rights. These restrictions
32+
translate to certain responsibilities for you if you distribute copies of the
33+
software, or if you modify it.
34+
35+
For example, if you distribute copies of such a program, whether gratis or for a
36+
fee, you must give the recipients all the rights that you have. You must make
37+
sure that they, too, receive or can get the source code. And you must show them
38+
these terms so they know their rights.
39+
40+
We protect your rights with two steps: (1) copyright the software, and (2) offer
41+
you this license which gives you legal permission to copy, distribute and/or
42+
modify the software.
43+
44+
Also, for each author's protection and ours, we want to make certain that
45+
everyone understands that there is no warranty for this free software. If the
46+
software is modified by someone else and passed on, we want its recipients to
47+
know that what they have is not the original, so that any problems introduced by
48+
others will not reflect on the original authors' reputations.
49+
50+
Finally, any free program is threatened constantly by software patents. We wish
51+
to avoid the danger that redistributors of a free program will individually
52+
obtain patent licenses, in effect making the program proprietary. To prevent
53+
this, we have made it clear that any patent must be licensed for everyone's free
54+
use or not licensed at all.
55+
56+
The precise terms and conditions for copying, distribution and modification
57+
follow.
58+
59+
60+
Terms And Conditions For Copying, Distribution And Modification
61+
---------------------------------------------------------------
62+
63+
**0.** This License applies to any program or other work which contains a notice
64+
placed by the copyright holder saying it may be distributed under the terms of
65+
this General Public License. The "Program", below, refers to any such program or
66+
work, and a "work based on the Program" means either the Program or any
67+
derivative work under copyright law: that is to say, a work containing the
68+
Program or a portion of it, either verbatim or with modifications and/or
69+
translated into another language. (Hereinafter, translation is included without
70+
limitation in the term "modification".) Each licensee is addressed as "you".
71+
72+
Activities other than copying, distribution and modification are not covered by
73+
this License; they are outside its scope. The act of running the Program is not
74+
restricted, and the output from the Program is covered only if its contents
75+
constitute a work based on the Program (independent of having been made by
76+
running the Program). Whether that is true depends on what the Program does.
77+
78+
**1.** You may copy and distribute verbatim copies of the Program's source code
79+
as you receive it, in any medium, provided that you conspicuously and
80+
appropriately publish on each copy an appropriate copyright notice and
81+
disclaimer of warranty; keep intact all the notices that refer to this License
82+
and to the absence of any warranty; and give any other recipients of the Program
83+
a copy of this License along with the Program.
84+
85+
You may charge a fee for the physical act of transferring a copy, and you may at
86+
your option offer warranty protection in exchange for a fee.
87+
88+
**2.** You may modify your copy or copies of the Program or any portion of it,
89+
thus forming a work based on the Program, and copy and distribute such
90+
modifications or work under the terms of Section 1 above, provided that you also
91+
meet all of these conditions:
92+
93+
* **a)** You must cause the modified files to carry prominent notices stating
94+
that you changed the files and the date of any change.
95+
96+
* **b)** You must cause any work that you distribute or publish, that in whole
97+
or in part contains or is derived from the Program or any part thereof, to
98+
be licensed as a whole at no charge to all third parties under the terms of
99+
this License.
100+
101+
* **c)** If the modified program normally reads commands interactively when
102+
run, you must cause it, when started running for such interactive use in the
103+
most ordinary way, to print or display an announcement including an
104+
appropriate copyright notice and a notice that there is no warranty (or
105+
else, saying that you provide a warranty) and that users may redistribute
106+
the program under these conditions, and telling the user how to view a copy
107+
of this License. (Exception: if the Program itself is interactive but does
108+
not normally print such an announcement, your work based on the Program is
109+
not required to print an announcement.)
110+
111+
These requirements apply to the modified work as a whole. If identifiable
112+
sections of that work are not derived from the Program, and can be reasonably
113+
considered independent and separate works in themselves, then this License, and
114+
its terms, do not apply to those sections when you distribute them as separate
115+
works. But when you distribute the same sections as part of a whole which is a
116+
work based on the Program, the distribution of the whole must be on the terms of
117+
this License, whose permissions for other licensees extend to the entire whole,
118+
and thus to each and every part regardless of who wrote it.
119+
120+
Thus, it is not the intent of this section to claim rights or contest your
121+
rights to work written entirely by you; rather, the intent is to exercise the
122+
right to control the distribution of derivative or collective works based on the
123+
Program.
124+
125+
In addition, mere aggregation of another work not based on the Program with the
126+
Program (or with a work based on the Program) on a volume of a storage or
127+
distribution medium does not bring the other work under the scope of this
128+
License.
129+
130+
**3.** You may copy and distribute the Program (or a work based on it, under
131+
Section 2) in object code or executable form under the terms of Sections 1 and 2
132+
above provided that you also do one of the following:
133+
134+
* **a)** Accompany it with the complete corresponding machine-readable source
135+
code, which must be distributed under the terms of Sections 1 and 2 above on
136+
a medium customarily used for software interchange; or,
137+
138+
* **b)** Accompany it with a written offer, valid for at least three years, to
139+
give any third party, for a charge no more than your cost of physically
140+
performing source distribution, a complete machine-readable copy of the
141+
corresponding source code, to be distributed under the terms of Sections 1
142+
and 2 above on a medium customarily used for software interchange; or,
143+
144+
* **c)** Accompany it with the information you received as to the offer to
145+
distribute corresponding source code. (This alternative is allowed only for
146+
noncommercial distribution and only if you received the program in object
147+
code or executable form with such an offer, in accord with Subsection b
148+
above.)
149+
150+
The source code for a work means the preferred form of the work for making
151+
modifications to it. For an executable work, complete source code means all the
152+
source code for all modules it contains, plus any associated interface
153+
definition files, plus the scripts used to control compilation and installation
154+
of the executable. However, as a special exception, the source code distributed
155+
need not include anything that is normally distributed (in either source or
156+
binary form) with the major components (compiler, kernel, and so on) of the
157+
operating system on which the executable runs, unless that component itself
158+
accompanies the executable.
159+
160+
If distribution of executable or object code is made by offering access to copy
161+
from a designated place, then offering equivalent access to copy the source code
162+
from the same place counts as distribution of the source code, even though third
163+
parties are not compelled to copy the source along with the object code.
164+
165+
**4.** You may not copy, modify, sublicense, or distribute the Program except as
166+
expressly provided under this License. Any attempt otherwise to copy, modify,
167+
sublicense or distribute the Program is void, and will automatically terminate
168+
your rights under this License. However, parties who have received copies, or
169+
rights, from you under this License will not have their licenses terminated so
170+
long as such parties remain in full compliance.
171+
172+
**5.** You are not required to accept this License, since you have not signed
173+
it. However, nothing else grants you permission to modify or distribute the
174+
Program or its derivative works. These actions are prohibited by law if you do
175+
not accept this License. Therefore, by modifying or distributing the Program (or
176+
any work based on the Program), you indicate your acceptance of this License to
177+
do so, and all its terms and conditions for copying, distributing or modifying
178+
the Program or works based on it.
179+
180+
**6.** Each time you redistribute the Program (or any work based on the
181+
Program), the recipient automatically receives a license from the original
182+
licensor to copy, distribute or modify the Program subject to these terms and
183+
conditions. You may not impose any further restrictions on the recipients'
184+
exercise of the rights granted herein. You are not responsible for enforcing
185+
compliance by third parties to this License.
186+
187+
**7.** If, as a consequence of a court judgment or allegation of patent
188+
infringement or for any other reason (not limited to patent issues), conditions
189+
are imposed on you (whether by court order, agreement or otherwise) that
190+
contradict the conditions of this License, they do not excuse you from the
191+
conditions of this License. If you cannot distribute so as to satisfy
192+
simultaneously your obligations under this License and any other pertinent
193+
obligations, then as a consequence you may not distribute the Program at all.
194+
For example, if a patent license would not permit royalty-free redistribution of
195+
the Program by all those who receive copies directly or indirectly through you,
196+
then the only way you could satisfy both it and this License would be to refrain
197+
entirely from distribution of the Program.
198+
199+
If any portion of this section is held invalid or unenforceable under any
200+
particular circumstance, the balance of the section is intended to apply and the
201+
section as a whole is intended to apply in other circumstances.
202+
203+
It is not the purpose of this section to induce you to infringe any patents or
204+
other property right claims or to contest validity of any such claims; this
205+
section has the sole purpose of protecting the integrity of the free software
206+
distribution system, which is implemented by public license practices. Many
207+
people have made generous contributions to the wide range of software
208+
distributed through that system in reliance on consistent application of that
209+
system; it is up to the author/donor to decide if he or she is willing to
210+
distribute software through any other system and a licensee cannot impose that
211+
choice.
212+
213+
This section is intended to make thoroughly clear what is believed to be a
214+
consequence of the rest of this License.
215+
216+
**8.** If the distribution and/or use of the Program is restricted in certain
217+
countries either by patents or by copyrighted interfaces, the original copyright
218+
holder who places the Program under this License may add an explicit
219+
geographical distribution limitation excluding those countries, so that
220+
distribution is permitted only in or among countries not thus excluded. In such
221+
case, this License incorporates the limitation as if written in the body of this
222+
License.
223+
224+
**9.** The Free Software Foundation may publish revised and/or new versions of
225+
the General Public License from time to time. Such new versions will be similar
226+
in spirit to the present version, but may differ in detail to address new
227+
problems or concerns.
228+
229+
Each version is given a distinguishing version number. If the Program specifies
230+
a version number of this License which applies to it and "any later version",
231+
you have the option of following the terms and conditions either of that version
232+
or of any later version published by the Free Software Foundation. If the
233+
Program does not specify a version number of this License, you may choose any
234+
version ever published by the Free Software Foundation.
235+
236+
**10.** If you wish to incorporate parts of the Program into other free programs
237+
whose distribution conditions are different, write to the author to ask for
238+
permission. For software which is copyrighted by the Free Software Foundation,
239+
write to the Free Software Foundation; we sometimes make exceptions for this.
240+
Our decision will be guided by the two goals of preserving the free status of
241+
all derivatives of our free software and of promoting the sharing and reuse of
242+
software generally.
243+
244+
245+
No Warranty
246+
-----------
247+
248+
**11.** BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR
249+
THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE
250+
STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM
251+
"AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
252+
BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
253+
PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
254+
PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
255+
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
256+
257+
**12.** IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
258+
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE
259+
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
260+
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR
261+
INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA
262+
BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
263+
FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER
264+
OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

0 commit comments

Comments
 (0)