author | Ethan Lee <flibitijibibo@flibitijibibo.com> |
Tue, 31 Dec 2019 12:58:06 -0500 | |
changeset 1225 | 50b8dd7e0b1a |
parent 1224 | 21cd84f1aa0a |
child 1229 | 3ecd29a50d9d |
permissions | -rw-r--r-- |
711
d547597e81de
Cleaned up some CMake issues.
Ryan C. Gordon <icculus@icculus.org>
parents:
710
diff
changeset
|
1 |
CMAKE_MINIMUM_REQUIRED(VERSION 2.6) |
35 | 2 |
PROJECT(MojoShader) |
48 | 3 |
|
1150
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
4 |
OPTION(BUILD_SHARED "Build MojoShader as a shared library" OFF) |
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
5 |
OPTION(PROFILE_D3D "Build MojoShader with support for the D3D profile" ON) |
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
6 |
OPTION(PROFILE_BYTECODE "Build MojoShader with support for the BYTECODE profile" ON) |
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
7 |
OPTION(PROFILE_GLSL120 "Build MojoShader with support for the GLSL120 profile" ON) |
1194
3948d7f5b4ff
Add PROFILE_GLSLES CMake option
Caleb Cornett <caleb.cornett@outlook.com>
parents:
1192
diff
changeset
|
8 |
OPTION(PROFILE_GLSLES "Build MojoShader with support for the GLSLES profile" ON) |
1150
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
9 |
OPTION(PROFILE_GLSL "Build MojoShader with support for the GLSL profile" ON) |
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
10 |
OPTION(PROFILE_ARB1 "Build MojoShader with support for the ARB1 profile" ON) |
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
11 |
OPTION(PROFILE_ARB1_NV "Build MojoShader with support for the ARB1_NV profile" ON) |
1172
55700e64bd8c
Make Metal profile optional in the CMake project.
Ryan C. Gordon <icculus@icculus.org>
parents:
1166
diff
changeset
|
12 |
OPTION(PROFILE_METAL "Build MojoShader with support for the Metal profile" ON) |
1224
21cd84f1aa0a
Add support for emitting SPIR-V shaders.
Martin Krošlák <kroslakma@gmail.com>
parents:
1202
diff
changeset
|
13 |
OPTION(PROFILE_SPIRV "Build MojoShader with support for the SPIR-V profile" ON) |
1225
50b8dd7e0b1a
Add GLSPIRV profile, to allow for both GL- and VK-friendly SPIR-V output
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1224
diff
changeset
|
14 |
OPTION(PROFILE_GLSPIRV "Build MojoShader with support for the ARB_gl_spirv profile" ON) |
1166
ba0794ea4172
Default to building with Effects framework support enabled.
Ryan C. Gordon <icculus@icculus.org>
parents:
1150
diff
changeset
|
15 |
OPTION(EFFECT_SUPPORT "Build MojoShader with support for Effect framework files" ON) |
1202
3e07483a681c
Disable COMPILER_SUPPORT by default
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1199
diff
changeset
|
16 |
OPTION(COMPILER_SUPPORT "Build MojoShader with support for HLSL source files" OFF) |
1150
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
17 |
OPTION(FLIP_VIEWPORT "Build MojoShader with the ability to flip the GL viewport" OFF) |
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
18 |
OPTION(DEPTH_CLIPPING "Build MojoShader with the ability to simulate [0, 1] depth clipping" OFF) |
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
19 |
OPTION(XNA4_VERTEXTEXTURE "Build MojoShader with XNA4 vertex texturing behavior" OFF) |
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
20 |
|
588
ef3d2efa822d
Moved all the test and utility programs to a "utils" directory.
Ryan C. Gordon <icculus@icculus.org>
parents:
569
diff
changeset
|
21 |
INCLUDE_DIRECTORIES(.) |
ef3d2efa822d
Moved all the test and utility programs to a "utils" directory.
Ryan C. Gordon <icculus@icculus.org>
parents:
569
diff
changeset
|
22 |
|
1191
f2ecd5032ffe
CMake: Make Hg dependency optional (thanks Chad!)
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1187
diff
changeset
|
23 |
# If Mercurial is installed and we are in a mercurial repository, include the rev# and changeset as version information. |
569
117d6e606c4e
Cleaned up CMakeLists.txt to work in the absence of external tools.
Ryan C. Gordon <icculus@icculus.org>
parents:
563
diff
changeset
|
24 |
FIND_PROGRAM(HG hg DOC "Path to hg command line app: http://www.selenic.com/mercurial/") |
117d6e606c4e
Cleaned up CMakeLists.txt to work in the absence of external tools.
Ryan C. Gordon <icculus@icculus.org>
parents:
563
diff
changeset
|
25 |
IF(NOT HG) |
117d6e606c4e
Cleaned up CMakeLists.txt to work in the absence of external tools.
Ryan C. Gordon <icculus@icculus.org>
parents:
563
diff
changeset
|
26 |
MESSAGE(STATUS "Mercurial (hg) not found. You can go on, but version info will be wrong.") |
117d6e606c4e
Cleaned up CMakeLists.txt to work in the absence of external tools.
Ryan C. Gordon <icculus@icculus.org>
parents:
563
diff
changeset
|
27 |
SET(MOJOSHADER_VERSION -1) |
117d6e606c4e
Cleaned up CMakeLists.txt to work in the absence of external tools.
Ryan C. Gordon <icculus@icculus.org>
parents:
563
diff
changeset
|
28 |
SET(MOJOSHADER_CHANGESET "???") |
117d6e606c4e
Cleaned up CMakeLists.txt to work in the absence of external tools.
Ryan C. Gordon <icculus@icculus.org>
parents:
563
diff
changeset
|
29 |
ELSE(NOT HG) |
117d6e606c4e
Cleaned up CMakeLists.txt to work in the absence of external tools.
Ryan C. Gordon <icculus@icculus.org>
parents:
563
diff
changeset
|
30 |
MARK_AS_ADVANCED(HG) |
1191
f2ecd5032ffe
CMake: Make Hg dependency optional (thanks Chad!)
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1187
diff
changeset
|
31 |
|
f2ecd5032ffe
CMake: Make Hg dependency optional (thanks Chad!)
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1187
diff
changeset
|
32 |
# See if we are in an hg repository. |
569
117d6e606c4e
Cleaned up CMakeLists.txt to work in the absence of external tools.
Ryan C. Gordon <icculus@icculus.org>
parents:
563
diff
changeset
|
33 |
EXECUTE_PROCESS( |
1191
f2ecd5032ffe
CMake: Make Hg dependency optional (thanks Chad!)
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1187
diff
changeset
|
34 |
COMMAND hg root |
569
117d6e606c4e
Cleaned up CMakeLists.txt to work in the absence of external tools.
Ryan C. Gordon <icculus@icculus.org>
parents:
563
diff
changeset
|
35 |
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" |
117d6e606c4e
Cleaned up CMakeLists.txt to work in the absence of external tools.
Ryan C. Gordon <icculus@icculus.org>
parents:
563
diff
changeset
|
36 |
RESULT_VARIABLE HGVERSION_RC |
117d6e606c4e
Cleaned up CMakeLists.txt to work in the absence of external tools.
Ryan C. Gordon <icculus@icculus.org>
parents:
563
diff
changeset
|
37 |
ERROR_QUIET |
117d6e606c4e
Cleaned up CMakeLists.txt to work in the absence of external tools.
Ryan C. Gordon <icculus@icculus.org>
parents:
563
diff
changeset
|
38 |
) |
1191
f2ecd5032ffe
CMake: Make Hg dependency optional (thanks Chad!)
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1187
diff
changeset
|
39 |
IF(NOT HGVERSION_RC EQUAL 0) |
f2ecd5032ffe
CMake: Make Hg dependency optional (thanks Chad!)
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1187
diff
changeset
|
40 |
MESSAGE(STATUS "Mercurial (hg) repository not found. You can go on, but version info will be wrong.") |
f2ecd5032ffe
CMake: Make Hg dependency optional (thanks Chad!)
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1187
diff
changeset
|
41 |
SET(MOJOSHADER_VERSION -1) |
f2ecd5032ffe
CMake: Make Hg dependency optional (thanks Chad!)
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1187
diff
changeset
|
42 |
SET(MOJOSHADER_CHANGESET "???") |
f2ecd5032ffe
CMake: Make Hg dependency optional (thanks Chad!)
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1187
diff
changeset
|
43 |
ELSE(NOT HGVERSION_RC EQUAL 0) |
f2ecd5032ffe
CMake: Make Hg dependency optional (thanks Chad!)
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1187
diff
changeset
|
44 |
# Query the rev and changeset. |
f2ecd5032ffe
CMake: Make Hg dependency optional (thanks Chad!)
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1187
diff
changeset
|
45 |
EXECUTE_PROCESS( |
f2ecd5032ffe
CMake: Make Hg dependency optional (thanks Chad!)
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1187
diff
changeset
|
46 |
COMMAND hg tip --template {rev} |
f2ecd5032ffe
CMake: Make Hg dependency optional (thanks Chad!)
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1187
diff
changeset
|
47 |
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" |
f2ecd5032ffe
CMake: Make Hg dependency optional (thanks Chad!)
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1187
diff
changeset
|
48 |
RESULT_VARIABLE HGVERSION_RC |
f2ecd5032ffe
CMake: Make Hg dependency optional (thanks Chad!)
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1187
diff
changeset
|
49 |
OUTPUT_VARIABLE MOJOSHADER_VERSION |
f2ecd5032ffe
CMake: Make Hg dependency optional (thanks Chad!)
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1187
diff
changeset
|
50 |
ERROR_QUIET |
f2ecd5032ffe
CMake: Make Hg dependency optional (thanks Chad!)
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1187
diff
changeset
|
51 |
OUTPUT_STRIP_TRAILING_WHITESPACE |
f2ecd5032ffe
CMake: Make Hg dependency optional (thanks Chad!)
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1187
diff
changeset
|
52 |
) |
f2ecd5032ffe
CMake: Make Hg dependency optional (thanks Chad!)
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1187
diff
changeset
|
53 |
EXECUTE_PROCESS( |
f2ecd5032ffe
CMake: Make Hg dependency optional (thanks Chad!)
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1187
diff
changeset
|
54 |
COMMAND hg tip --template hg-{rev}:{node|short} |
f2ecd5032ffe
CMake: Make Hg dependency optional (thanks Chad!)
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1187
diff
changeset
|
55 |
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" |
f2ecd5032ffe
CMake: Make Hg dependency optional (thanks Chad!)
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1187
diff
changeset
|
56 |
RESULT_VARIABLE HGVERSION_RC |
f2ecd5032ffe
CMake: Make Hg dependency optional (thanks Chad!)
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1187
diff
changeset
|
57 |
OUTPUT_VARIABLE MOJOSHADER_CHANGESET |
f2ecd5032ffe
CMake: Make Hg dependency optional (thanks Chad!)
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1187
diff
changeset
|
58 |
ERROR_QUIET |
f2ecd5032ffe
CMake: Make Hg dependency optional (thanks Chad!)
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1187
diff
changeset
|
59 |
OUTPUT_STRIP_TRAILING_WHITESPACE |
f2ecd5032ffe
CMake: Make Hg dependency optional (thanks Chad!)
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1187
diff
changeset
|
60 |
) |
f2ecd5032ffe
CMake: Make Hg dependency optional (thanks Chad!)
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1187
diff
changeset
|
61 |
ENDIF(NOT HGVERSION_RC EQUAL 0) |
569
117d6e606c4e
Cleaned up CMakeLists.txt to work in the absence of external tools.
Ryan C. Gordon <icculus@icculus.org>
parents:
563
diff
changeset
|
62 |
ENDIF(NOT HG) |
455
d99f47386d51
Generate MOJOSHADER_VERSION, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
423
diff
changeset
|
63 |
|
d99f47386d51
Generate MOJOSHADER_VERSION, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
423
diff
changeset
|
64 |
WRITE_FILE( |
d99f47386d51
Generate MOJOSHADER_VERSION, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
423
diff
changeset
|
65 |
"${CMAKE_CURRENT_SOURCE_DIR}/mojoshader_version.h" |
d99f47386d51
Generate MOJOSHADER_VERSION, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
423
diff
changeset
|
66 |
"/* This file was autogenerated. Do not edit! */\n" |
d99f47386d51
Generate MOJOSHADER_VERSION, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
423
diff
changeset
|
67 |
"#ifndef _INCL_MOJOSHADER_VERSION_H_\n" |
d99f47386d51
Generate MOJOSHADER_VERSION, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
423
diff
changeset
|
68 |
"#define _INCL_MOJOSHADER_VERSION_H_\n" |
d99f47386d51
Generate MOJOSHADER_VERSION, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
423
diff
changeset
|
69 |
"#define MOJOSHADER_VERSION ${MOJOSHADER_VERSION}\n" |
d99f47386d51
Generate MOJOSHADER_VERSION, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
423
diff
changeset
|
70 |
"#define MOJOSHADER_CHANGESET \"${MOJOSHADER_CHANGESET}\"\n" |
d99f47386d51
Generate MOJOSHADER_VERSION, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
423
diff
changeset
|
71 |
"#endif\n" |
d99f47386d51
Generate MOJOSHADER_VERSION, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
423
diff
changeset
|
72 |
) |
d99f47386d51
Generate MOJOSHADER_VERSION, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
423
diff
changeset
|
73 |
|
48 | 74 |
IF(CMAKE_COMPILER_IS_GNUCC) |
75 |
ADD_DEFINITIONS(-Wall -ggdb3) |
|
76 |
ENDIF(CMAKE_COMPILER_IS_GNUCC) |
|
77 |
||
52 | 78 |
# testparse uses this when I'm looking at memory usage patterns. |
79 |
#ADD_DEFINITIONS(-DMOJOSHADER_DEBUG_MALLOC=1) |
|
48 | 80 |
|
254 | 81 |
IF(MSVC) |
82 |
ADD_DEFINITIONS(-D_CRT_SECURE_NO_WARNINGS=1) |
|
83 |
ADD_DEFINITIONS(-TP) # force .c files to compile as C++. |
|
84 |
ENDIF(MSVC) |
|
85 |
||
706
01a92f30b84f
Added some basic compiler stub stuff, just to get this building at all.
Ryan C. Gordon <icculus@icculus.org>
parents:
705
diff
changeset
|
86 |
# We build lemon, then use it to generate parser C code. |
1187
0687a8d78a54
Add COMPILER_SUPPORT CMake flag, do not build effect/compiler files if disabled
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1172
diff
changeset
|
87 |
IF(COMPILER_SUPPORT) |
0687a8d78a54
Add COMPILER_SUPPORT CMake flag, do not build effect/compiler files if disabled
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1172
diff
changeset
|
88 |
ADD_EXECUTABLE(lemon "misc/lemon.c") |
0687a8d78a54
Add COMPILER_SUPPORT CMake flag, do not build effect/compiler files if disabled
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1172
diff
changeset
|
89 |
GET_TARGET_PROPERTY(LEMON lemon LOCATION) |
0687a8d78a54
Add COMPILER_SUPPORT CMake flag, do not build effect/compiler files if disabled
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1172
diff
changeset
|
90 |
ADD_CUSTOM_COMMAND( |
0687a8d78a54
Add COMPILER_SUPPORT CMake flag, do not build effect/compiler files if disabled
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1172
diff
changeset
|
91 |
OUTPUT "${CMAKE_CURRENT_SOURCE_DIR}/mojoshader_parser_hlsl.h" |
0687a8d78a54
Add COMPILER_SUPPORT CMake flag, do not build effect/compiler files if disabled
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1172
diff
changeset
|
92 |
MAIN_DEPENDENCY "${CMAKE_CURRENT_SOURCE_DIR}/mojoshader_parser_hlsl.lemon" |
0687a8d78a54
Add COMPILER_SUPPORT CMake flag, do not build effect/compiler files if disabled
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1172
diff
changeset
|
93 |
DEPENDS lemon "${CMAKE_CURRENT_SOURCE_DIR}/misc/lempar.c" |
0687a8d78a54
Add COMPILER_SUPPORT CMake flag, do not build effect/compiler files if disabled
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1172
diff
changeset
|
94 |
COMMAND "${LEMON}" |
0687a8d78a54
Add COMPILER_SUPPORT CMake flag, do not build effect/compiler files if disabled
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1172
diff
changeset
|
95 |
ARGS -q "-T${CMAKE_CURRENT_SOURCE_DIR}/misc/lempar.c" "${CMAKE_CURRENT_SOURCE_DIR}/mojoshader_parser_hlsl.lemon" |
0687a8d78a54
Add COMPILER_SUPPORT CMake flag, do not build effect/compiler files if disabled
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1172
diff
changeset
|
96 |
) |
0687a8d78a54
Add COMPILER_SUPPORT CMake flag, do not build effect/compiler files if disabled
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1172
diff
changeset
|
97 |
ENDIF(COMPILER_SUPPORT) |
706
01a92f30b84f
Added some basic compiler stub stuff, just to get this building at all.
Ryan C. Gordon <icculus@icculus.org>
parents:
705
diff
changeset
|
98 |
|
1150
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
99 |
IF(APPLE) |
1192
706e4d246ca1
iOS support (thanks Caleb!)
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1191
diff
changeset
|
100 |
IF(NOT IOS) |
706e4d246ca1
iOS support (thanks Caleb!)
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1191
diff
changeset
|
101 |
find_library(CARBON_FRAMEWORK Carbon) # Stupid Gestalt. |
706e4d246ca1
iOS support (thanks Caleb!)
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1191
diff
changeset
|
102 |
ENDIF(NOT IOS) |
1150
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
103 |
ENDIF(APPLE) |
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
104 |
|
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
105 |
IF(NOT PROFILE_D3D) |
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
106 |
ADD_DEFINITIONS(-DSUPPORT_PROFILE_D3D=0) |
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
107 |
ENDIF(NOT PROFILE_D3D) |
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
108 |
IF(NOT PROFILE_BYTECODE) |
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
109 |
ADD_DEFINITIONS(-DSUPPORT_PROFILE_BYTECODE=0) |
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
110 |
ENDIF(NOT PROFILE_BYTECODE) |
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
111 |
IF(NOT PROFILE_GLSL120) |
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
112 |
ADD_DEFINITIONS(-DSUPPORT_PROFILE_GLSL120=0) |
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
113 |
ENDIF(NOT PROFILE_GLSL120) |
1194
3948d7f5b4ff
Add PROFILE_GLSLES CMake option
Caleb Cornett <caleb.cornett@outlook.com>
parents:
1192
diff
changeset
|
114 |
IF(NOT PROFILE_GLSLES) |
3948d7f5b4ff
Add PROFILE_GLSLES CMake option
Caleb Cornett <caleb.cornett@outlook.com>
parents:
1192
diff
changeset
|
115 |
ADD_DEFINITIONS(-DSUPPORT_PROFILE_GLSLES=0) |
3948d7f5b4ff
Add PROFILE_GLSLES CMake option
Caleb Cornett <caleb.cornett@outlook.com>
parents:
1192
diff
changeset
|
116 |
ENDIF(NOT PROFILE_GLSLES) |
1150
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
117 |
IF(NOT PROFILE_GLSL) |
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
118 |
ADD_DEFINITIONS(-DSUPPORT_PROFILE_GLSL=0) |
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
119 |
ENDIF(NOT PROFILE_GLSL) |
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
120 |
IF(NOT PROFILE_ARB1) |
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
121 |
ADD_DEFINITIONS(-DSUPPORT_PROFILE_ARB1=0) |
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
122 |
ENDIF(NOT PROFILE_ARB1) |
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
123 |
IF(NOT PROFILE_ARB1_NV) |
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
124 |
ADD_DEFINITIONS(-DSUPPORT_PROFILE_ARB1_NV=0) |
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
125 |
ENDIF(NOT PROFILE_ARB1_NV) |
1172
55700e64bd8c
Make Metal profile optional in the CMake project.
Ryan C. Gordon <icculus@icculus.org>
parents:
1166
diff
changeset
|
126 |
IF(NOT PROFILE_METAL) |
55700e64bd8c
Make Metal profile optional in the CMake project.
Ryan C. Gordon <icculus@icculus.org>
parents:
1166
diff
changeset
|
127 |
ADD_DEFINITIONS(-DSUPPORT_PROFILE_METAL=0) |
1187
0687a8d78a54
Add COMPILER_SUPPORT CMake flag, do not build effect/compiler files if disabled
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1172
diff
changeset
|
128 |
ENDIF(NOT PROFILE_METAL) |
1224
21cd84f1aa0a
Add support for emitting SPIR-V shaders.
Martin Krošlák <kroslakma@gmail.com>
parents:
1202
diff
changeset
|
129 |
IF(NOT PROFILE_SPIRV) |
21cd84f1aa0a
Add support for emitting SPIR-V shaders.
Martin Krošlák <kroslakma@gmail.com>
parents:
1202
diff
changeset
|
130 |
ADD_DEFINITIONS(-DSUPPORT_PROFILE_SPIRV=0) |
21cd84f1aa0a
Add support for emitting SPIR-V shaders.
Martin Krošlák <kroslakma@gmail.com>
parents:
1202
diff
changeset
|
131 |
ENDIF(NOT PROFILE_SPIRV) |
1225
50b8dd7e0b1a
Add GLSPIRV profile, to allow for both GL- and VK-friendly SPIR-V output
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1224
diff
changeset
|
132 |
IF(NOT PROFILE_GLSPIRV) |
50b8dd7e0b1a
Add GLSPIRV profile, to allow for both GL- and VK-friendly SPIR-V output
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1224
diff
changeset
|
133 |
ADD_DEFINITIONS(-DSUPPORT_PROFILE_GLSPIRV=0) |
50b8dd7e0b1a
Add GLSPIRV profile, to allow for both GL- and VK-friendly SPIR-V output
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1224
diff
changeset
|
134 |
ENDIF(NOT PROFILE_GLSPIRV) |
1150
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
135 |
|
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
136 |
IF(EFFECT_SUPPORT) |
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
137 |
IF(UNIX) |
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
138 |
SET(LIBM -lm) |
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
139 |
ENDIF(UNIX) |
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
140 |
ADD_DEFINITIONS(-DMOJOSHADER_EFFECT_SUPPORT) |
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
141 |
ENDIF(EFFECT_SUPPORT) |
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
142 |
|
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
143 |
IF(FLIP_VIEWPORT) |
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
144 |
ADD_DEFINITIONS(-DMOJOSHADER_FLIP_RENDERTARGET) |
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
145 |
ENDIF(FLIP_VIEWPORT) |
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
146 |
|
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
147 |
IF(DEPTH_CLIPPING) |
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
148 |
ADD_DEFINITIONS(-DMOJOSHADER_DEPTH_CLIPPING) |
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
149 |
ENDIF(DEPTH_CLIPPING) |
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
150 |
|
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
151 |
IF(XNA4_VERTEXTEXTURE) |
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
152 |
ADD_DEFINITIONS(-DMOJOSHADER_XNA4_VERTEX_TEXTURES) |
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
153 |
ENDIF(XNA4_VERTEXTEXTURE) |
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
154 |
|
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
155 |
IF(BUILD_SHARED) |
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
156 |
SET(LIBRARY_FORMAT SHARED) |
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
157 |
ELSE(BUILD_SHARED) |
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
158 |
SET(LIBRARY_FORMAT STATIC) |
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
159 |
ENDIF(BUILD_SHARED) |
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
160 |
|
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
161 |
ADD_LIBRARY(mojoshader ${LIBRARY_FORMAT} |
465
0a75f98f785b
Initial work on assembler. Not even close to done.
Ryan C. Gordon <icculus@icculus.org>
parents:
455
diff
changeset
|
162 |
mojoshader.c |
732
e070fea1f8c7
Added mojoshader_common.c with first shot at generic hashtable.
Ryan C. Gordon <icculus@icculus.org>
parents:
714
diff
changeset
|
163 |
mojoshader_common.c |
465
0a75f98f785b
Initial work on assembler. Not even close to done.
Ryan C. Gordon <icculus@icculus.org>
parents:
455
diff
changeset
|
164 |
mojoshader_opengl.c |
1199
b8ece252a201
Reorganize profiles into their own files
Caleb Cornett <caleb.cornett@outlook.com>
parents:
1194
diff
changeset
|
165 |
profiles/mojoshader_profile_arb1.c |
b8ece252a201
Reorganize profiles into their own files
Caleb Cornett <caleb.cornett@outlook.com>
parents:
1194
diff
changeset
|
166 |
profiles/mojoshader_profile_bytecode.c |
b8ece252a201
Reorganize profiles into their own files
Caleb Cornett <caleb.cornett@outlook.com>
parents:
1194
diff
changeset
|
167 |
profiles/mojoshader_profile_d3d.c |
b8ece252a201
Reorganize profiles into their own files
Caleb Cornett <caleb.cornett@outlook.com>
parents:
1194
diff
changeset
|
168 |
profiles/mojoshader_profile_glsl.c |
b8ece252a201
Reorganize profiles into their own files
Caleb Cornett <caleb.cornett@outlook.com>
parents:
1194
diff
changeset
|
169 |
profiles/mojoshader_profile_metal.c |
1224
21cd84f1aa0a
Add support for emitting SPIR-V shaders.
Martin Krošlák <kroslakma@gmail.com>
parents:
1202
diff
changeset
|
170 |
profiles/mojoshader_profile_spirv.c |
1199
b8ece252a201
Reorganize profiles into their own files
Caleb Cornett <caleb.cornett@outlook.com>
parents:
1194
diff
changeset
|
171 |
profiles/mojoshader_profile_common.c |
465
0a75f98f785b
Initial work on assembler. Not even close to done.
Ryan C. Gordon <icculus@icculus.org>
parents:
455
diff
changeset
|
172 |
) |
1187
0687a8d78a54
Add COMPILER_SUPPORT CMake flag, do not build effect/compiler files if disabled
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1172
diff
changeset
|
173 |
IF(EFFECT_SUPPORT) |
0687a8d78a54
Add COMPILER_SUPPORT CMake flag, do not build effect/compiler files if disabled
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1172
diff
changeset
|
174 |
TARGET_SOURCES(mojoshader PRIVATE |
0687a8d78a54
Add COMPILER_SUPPORT CMake flag, do not build effect/compiler files if disabled
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1172
diff
changeset
|
175 |
mojoshader_effects.c |
0687a8d78a54
Add COMPILER_SUPPORT CMake flag, do not build effect/compiler files if disabled
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1172
diff
changeset
|
176 |
) |
0687a8d78a54
Add COMPILER_SUPPORT CMake flag, do not build effect/compiler files if disabled
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1172
diff
changeset
|
177 |
ENDIF(EFFECT_SUPPORT) |
0687a8d78a54
Add COMPILER_SUPPORT CMake flag, do not build effect/compiler files if disabled
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1172
diff
changeset
|
178 |
IF(COMPILER_SUPPORT) |
0687a8d78a54
Add COMPILER_SUPPORT CMake flag, do not build effect/compiler files if disabled
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1172
diff
changeset
|
179 |
TARGET_SOURCES(mojoshader PRIVATE |
0687a8d78a54
Add COMPILER_SUPPORT CMake flag, do not build effect/compiler files if disabled
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1172
diff
changeset
|
180 |
mojoshader_compiler.c |
0687a8d78a54
Add COMPILER_SUPPORT CMake flag, do not build effect/compiler files if disabled
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1172
diff
changeset
|
181 |
mojoshader_preprocessor.c |
0687a8d78a54
Add COMPILER_SUPPORT CMake flag, do not build effect/compiler files if disabled
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1172
diff
changeset
|
182 |
mojoshader_lexer.c |
0687a8d78a54
Add COMPILER_SUPPORT CMake flag, do not build effect/compiler files if disabled
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1172
diff
changeset
|
183 |
mojoshader_assembler.c |
0687a8d78a54
Add COMPILER_SUPPORT CMake flag, do not build effect/compiler files if disabled
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1172
diff
changeset
|
184 |
) |
0687a8d78a54
Add COMPILER_SUPPORT CMake flag, do not build effect/compiler files if disabled
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1172
diff
changeset
|
185 |
ENDIF(COMPILER_SUPPORT) |
1150
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
186 |
IF(BUILD_SHARED) |
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
187 |
TARGET_LINK_LIBRARIES(mojoshader ${LIBM} ${CARBON_FRAMEWORK}) |
02c0f0afb39a
- Add ability to build MojoShader as a shared library
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1134
diff
changeset
|
188 |
ENDIF(BUILD_SHARED) |
1036
8a3597b44ff7
First shot at preshader interpreter. Completely untested!
Ryan C. Gordon <icculus@icculus.org>
parents:
1019
diff
changeset
|
189 |
|
711
d547597e81de
Cleaned up some CMake issues.
Ryan C. Gordon <icculus@icculus.org>
parents:
710
diff
changeset
|
190 |
SET_SOURCE_FILES_PROPERTIES( |
d547597e81de
Cleaned up some CMake issues.
Ryan C. Gordon <icculus@icculus.org>
parents:
710
diff
changeset
|
191 |
mojoshader_compiler.c |
714
e8ed66bfff18
Make parser generate a header, to avoid external project build confusion.
Ryan C. Gordon <icculus@icculus.org>
parents:
711
diff
changeset
|
192 |
PROPERTIES OBJECT_DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/mojoshader_parser_hlsl.h" |
711
d547597e81de
Cleaned up some CMake issues.
Ryan C. Gordon <icculus@icculus.org>
parents:
710
diff
changeset
|
193 |
) |
d547597e81de
Cleaned up some CMake issues.
Ryan C. Gordon <icculus@icculus.org>
parents:
710
diff
changeset
|
194 |
|
569
117d6e606c4e
Cleaned up CMakeLists.txt to work in the absence of external tools.
Ryan C. Gordon <icculus@icculus.org>
parents:
563
diff
changeset
|
195 |
FIND_PROGRAM(RE2C re2c DOC "Path to re2c command line app: http://re2c.org/") |
117d6e606c4e
Cleaned up CMakeLists.txt to work in the absence of external tools.
Ryan C. Gordon <icculus@icculus.org>
parents:
563
diff
changeset
|
196 |
IF(NOT RE2C) |
117d6e606c4e
Cleaned up CMakeLists.txt to work in the absence of external tools.
Ryan C. Gordon <icculus@icculus.org>
parents:
563
diff
changeset
|
197 |
MESSAGE(STATUS "re2c missing. You can go on, but can't rebuild the lexer.") |
117d6e606c4e
Cleaned up CMakeLists.txt to work in the absence of external tools.
Ryan C. Gordon <icculus@icculus.org>
parents:
563
diff
changeset
|
198 |
ELSE(NOT RE2C) |
117d6e606c4e
Cleaned up CMakeLists.txt to work in the absence of external tools.
Ryan C. Gordon <icculus@icculus.org>
parents:
563
diff
changeset
|
199 |
MARK_AS_ADVANCED(RE2C) |
117d6e606c4e
Cleaned up CMakeLists.txt to work in the absence of external tools.
Ryan C. Gordon <icculus@icculus.org>
parents:
563
diff
changeset
|
200 |
ADD_CUSTOM_COMMAND( |
705
7ea12a852213
Throw some quotes around strings in CMakeLists.txt ...
Ryan C. Gordon <icculus@icculus.org>
parents:
669
diff
changeset
|
201 |
OUTPUT "${CMAKE_CURRENT_SOURCE_DIR}/mojoshader_lexer.c" |
569
117d6e606c4e
Cleaned up CMakeLists.txt to work in the absence of external tools.
Ryan C. Gordon <icculus@icculus.org>
parents:
563
diff
changeset
|
202 |
DEPENDS mojoshader_lexer.re |
705
7ea12a852213
Throw some quotes around strings in CMakeLists.txt ...
Ryan C. Gordon <icculus@icculus.org>
parents:
669
diff
changeset
|
203 |
COMMAND "${RE2C}" |
7ea12a852213
Throw some quotes around strings in CMakeLists.txt ...
Ryan C. Gordon <icculus@icculus.org>
parents:
669
diff
changeset
|
204 |
ARGS -is --no-generation-date -o "${CMAKE_CURRENT_SOURCE_DIR}/mojoshader_lexer.c" "${CMAKE_CURRENT_SOURCE_DIR}/mojoshader_lexer.re" |
569
117d6e606c4e
Cleaned up CMakeLists.txt to work in the absence of external tools.
Ryan C. Gordon <icculus@icculus.org>
parents:
563
diff
changeset
|
205 |
) |
117d6e606c4e
Cleaned up CMakeLists.txt to work in the absence of external tools.
Ryan C. Gordon <icculus@icculus.org>
parents:
563
diff
changeset
|
206 |
ENDIF(NOT RE2C) |
563
d22551643fcb
Added re2c step to build.
Ryan C. Gordon <icculus@icculus.org>
parents:
555
diff
changeset
|
207 |
|
1134 | 208 |
find_path(SDL2_INCLUDE_DIR SDL.h PATH_SUFFIXES include/SDL2) |
209 |
find_library(SDL2 NAMES SDL2 PATH_SUFFIXES lib) |
|
210 |
IF(SDL2) |
|
211 |
INCLUDE_DIRECTORIES(${SDL2_INCLUDE_DIR}) |
|
588
ef3d2efa822d
Moved all the test and utility programs to a "utils" directory.
Ryan C. Gordon <icculus@icculus.org>
parents:
569
diff
changeset
|
212 |
ADD_EXECUTABLE(glcaps utils/glcaps.c) |
1134 | 213 |
TARGET_LINK_LIBRARIES(glcaps ${SDL2} ${LIBM} ${CARBON_FRAMEWORK}) |
588
ef3d2efa822d
Moved all the test and utility programs to a "utils" directory.
Ryan C. Gordon <icculus@icculus.org>
parents:
569
diff
changeset
|
214 |
ADD_EXECUTABLE(bestprofile utils/bestprofile.c) |
1134 | 215 |
TARGET_LINK_LIBRARIES(bestprofile mojoshader ${SDL2} ${LIBM} ${CARBON_FRAMEWORK}) |
588
ef3d2efa822d
Moved all the test and utility programs to a "utils" directory.
Ryan C. Gordon <icculus@icculus.org>
parents:
569
diff
changeset
|
216 |
ADD_EXECUTABLE(availableprofiles utils/availableprofiles.c) |
1134 | 217 |
TARGET_LINK_LIBRARIES(availableprofiles mojoshader ${SDL2} ${LIBM} ${CARBON_FRAMEWORK}) |
218 |
ENDIF(SDL2) |
|
169
7e9d90724cf8
Push parsed shaders through GLSL compiler to see what breaks.
Ryan C. Gordon <icculus@icculus.org>
parents:
153
diff
changeset
|
219 |
|
1187
0687a8d78a54
Add COMPILER_SUPPORT CMake flag, do not build effect/compiler files if disabled
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1172
diff
changeset
|
220 |
IF(COMPILER_SUPPORT) |
0687a8d78a54
Add COMPILER_SUPPORT CMake flag, do not build effect/compiler files if disabled
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1172
diff
changeset
|
221 |
ADD_EXECUTABLE(finderrors utils/finderrors.c) |
0687a8d78a54
Add COMPILER_SUPPORT CMake flag, do not build effect/compiler files if disabled
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1172
diff
changeset
|
222 |
TARGET_LINK_LIBRARIES(finderrors mojoshader ${SDL2} ${LIBM} ${CARBON_FRAMEWORK}) |
0687a8d78a54
Add COMPILER_SUPPORT CMake flag, do not build effect/compiler files if disabled
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1172
diff
changeset
|
223 |
IF(SDL2) |
0687a8d78a54
Add COMPILER_SUPPORT CMake flag, do not build effect/compiler files if disabled
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1172
diff
changeset
|
224 |
SET_SOURCE_FILES_PROPERTIES( |
0687a8d78a54
Add COMPILER_SUPPORT CMake flag, do not build effect/compiler files if disabled
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1172
diff
changeset
|
225 |
utils/finderrors.c |
0687a8d78a54
Add COMPILER_SUPPORT CMake flag, do not build effect/compiler files if disabled
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1172
diff
changeset
|
226 |
PROPERTIES COMPILE_FLAGS "-DFINDERRORS_COMPILE_SHADERS=1" |
0687a8d78a54
Add COMPILER_SUPPORT CMake flag, do not build effect/compiler files if disabled
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1172
diff
changeset
|
227 |
) |
0687a8d78a54
Add COMPILER_SUPPORT CMake flag, do not build effect/compiler files if disabled
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1172
diff
changeset
|
228 |
ENDIF(SDL2) |
0687a8d78a54
Add COMPILER_SUPPORT CMake flag, do not build effect/compiler files if disabled
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1172
diff
changeset
|
229 |
ENDIF(COMPILER_SUPPORT) |
711
d547597e81de
Cleaned up some CMake issues.
Ryan C. Gordon <icculus@icculus.org>
parents:
710
diff
changeset
|
230 |
|
1224
21cd84f1aa0a
Add support for emitting SPIR-V shaders.
Martin Krošlák <kroslakma@gmail.com>
parents:
1202
diff
changeset
|
231 |
FIND_PATH(SPIRV_TOOLS_INCLUDE_DIR "spirv-tools/libspirv.h" PATH_SUFFIXES "include") |
21cd84f1aa0a
Add support for emitting SPIR-V shaders.
Martin Krošlák <kroslakma@gmail.com>
parents:
1202
diff
changeset
|
232 |
FIND_LIBRARY(SPIRV_TOOLS_LIBRARY NAMES SPIRV-Tools-shared) |
21cd84f1aa0a
Add support for emitting SPIR-V shaders.
Martin Krošlák <kroslakma@gmail.com>
parents:
1202
diff
changeset
|
233 |
IF(SPIRV_TOOLS_INCLUDE_DIR AND SPIRV_TOOLS_LIBRARY) |
21cd84f1aa0a
Add support for emitting SPIR-V shaders.
Martin Krošlák <kroslakma@gmail.com>
parents:
1202
diff
changeset
|
234 |
INCLUDE_DIRECTORIES(${SPIRV_TOOLS_INCLUDE_DIR}) |
21cd84f1aa0a
Add support for emitting SPIR-V shaders.
Martin Krošlák <kroslakma@gmail.com>
parents:
1202
diff
changeset
|
235 |
ADD_DEFINITIONS(-DMOJOSHADER_HAS_SPIRV_TOOLS) |
21cd84f1aa0a
Add support for emitting SPIR-V shaders.
Martin Krošlák <kroslakma@gmail.com>
parents:
1202
diff
changeset
|
236 |
ENDIF(SPIRV_TOOLS_INCLUDE_DIR AND SPIRV_TOOLS_LIBRARY) |
21cd84f1aa0a
Add support for emitting SPIR-V shaders.
Martin Krošlák <kroslakma@gmail.com>
parents:
1202
diff
changeset
|
237 |
|
588
ef3d2efa822d
Moved all the test and utility programs to a "utils" directory.
Ryan C. Gordon <icculus@icculus.org>
parents:
569
diff
changeset
|
238 |
ADD_EXECUTABLE(testparse utils/testparse.c) |
1134 | 239 |
TARGET_LINK_LIBRARIES(testparse mojoshader ${LIBM} ${CARBON_FRAMEWORK}) |
1224
21cd84f1aa0a
Add support for emitting SPIR-V shaders.
Martin Krošlák <kroslakma@gmail.com>
parents:
1202
diff
changeset
|
240 |
IF(SPIRV_TOOLS_INCLUDE_DIR AND SPIRV_TOOLS_LIBRARY) |
21cd84f1aa0a
Add support for emitting SPIR-V shaders.
Martin Krošlák <kroslakma@gmail.com>
parents:
1202
diff
changeset
|
241 |
TARGET_LINK_LIBRARIES(testparse ${SPIRV_TOOLS_LIBRARY}) |
21cd84f1aa0a
Add support for emitting SPIR-V shaders.
Martin Krošlák <kroslakma@gmail.com>
parents:
1202
diff
changeset
|
242 |
ENDIF(SPIRV_TOOLS_INCLUDE_DIR AND SPIRV_TOOLS_LIBRARY) |
588
ef3d2efa822d
Moved all the test and utility programs to a "utils" directory.
Ryan C. Gordon <icculus@icculus.org>
parents:
569
diff
changeset
|
243 |
ADD_EXECUTABLE(testoutput utils/testoutput.c) |
1134 | 244 |
TARGET_LINK_LIBRARIES(testoutput mojoshader ${LIBM} ${CARBON_FRAMEWORK}) |
1187
0687a8d78a54
Add COMPILER_SUPPORT CMake flag, do not build effect/compiler files if disabled
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1172
diff
changeset
|
245 |
IF(COMPILER_SUPPORT) |
0687a8d78a54
Add COMPILER_SUPPORT CMake flag, do not build effect/compiler files if disabled
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1172
diff
changeset
|
246 |
ADD_EXECUTABLE(mojoshader-compiler utils/mojoshader-compiler.c) |
0687a8d78a54
Add COMPILER_SUPPORT CMake flag, do not build effect/compiler files if disabled
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1172
diff
changeset
|
247 |
TARGET_LINK_LIBRARIES(mojoshader-compiler mojoshader ${LIBM} ${CARBON_FRAMEWORK}) |
0687a8d78a54
Add COMPILER_SUPPORT CMake flag, do not build effect/compiler files if disabled
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1172
diff
changeset
|
248 |
ENDIF(COMPILER_SUPPORT) |
1 | 249 |
|
737
d028bf9d8096
Wired up unit tests to CMakefile.
Ryan C. Gordon <icculus@icculus.org>
parents:
732
diff
changeset
|
250 |
# Unit tests... |
1187
0687a8d78a54
Add COMPILER_SUPPORT CMake flag, do not build effect/compiler files if disabled
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1172
diff
changeset
|
251 |
IF(COMPILER_SUPPORT) |
0687a8d78a54
Add COMPILER_SUPPORT CMake flag, do not build effect/compiler files if disabled
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1172
diff
changeset
|
252 |
ADD_CUSTOM_TARGET( |
0687a8d78a54
Add COMPILER_SUPPORT CMake flag, do not build effect/compiler files if disabled
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1172
diff
changeset
|
253 |
test |
0687a8d78a54
Add COMPILER_SUPPORT CMake flag, do not build effect/compiler files if disabled
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1172
diff
changeset
|
254 |
COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/unit_tests/run_tests.pl" |
0687a8d78a54
Add COMPILER_SUPPORT CMake flag, do not build effect/compiler files if disabled
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1172
diff
changeset
|
255 |
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" |
0687a8d78a54
Add COMPILER_SUPPORT CMake flag, do not build effect/compiler files if disabled
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1172
diff
changeset
|
256 |
DEPENDS mojoshader-compiler |
0687a8d78a54
Add COMPILER_SUPPORT CMake flag, do not build effect/compiler files if disabled
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1172
diff
changeset
|
257 |
COMMENT "Running unit tests..." |
0687a8d78a54
Add COMPILER_SUPPORT CMake flag, do not build effect/compiler files if disabled
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1172
diff
changeset
|
258 |
VERBATIM |
0687a8d78a54
Add COMPILER_SUPPORT CMake flag, do not build effect/compiler files if disabled
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1172
diff
changeset
|
259 |
) |
0687a8d78a54
Add COMPILER_SUPPORT CMake flag, do not build effect/compiler files if disabled
Ethan Lee <flibitijibibo@flibitijibibo.com>
parents:
1172
diff
changeset
|
260 |
ENDIF(COMPILER_SUPPORT) |
737
d028bf9d8096
Wired up unit tests to CMakefile.
Ryan C. Gordon <icculus@icculus.org>
parents:
732
diff
changeset
|
261 |
|
1 | 262 |
# End of CMakeLists.txt ... |
263 |