Dropping the patch queue
Upstream has merged the patch we've added in preparation for 0.9.9.6-2.
So we don't need the patch queue any more.
Carsten Schoenert
3 years ago
0 | From: Will Usher <willusher.life@gmail.com> | |
1 | Date: Fri, 1 Nov 2019 11:16:31 -0600 | |
2 | Subject: Add a CMake Package config | |
3 | ||
4 | - Also fix clang 7 use on travis CI | |
5 | --- | |
6 | .appveyor.yml | 6 ++ | |
7 | .gitignore | 3 + | |
8 | .travis.yml | 195 +++++++++++++++++++++++++++++++++++++++++-- | |
9 | glmConfig-version.cmake | 13 +++ | |
10 | glmConfig.cmake | 13 +++ | |
11 | manual.md | 5 ++ | |
12 | test/cmake/CMakeLists.txt | 8 ++ | |
13 | test/cmake/test_find_glm.cpp | 22 +++++ | |
14 | 8 files changed, 260 insertions(+), 5 deletions(-) | |
15 | create mode 100644 glmConfig-version.cmake | |
16 | create mode 100644 glmConfig.cmake | |
17 | create mode 100644 test/cmake/CMakeLists.txt | |
18 | create mode 100644 test/cmake/test_find_glm.cpp | |
19 | ||
20 | diff --git a/.appveyor.yml b/.appveyor.yml | |
21 | index 5b018cd..9912ffc 100644 | |
22 | --- a/.appveyor.yml | |
23 | +++ b/.appveyor.yml | |
24 | @@ -67,5 +67,11 @@ build_script: | |
25 | ||
26 | test_script: | |
27 | - ctest -j4 -C %CONFIGURATION% | |
28 | + - cd .. | |
29 | + - ps: | | |
30 | + mkdir build_test_cmake | |
31 | + cd build_test_cmake | |
32 | + cmake ..\test\cmake\ -G "$env:generator" -Dglm_DIR="$env:APPVEYOR_BUILD_FOLDER" | |
33 | + - cmake --build . --config %CONFIGURATION% -- /m /v:minimal | |
34 | ||
35 | deploy: off | |
36 | diff --git a/.gitignore b/.gitignore | |
37 | index a0a1fc8..9dbd6d8 100644 | |
38 | --- a/.gitignore | |
39 | +++ b/.gitignore | |
40 | @@ -33,6 +33,8 @@ CMakeFiles | |
41 | cmake_install.cmake | |
42 | install_manifest.txt | |
43 | *.cmake | |
44 | +!glmConfig.cmake | |
45 | +!glmConfig-version.cmake | |
46 | # ^ May need to add future .cmake files as exceptions | |
47 | ||
48 | # Test logs | |
49 | @@ -56,3 +58,4 @@ build* | |
50 | /.vscode | |
51 | /CMakeSettings.json | |
52 | .DS_Store | |
53 | +*.swp | |
54 | diff --git a/.travis.yml b/.travis.yml | |
55 | index 737f756..b0d2249 100644 | |
56 | --- a/.travis.yml | |
57 | +++ b/.travis.yml | |
58 | @@ -11,6 +11,11 @@ matrix: | |
59 | - cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_DISABLE_AUTO_DETECTION=ON .. | |
60 | - cmake -E time cmake --build . | |
61 | - ctest | |
62 | + - cd $TRAVIS_BUILD_DIR | |
63 | + - mkdir ./build_test_cmake | |
64 | + - cd ./build_test_cmake | |
65 | + - cmake -DCMAKE_CXX_COMPILER=$COMPILER $TRAVIS_BUILD_DIR/test/cmake/ -Dglm_DIR=$TRAVIS_BUILD_DIR | |
66 | + - cmake --build . | |
67 | env: | |
68 | - MATRIX_EVAL="INFO=C++unknown-release" | |
69 | ||
70 | @@ -23,6 +28,11 @@ matrix: | |
71 | - cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_98=ON -DGLM_TEST_FORCE_PURE=ON .. | |
72 | - cmake -E time cmake --build . | |
73 | - ctest | |
74 | + - cd $TRAVIS_BUILD_DIR | |
75 | + - mkdir ./build_test_cmake | |
76 | + - cd ./build_test_cmake | |
77 | + - cmake -DCMAKE_CXX_COMPILER=$COMPILER $TRAVIS_BUILD_DIR/test/cmake/ -Dglm_DIR=$TRAVIS_BUILD_DIR | |
78 | + - cmake --build . | |
79 | env: | |
80 | - MATRIX_EVAL="INFO=C++98-pure-release" | |
81 | ||
82 | @@ -35,6 +45,11 @@ matrix: | |
83 | - cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_98=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON .. | |
84 | - cmake -E time cmake --build . | |
85 | - ctest | |
86 | + - cd $TRAVIS_BUILD_DIR | |
87 | + - mkdir ./build_test_cmake | |
88 | + - cd ./build_test_cmake | |
89 | + - cmake -DCMAKE_CXX_COMPILER=$COMPILER $TRAVIS_BUILD_DIR/test/cmake/ -Dglm_DIR=$TRAVIS_BUILD_DIR | |
90 | + - cmake --build . | |
91 | env: | |
92 | - MATRIX_EVAL="INFO=C++98-pure-ms-release" | |
93 | ||
94 | @@ -47,6 +62,11 @@ matrix: | |
95 | - cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_11=ON -DGLM_TEST_FORCE_PURE=ON .. | |
96 | - cmake -E time cmake --build . | |
97 | - ctest | |
98 | + - cd $TRAVIS_BUILD_DIR | |
99 | + - mkdir ./build_test_cmake | |
100 | + - cd ./build_test_cmake | |
101 | + - cmake -DCMAKE_CXX_COMPILER=$COMPILER $TRAVIS_BUILD_DIR/test/cmake/ -Dglm_DIR=$TRAVIS_BUILD_DIR | |
102 | + - cmake --build . | |
103 | env: | |
104 | - MATRIX_EVAL="INFO=C++11-pure-release" | |
105 | ||
106 | @@ -59,6 +79,11 @@ matrix: | |
107 | - cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_11=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_ENABLE_SIMD_SSE2=ON .. | |
108 | - cmake -E time cmake --build . | |
109 | - ctest | |
110 | + - cd $TRAVIS_BUILD_DIR | |
111 | + - mkdir ./build_test_cmake | |
112 | + - cd ./build_test_cmake | |
113 | + - cmake -DCMAKE_CXX_COMPILER=$COMPILER $TRAVIS_BUILD_DIR/test/cmake/ -Dglm_DIR=$TRAVIS_BUILD_DIR | |
114 | + - cmake --build . | |
115 | env: | |
116 | - MATRIX_EVAL="INFO=C++11-sse2-release" | |
117 | ||
118 | @@ -71,6 +96,11 @@ matrix: | |
119 | - cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_14=ON -DGLM_TEST_FORCE_PURE=ON .. | |
120 | - cmake -E time cmake --build . | |
121 | - ctest | |
122 | + - cd $TRAVIS_BUILD_DIR | |
123 | + - mkdir ./build_test_cmake | |
124 | + - cd ./build_test_cmake | |
125 | + - cmake -DCMAKE_CXX_COMPILER=$COMPILER $TRAVIS_BUILD_DIR/test/cmake/ -Dglm_DIR=$TRAVIS_BUILD_DIR | |
126 | + - cmake --build . | |
127 | env: | |
128 | - MATRIX_EVAL="INFO=C++14-pure-release" | |
129 | ||
130 | @@ -83,6 +113,11 @@ matrix: | |
131 | - cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_14=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_ENABLE_SIMD_SSE3=ON .. | |
132 | - cmake -E time cmake --build . | |
133 | - ctest | |
134 | + - cd $TRAVIS_BUILD_DIR | |
135 | + - mkdir ./build_test_cmake | |
136 | + - cd ./build_test_cmake | |
137 | + - cmake -DCMAKE_CXX_COMPILER=$COMPILER $TRAVIS_BUILD_DIR/test/cmake/ -Dglm_DIR=$TRAVIS_BUILD_DIR | |
138 | + - cmake --build . | |
139 | env: | |
140 | - MATRIX_EVAL="INFO=C++14-sse3-release" | |
141 | ||
142 | @@ -95,6 +130,11 @@ matrix: | |
143 | - cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_14=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_ENABLE_SIMD_AVX=ON .. | |
144 | - cmake -E time cmake --build . | |
145 | - ctest | |
146 | + - cd $TRAVIS_BUILD_DIR | |
147 | + - mkdir ./build_test_cmake | |
148 | + - cd ./build_test_cmake | |
149 | + - cmake -DCMAKE_CXX_COMPILER=$COMPILER $TRAVIS_BUILD_DIR/test/cmake/ -Dglm_DIR=$TRAVIS_BUILD_DIR | |
150 | + - cmake --build . | |
151 | env: | |
152 | - MATRIX_EVAL="INFO=C++14-avx-release" | |
153 | ||
154 | @@ -107,6 +147,11 @@ matrix: | |
155 | - cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_14=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_ENABLE_SIMD_AVX=ON .. | |
156 | - cmake -E time cmake --build . | |
157 | - ctest | |
158 | + - cd $TRAVIS_BUILD_DIR | |
159 | + - mkdir ./build_test_cmake | |
160 | + - cd ./build_test_cmake | |
161 | + - cmake -DCMAKE_CXX_COMPILER=$COMPILER $TRAVIS_BUILD_DIR/test/cmake/ -Dglm_DIR=$TRAVIS_BUILD_DIR | |
162 | + - cmake --build . | |
163 | env: | |
164 | - MATRIX_EVAL="INFO=C++14-avx-debug" | |
165 | ||
166 | @@ -119,6 +164,11 @@ matrix: | |
167 | - cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_17=ON -DGLM_TEST_FORCE_PURE=ON .. | |
168 | - cmake -E time cmake --build . | |
169 | - ctest | |
170 | + - cd $TRAVIS_BUILD_DIR | |
171 | + - mkdir ./build_test_cmake | |
172 | + - cd ./build_test_cmake | |
173 | + - cmake -DCMAKE_CXX_COMPILER=$COMPILER $TRAVIS_BUILD_DIR/test/cmake/ -Dglm_DIR=$TRAVIS_BUILD_DIR | |
174 | + - cmake --build . | |
175 | env: | |
176 | - MATRIX_EVAL="INFO=C++17-pure-release" | |
177 | ||
178 | @@ -131,6 +181,11 @@ matrix: | |
179 | - cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_17=ON -DGLM_TEST_FORCE_PURE=ON .. | |
180 | - cmake -E time cmake --build . | |
181 | - ctest | |
182 | + - cd $TRAVIS_BUILD_DIR | |
183 | + - mkdir ./build_test_cmake | |
184 | + - cd ./build_test_cmake | |
185 | + - cmake -DCMAKE_CXX_COMPILER=$COMPILER $TRAVIS_BUILD_DIR/test/cmake/ -Dglm_DIR=$TRAVIS_BUILD_DIR | |
186 | + - cmake --build . | |
187 | env: | |
188 | - MATRIX_EVAL="INFO=C++17-pure-debug" | |
189 | ||
190 | @@ -143,6 +198,11 @@ matrix: | |
191 | - cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_17=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_ENABLE_SIMD_AVX=ON .. | |
192 | - cmake -E time cmake --build . | |
193 | - ctest | |
194 | + - cd $TRAVIS_BUILD_DIR | |
195 | + - mkdir ./build_test_cmake | |
196 | + - cd ./build_test_cmake | |
197 | + - cmake -DCMAKE_CXX_COMPILER=$COMPILER $TRAVIS_BUILD_DIR/test/cmake/ -Dglm_DIR=$TRAVIS_BUILD_DIR | |
198 | + - cmake --build . | |
199 | env: | |
200 | - MATRIX_EVAL="INFO=C++17-avx-release" | |
201 | ||
202 | @@ -155,6 +215,11 @@ matrix: | |
203 | - cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_17=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_ENABLE_SIMD_AVX=ON .. | |
204 | - cmake -E time cmake --build . | |
205 | - ctest | |
206 | + - cd $TRAVIS_BUILD_DIR | |
207 | + - mkdir ./build_test_cmake | |
208 | + - cd ./build_test_cmake | |
209 | + - cmake -DCMAKE_CXX_COMPILER=$COMPILER $TRAVIS_BUILD_DIR/test/cmake/ -Dglm_DIR=$TRAVIS_BUILD_DIR | |
210 | + - cmake --build . | |
211 | env: | |
212 | - MATRIX_EVAL="INFO=C++17-avx-debug" | |
213 | ||
214 | @@ -174,6 +239,11 @@ matrix: | |
215 | - cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_98=ON -DGLM_TEST_FORCE_PURE=ON .. | |
216 | - cmake --build . | |
217 | - ctest | |
218 | + - cd $TRAVIS_BUILD_DIR | |
219 | + - mkdir ./build_test_cmake | |
220 | + - cd ./build_test_cmake | |
221 | + - cmake -DCMAKE_CXX_COMPILER=$COMPILER $TRAVIS_BUILD_DIR/test/cmake/ -Dglm_DIR=$TRAVIS_BUILD_DIR | |
222 | + - cmake --build . | |
223 | ||
224 | - os: linux | |
225 | addons: | |
226 | @@ -191,6 +261,11 @@ matrix: | |
227 | - cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_98=ON -DGLM_TEST_FORCE_PURE=ON .. | |
228 | - cmake --build . | |
229 | - ctest | |
230 | + - cd $TRAVIS_BUILD_DIR | |
231 | + - mkdir ./build_test_cmake | |
232 | + - cd ./build_test_cmake | |
233 | + - cmake -DCMAKE_CXX_COMPILER=$COMPILER $TRAVIS_BUILD_DIR/test/cmake/ -Dglm_DIR=$TRAVIS_BUILD_DIR | |
234 | + - cmake --build . | |
235 | ||
236 | - os: linux | |
237 | addons: | |
238 | @@ -208,6 +283,11 @@ matrix: | |
239 | - cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_98=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_FORCE_PURE=ON .. | |
240 | - cmake --build . | |
241 | - ctest | |
242 | + - cd $TRAVIS_BUILD_DIR | |
243 | + - mkdir ./build_test_cmake | |
244 | + - cd ./build_test_cmake | |
245 | + - cmake -DCMAKE_CXX_COMPILER=$COMPILER $TRAVIS_BUILD_DIR/test/cmake/ -Dglm_DIR=$TRAVIS_BUILD_DIR | |
246 | + - cmake --build . | |
247 | ||
248 | - os: linux | |
249 | addons: | |
250 | @@ -225,6 +305,11 @@ matrix: | |
251 | - cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_11=ON -DGLM_TEST_FORCE_PURE=ON .. | |
252 | - cmake --build . | |
253 | - ctest | |
254 | + - cd $TRAVIS_BUILD_DIR | |
255 | + - mkdir ./build_test_cmake | |
256 | + - cd ./build_test_cmake | |
257 | + - cmake -DCMAKE_CXX_COMPILER=$COMPILER $TRAVIS_BUILD_DIR/test/cmake/ -Dglm_DIR=$TRAVIS_BUILD_DIR | |
258 | + - cmake --build . | |
259 | ||
260 | - os: linux | |
261 | addons: | |
262 | @@ -242,6 +327,11 @@ matrix: | |
263 | - cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_11=ON -DGLM_TEST_FORCE_PURE=ON .. | |
264 | - cmake --build . | |
265 | - ctest | |
266 | + - cd $TRAVIS_BUILD_DIR | |
267 | + - mkdir ./build_test_cmake | |
268 | + - cd ./build_test_cmake | |
269 | + - cmake -DCMAKE_CXX_COMPILER=$COMPILER $TRAVIS_BUILD_DIR/test/cmake/ -Dglm_DIR=$TRAVIS_BUILD_DIR | |
270 | + - cmake --build . | |
271 | ||
272 | - os: linux | |
273 | addons: | |
274 | @@ -259,6 +349,11 @@ matrix: | |
275 | - cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_11=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_FORCE_PURE=ON .. | |
276 | - cmake --build . | |
277 | - ctest | |
278 | + - cd $TRAVIS_BUILD_DIR | |
279 | + - mkdir ./build_test_cmake | |
280 | + - cd ./build_test_cmake | |
281 | + - cmake -DCMAKE_CXX_COMPILER=$COMPILER $TRAVIS_BUILD_DIR/test/cmake/ -Dglm_DIR=$TRAVIS_BUILD_DIR | |
282 | + - cmake --build . | |
283 | ||
284 | - os: linux | |
285 | addons: | |
286 | @@ -276,6 +371,11 @@ matrix: | |
287 | - cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_11=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_ENABLE_SIMD_SSE3=ON .. | |
288 | - cmake --build . | |
289 | - ctest | |
290 | + - cd $TRAVIS_BUILD_DIR | |
291 | + - mkdir ./build_test_cmake | |
292 | + - cd ./build_test_cmake | |
293 | + - cmake -DCMAKE_CXX_COMPILER=$COMPILER $TRAVIS_BUILD_DIR/test/cmake/ -Dglm_DIR=$TRAVIS_BUILD_DIR | |
294 | + - cmake --build . | |
295 | ||
296 | - os: linux | |
297 | addons: | |
298 | @@ -293,6 +393,11 @@ matrix: | |
299 | - cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_14=ON -DGLM_TEST_FORCE_PURE=ON .. | |
300 | - cmake --build . | |
301 | - ctest | |
302 | + - cd $TRAVIS_BUILD_DIR | |
303 | + - mkdir ./build_test_cmake | |
304 | + - cd ./build_test_cmake | |
305 | + - cmake -DCMAKE_CXX_COMPILER=$COMPILER $TRAVIS_BUILD_DIR/test/cmake/ -Dglm_DIR=$TRAVIS_BUILD_DIR | |
306 | + - cmake --build . | |
307 | ||
308 | - os: linux | |
309 | addons: | |
310 | @@ -310,6 +415,11 @@ matrix: | |
311 | - cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_14=ON -DGLM_TEST_FORCE_PURE=ON .. | |
312 | - cmake --build . | |
313 | - ctest | |
314 | + - cd $TRAVIS_BUILD_DIR | |
315 | + - mkdir ./build_test_cmake | |
316 | + - cd ./build_test_cmake | |
317 | + - cmake -DCMAKE_CXX_COMPILER=$COMPILER $TRAVIS_BUILD_DIR/test/cmake/ -Dglm_DIR=$TRAVIS_BUILD_DIR | |
318 | + - cmake --build . | |
319 | ||
320 | - os: linux | |
321 | addons: | |
322 | @@ -327,6 +437,11 @@ matrix: | |
323 | - cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_14=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_FORCE_PURE=ON .. | |
324 | - cmake --build . | |
325 | - ctest | |
326 | + - cd $TRAVIS_BUILD_DIR | |
327 | + - mkdir ./build_test_cmake | |
328 | + - cd ./build_test_cmake | |
329 | + - cmake -DCMAKE_CXX_COMPILER=$COMPILER $TRAVIS_BUILD_DIR/test/cmake/ -Dglm_DIR=$TRAVIS_BUILD_DIR | |
330 | + - cmake --build . | |
331 | ||
332 | - os: linux | |
333 | addons: | |
334 | @@ -344,6 +459,11 @@ matrix: | |
335 | - cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_14=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_ENABLE_SIMD_SSE3=ON .. | |
336 | - cmake --build . | |
337 | - ctest | |
338 | + - cd $TRAVIS_BUILD_DIR | |
339 | + - mkdir ./build_test_cmake | |
340 | + - cd ./build_test_cmake | |
341 | + - cmake -DCMAKE_CXX_COMPILER=$COMPILER $TRAVIS_BUILD_DIR/test/cmake/ -Dglm_DIR=$TRAVIS_BUILD_DIR | |
342 | + - cmake --build . | |
343 | ||
344 | - os: linux | |
345 | addons: | |
346 | @@ -361,6 +481,11 @@ matrix: | |
347 | - cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_17=ON -DGLM_TEST_FORCE_PURE=ON .. | |
348 | - cmake -E time cmake --build . | |
349 | - ctest | |
350 | + - cd $TRAVIS_BUILD_DIR | |
351 | + - mkdir ./build_test_cmake | |
352 | + - cd ./build_test_cmake | |
353 | + - cmake -DCMAKE_CXX_COMPILER=$COMPILER $TRAVIS_BUILD_DIR/test/cmake/ -Dglm_DIR=$TRAVIS_BUILD_DIR | |
354 | + - cmake --build . | |
355 | ||
356 | - os: linux | |
357 | addons: | |
358 | @@ -378,6 +503,11 @@ matrix: | |
359 | - cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_17=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_ENABLE_SIMD_SSE2=ON .. | |
360 | - cmake -E time cmake --build . | |
361 | - ctest | |
362 | + - cd $TRAVIS_BUILD_DIR | |
363 | + - mkdir ./build_test_cmake | |
364 | + - cd ./build_test_cmake | |
365 | + - cmake -DCMAKE_CXX_COMPILER=$COMPILER $TRAVIS_BUILD_DIR/test/cmake/ -Dglm_DIR=$TRAVIS_BUILD_DIR | |
366 | + - cmake --build . | |
367 | ||
368 | - os: linux | |
369 | addons: | |
370 | @@ -395,6 +525,11 @@ matrix: | |
371 | - cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_17=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_ENABLE_SIMD_SSE3=ON .. | |
372 | - cmake -E time cmake --build . | |
373 | - ctest | |
374 | + - cd $TRAVIS_BUILD_DIR | |
375 | + - mkdir ./build_test_cmake | |
376 | + - cd ./build_test_cmake | |
377 | + - cmake -DCMAKE_CXX_COMPILER=$COMPILER $TRAVIS_BUILD_DIR/test/cmake/ -Dglm_DIR=$TRAVIS_BUILD_DIR | |
378 | + - cmake --build . | |
379 | ||
380 | - os: linux | |
381 | addons: | |
382 | @@ -412,6 +547,11 @@ matrix: | |
383 | - cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_17=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_ENABLE_SIMD_AVX=ON .. | |
384 | - cmake -E time cmake --build . | |
385 | - ctest | |
386 | + - cd $TRAVIS_BUILD_DIR | |
387 | + - mkdir ./build_test_cmake | |
388 | + - cd ./build_test_cmake | |
389 | + - cmake -DCMAKE_CXX_COMPILER=$COMPILER $TRAVIS_BUILD_DIR/test/cmake/ -Dglm_DIR=$TRAVIS_BUILD_DIR | |
390 | + - cmake --build . | |
391 | ||
392 | - os: linux | |
393 | addons: | |
394 | @@ -429,6 +569,11 @@ matrix: | |
395 | - cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_17=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_ENABLE_SIMD_AVX2=ON .. | |
396 | - cmake -E time cmake --build . | |
397 | - ctest | |
398 | + - cd $TRAVIS_BUILD_DIR | |
399 | + - mkdir ./build_test_cmake | |
400 | + - cd ./build_test_cmake | |
401 | + - cmake -DCMAKE_CXX_COMPILER=$COMPILER $TRAVIS_BUILD_DIR/test/cmake/ -Dglm_DIR=$TRAVIS_BUILD_DIR | |
402 | + - cmake --build . | |
403 | ||
404 | - os: linux | |
405 | addons: | |
406 | @@ -447,6 +592,11 @@ matrix: | |
407 | - cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_14=ON -DGLM_TEST_FORCE_PURE=ON .. | |
408 | - cmake -E time cmake --build . | |
409 | - ctest | |
410 | + - cd $TRAVIS_BUILD_DIR | |
411 | + - mkdir ./build_test_cmake | |
412 | + - cd ./build_test_cmake | |
413 | + - cmake -DCMAKE_CXX_COMPILER=$COMPILER $TRAVIS_BUILD_DIR/test/cmake/ -Dglm_DIR=$TRAVIS_BUILD_DIR | |
414 | + - cmake --build . | |
415 | ||
416 | - os: linux | |
417 | addons: | |
418 | @@ -465,6 +615,11 @@ matrix: | |
419 | - cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_14=ON -DGLM_TEST_FORCE_PURE=ON .. | |
420 | - cmake -E time cmake --build . | |
421 | - ctest | |
422 | + - cd $TRAVIS_BUILD_DIR | |
423 | + - mkdir ./build_test_cmake | |
424 | + - cd ./build_test_cmake | |
425 | + - cmake -DCMAKE_CXX_COMPILER=$COMPILER $TRAVIS_BUILD_DIR/test/cmake/ -Dglm_DIR=$TRAVIS_BUILD_DIR | |
426 | + - cmake --build . | |
427 | ||
428 | - os: linux | |
429 | addons: | |
430 | @@ -483,11 +638,16 @@ matrix: | |
431 | - cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_14=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_ENABLE_SIMD_AVX=ON .. | |
432 | - cmake -E time cmake --build . | |
433 | - ctest | |
434 | + - cd $TRAVIS_BUILD_DIR | |
435 | + - mkdir ./build_test_cmake | |
436 | + - cd ./build_test_cmake | |
437 | + - cmake -DCMAKE_CXX_COMPILER=$COMPILER $TRAVIS_BUILD_DIR/test/cmake/ -Dglm_DIR=$TRAVIS_BUILD_DIR | |
438 | + - cmake --build . | |
439 | ||
440 | - os: linux | |
441 | dist: bionic | |
442 | env: | |
443 | - - MATRIX_EVAL="CC=clang-7.0 && INFO=C++17-pure-release" | |
444 | + - MATRIX_EVAL="CC=clang && CXX=clang++ && INFO=C++17-pure-release" | |
445 | script: | |
446 | - cmake --version | |
447 | - mkdir ./build_pure_17_release | |
448 | @@ -495,11 +655,16 @@ matrix: | |
449 | - cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_17=ON -DGLM_TEST_FORCE_PURE=ON .. | |
450 | - cmake -E time cmake --build . | |
451 | - ctest | |
452 | + - cd $TRAVIS_BUILD_DIR | |
453 | + - mkdir ./build_test_cmake | |
454 | + - cd ./build_test_cmake | |
455 | + - cmake -DCMAKE_CXX_COMPILER=$COMPILER $TRAVIS_BUILD_DIR/test/cmake/ -Dglm_DIR=$TRAVIS_BUILD_DIR | |
456 | + - cmake --build . | |
457 | ||
458 | - os: linux | |
459 | dist: bionic | |
460 | env: | |
461 | - - MATRIX_EVAL="CC=clang-7.0 && INFO=C++17-pure-debug" | |
462 | + - MATRIX_EVAL="CC=clang && CXX=clang++ && INFO=C++17-pure-debug" | |
463 | script: | |
464 | - cmake --version | |
465 | - mkdir ./build_pure_17_debug | |
466 | @@ -507,11 +672,16 @@ matrix: | |
467 | - cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_17=ON -DGLM_TEST_FORCE_PURE=ON .. | |
468 | - cmake -E time cmake --build . | |
469 | - ctest | |
470 | + - cd $TRAVIS_BUILD_DIR | |
471 | + - mkdir ./build_test_cmake | |
472 | + - cd ./build_test_cmake | |
473 | + - cmake -DCMAKE_CXX_COMPILER=$COMPILER $TRAVIS_BUILD_DIR/test/cmake/ -Dglm_DIR=$TRAVIS_BUILD_DIR | |
474 | + - cmake --build . | |
475 | ||
476 | - os: linux | |
477 | dist: bionic | |
478 | env: | |
479 | - - MATRIX_EVAL="CC=clang-7.0 && INFO=C++17-sse3-release" | |
480 | + - MATRIX_EVAL="CC=clang && CXX=clang++ && INFO=C++17-sse3-release | |
481 | script: | |
482 | - cmake --version | |
483 | - mkdir ./build_sse3_17_release | |
484 | @@ -519,11 +689,16 @@ matrix: | |
485 | - cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_17=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_ENABLE_SIMD_SSE3=ON .. | |
486 | - cmake -E time cmake --build . | |
487 | - ctest | |
488 | + - cd $TRAVIS_BUILD_DIR | |
489 | + - mkdir ./build_test_cmake | |
490 | + - cd ./build_test_cmake | |
491 | + - cmake -DCMAKE_CXX_COMPILER=$COMPILER $TRAVIS_BUILD_DIR/test/cmake/ -Dglm_DIR=$TRAVIS_BUILD_DIR | |
492 | + - cmake --build . | |
493 | ||
494 | - os: linux | |
495 | dist: bionic | |
496 | env: | |
497 | - - MATRIX_EVAL="CC=clang-7.0 && INFO=C++17-sse3-debug" | |
498 | + - MATRIX_EVAL="CC=clang && CXX=clang++ && INFO=C++17-sse3-debug" | |
499 | script: | |
500 | - cmake --version | |
501 | - mkdir ./build_sse3_17_debug | |
502 | @@ -531,11 +706,16 @@ matrix: | |
503 | - cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_17=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_ENABLE_SIMD_SSE3=ON .. | |
504 | - cmake -E time cmake --build . | |
505 | - ctest | |
506 | + - cd $TRAVIS_BUILD_DIR | |
507 | + - mkdir ./build_test_cmake | |
508 | + - cd ./build_test_cmake | |
509 | + - cmake -DCMAKE_CXX_COMPILER=$COMPILER $TRAVIS_BUILD_DIR/test/cmake/ -Dglm_DIR=$TRAVIS_BUILD_DIR | |
510 | + - cmake --build . | |
511 | ||
512 | - os: linux | |
513 | dist: bionic | |
514 | env: | |
515 | - - MATRIX_EVAL="CC=clang-7.0 && INFO=C++17-ssse3-release" | |
516 | + - MATRIX_EVAL="CC=clang && CXX=clang++ && INFO=C++17-ssse3-release" | |
517 | script: | |
518 | - cmake --version | |
519 | - mkdir ./build_ssse3_17_release | |
520 | @@ -543,6 +723,11 @@ matrix: | |
521 | - cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_17=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_ENABLE_SIMD_SSSE3=ON .. | |
522 | - cmake -E time cmake --build . | |
523 | - ctest | |
524 | + - cd $TRAVIS_BUILD_DIR | |
525 | + - mkdir ./build_test_cmake | |
526 | + - cd ./build_test_cmake | |
527 | + - cmake -DCMAKE_CXX_COMPILER=$COMPILER $TRAVIS_BUILD_DIR/test/cmake/ -Dglm_DIR=$TRAVIS_BUILD_DIR | |
528 | + - cmake --build . | |
529 | ||
530 | before_install: | |
531 | - eval "${MATRIX_EVAL}" | |
532 | diff --git a/glmConfig-version.cmake b/glmConfig-version.cmake | |
533 | new file mode 100644 | |
534 | index 0000000..69837ee | |
535 | --- /dev/null | |
536 | +++ b/glmConfig-version.cmake | |
537 | @@ -0,0 +1,13 @@ | |
538 | +set(PACKAGE_VERSION 0.9.9) | |
539 | + | |
540 | +if(${PACKAGE_FIND_VERSION_MAJOR} EQUAL 0) | |
541 | + if (${PACKAGE_FIND_VERSION} VERSION_LESS ${GLM_VERSION}) | |
542 | + set(PACKAGE_VERSION_COMPATIBLE 1) | |
543 | + endif() | |
544 | + if(${PACKAGE_FIND_VERSION} VERSION_EQUAL ${GLM_VERSION}) | |
545 | + set(PACKAGE_VERSION_EXACT 1) | |
546 | + endif() | |
547 | +else() | |
548 | + set(PACKAGE_VERSION_UNSUITABLE 1) | |
549 | +endif() | |
550 | + | |
551 | diff --git a/glmConfig.cmake b/glmConfig.cmake | |
552 | new file mode 100644 | |
553 | index 0000000..75d854e | |
554 | --- /dev/null | |
555 | +++ b/glmConfig.cmake | |
556 | @@ -0,0 +1,13 @@ | |
557 | +cmake_minimum_required(VERSION 3.2 FATAL_ERROR) | |
558 | +cmake_policy(VERSION 3.2) | |
559 | + | |
560 | +set(GLM_VERSION 0.9.9) | |
561 | +# Set the old GLM_INCLUDE_DIRS variable for backwards compatibility | |
562 | +set(GLM_INCLUDE_DIRS ${CMAKE_CURRENT_LIST_DIR}) | |
563 | + | |
564 | +add_library(glm::glm INTERFACE IMPORTED) | |
565 | +set_target_properties(glm::glm PROPERTIES | |
566 | + INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_CURRENT_LIST_DIR}) | |
567 | + | |
568 | +mark_as_advanced(glm_DIR) | |
569 | + | |
570 | diff --git a/manual.md b/manual.md | |
571 | index 15d8120..e641a21 100644 | |
572 | --- a/manual.md | |
573 | +++ b/manual.md | |
574 | @@ -14,6 +14,7 @@ | |
575 | + [1.2. Using separated headers](#section1_2) | |
576 | + [1.3. Using extension headers](#section1_3) | |
577 | + [1.4. Dependencies](#section1_4) | |
578 | ++ [1.5. Finding GLM with CMake](#section1_5) | |
579 | + [2. Preprocessor configurations](#section2) | |
580 | + [2.1. GLM\_FORCE\_MESSAGES: Platform auto detection and default configuration](#section2_1) | |
581 | + [2.2. GLM\_FORCE\_PLATFORM\_UNKNOWN: Force GLM to no detect the build platform](#section2_2) | |
582 | @@ -273,6 +274,10 @@ glm::mat4 transform(glm::vec2 const& Orientation, glm::vec3 const& Translate, gl | |
583 | ||
584 | GLM does not depend on external libraries or headers such as `<GL/gl.h>`, [`<GL/glcorearb.h>`](http://www.opengl.org/registry/api/GL/glcorearb.h), `<GLES3/gl3.h>`, `<GL/glu.h>`, or `<windows.h>`. | |
585 | ||
586 | +### <a name="section1_5"></a> 1.5. Finding GLM with CMake | |
587 | + | |
588 | +GLM packages a `glmConfig.cmake` and `glmConfig-version.cmake` in the root of the repository and the release archives. To find GLM with CMake you can pass `-Dglm_DIR=<path to glm root>` when running CMake. You can then either add `${GLM_INCLUDE_DIRS}` to your target's include directories, or link against the imported `glm::glm` target. | |
589 | + | |
590 | --- | |
591 | <div style="page-break-after: always;"> </div> | |
592 | ||
593 | diff --git a/test/cmake/CMakeLists.txt b/test/cmake/CMakeLists.txt | |
594 | new file mode 100644 | |
595 | index 0000000..5bc11ef | |
596 | --- /dev/null | |
597 | +++ b/test/cmake/CMakeLists.txt | |
598 | @@ -0,0 +1,8 @@ | |
599 | +cmake_minimum_required(VERSION 3.2 FATAL_ERROR) | |
600 | +project(test_find_glm) | |
601 | + | |
602 | +find_package(glm REQUIRED) | |
603 | + | |
604 | +add_executable(test_find_glm test_find_glm.cpp) | |
605 | +target_link_libraries(test_find_glm glm::glm) | |
606 | + | |
607 | diff --git a/test/cmake/test_find_glm.cpp b/test/cmake/test_find_glm.cpp | |
608 | new file mode 100644 | |
609 | index 0000000..361b977 | |
610 | --- /dev/null | |
611 | +++ b/test/cmake/test_find_glm.cpp | |
612 | @@ -0,0 +1,22 @@ | |
613 | +#include <iostream> | |
614 | +#include <glm/glm.hpp> | |
615 | +#include <glm/ext.hpp> | |
616 | + | |
617 | +glm::mat4 camera(float Translate, glm::vec2 const& Rotate) | |
618 | +{ | |
619 | + glm::mat4 Projection = glm::perspective(glm::pi<float>() * 0.25f, 4.0f / 3.0f, 0.1f, 100.f); | |
620 | + glm::mat4 View = glm::translate(glm::mat4(1.0f), glm::vec3(0.0f, 0.0f, -Translate)); | |
621 | + View = glm::rotate(View, Rotate.y, glm::vec3(-1.0f, 0.0f, 0.0f)); | |
622 | + View = glm::rotate(View, Rotate.x, glm::vec3(0.0f, 1.0f, 0.0f)); | |
623 | + glm::mat4 Model = glm::scale(glm::mat4(1.0f), glm::vec3(0.5f)); | |
624 | + return Projection * View * Model; | |
625 | +} | |
626 | + | |
627 | +int main() | |
628 | +{ | |
629 | + const glm::mat4 m = camera(1.f, glm::vec2(1.f, 0.5f)); | |
630 | + std::cout << "matrix diagonal: " << m[0][0] << ", " | |
631 | + << m[1][1] << ", " << m[2][2] << ", " << m[3][3] << "\n"; | |
632 | + return 0; | |
633 | +} | |
634 | + |