-
-
Notifications
You must be signed in to change notification settings - Fork 21
/
Copy pathCMakeLists.txt
82 lines (71 loc) · 1.85 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
cmake_minimum_required(VERSION 3.1)
project(ShaderDebugger)
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
# source code
set(SOURCES
src/Utils.cpp
src/GLSLLibrary.cpp
src/GLSLCompiler.cpp
src/HLSLLibrary.cpp
src/HLSLCompiler.cpp
src/CommonLibrary.cpp
src/ShaderDebugger.cpp
src/Texture.cpp
src/TextureCube.cpp
# glsl-parser
libs/glsl-parser/ast.cpp
libs/glsl-parser/debug.cpp
libs/glsl-parser/lexer.cpp
libs/glsl-parser/parser.cpp
libs/glsl-parser/util.cpp
# hlslparser
libs/hlslparser/Engine.cpp
libs/hlslparser/HLSLParser.cpp
libs/hlslparser/HLSLTokenizer.cpp
libs/hlslparser/HLSLTree.cpp
# BlueVM
libs/BlueVM/src/bv_array.c
libs/BlueVM/src/bv_block.c
libs/BlueVM/src/bv_constant_pool.c
libs/BlueVM/src/bv_function.c
libs/BlueVM/src/bv_function_pool.c
libs/BlueVM/src/bv_function_stepper.c
libs/BlueVM/src/bv_string_table.c
libs/BlueVM/src/bv_object_info.c
libs/BlueVM/src/bv_object_pool.c
libs/BlueVM/src/bv_library.c
libs/BlueVM/src/bv_object.c
libs/BlueVM/src/bv_opcode.c
libs/BlueVM/src/bv_header.c
libs/BlueVM/src/bv_name_list.c
libs/BlueVM/src/bv_execute.c
libs/BlueVM/src/bv_program.c
libs/BlueVM/src/bv_stack.c
libs/BlueVM/src/bv_scope.c
libs/BlueVM/src/bv_type.c
libs/BlueVM/src/bv_variable.c
libs/BlueVM/src/types.c
# preprocessor
libs/wgtcc/ast.cc
libs/wgtcc/cpp.cc
libs/wgtcc/encoding.cc
libs/wgtcc/error.cc
libs/wgtcc/evaluator.cc
libs/wgtcc/parser.cc
libs/wgtcc/scanner.cc
libs/wgtcc/scope.cc
libs/wgtcc/token.cc
libs/wgtcc/type.cc
)
# glm
find_package(GLM REQUIRED)
add_library(ShaderDebugger ${SOURCES})
# link libraries
target_link_libraries(ShaderDebugger ${GLM_LIBRARY_DIRS})
# properties
set_target_properties(ShaderDebugger PROPERTIES
CXX_STANDARD 17
CXX_STANDARD_REQUIRED YES
)
# include directories
target_include_directories(ShaderDebugger PUBLIC inc libs libs/BlueVM/inc ${GLM_INCLUDE_DIRS})