-
Notifications
You must be signed in to change notification settings - Fork 0
/
CMakeLists.txt
123 lines (88 loc) · 2.56 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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
# cmake -DCMAKE_INSTALL_PREFIX=~/Installations -DMUQ_USE_PYTHON=ON -DPYTHON_EXECUTABLE=~/opt/miniconda3/bin/python3.9 ../
cmake_minimum_required(VERSION 3.16)
project( "EngineRemastered" )
set(CMAKE_CXX_STANDARD 17)
#UNIVERSALS
set( APP_NAME "app")
set( MOD_NAME "_EngineRemastered")
set( BASE "${PROJECT_SOURCE_DIR}/EngineRemastered" )
set( MAIN "${BASE}/Main" )
set( DEPENDENCIES "${PROJECT_SOURCE_DIR}/EngineRemastered/dependencies" )
set( COMPILE_FLAGS "-g -Wall" )
#INCLUDES
set( INCLUDES "${BASE}/include" )
set( DEPEND_INCLUDES "${DEPENDENCIES}/include" )
set( DEPEND_LIBRARY "${DEPENDENCIES}/library" )
#DIRECTORIES:
set( APP "${MAIN}/app" )
set( OBJECT "${MAIN}/objects" )
set( UCONSTRUCTORS "${MAIN}/universalConstructors" )
add_definitions(${COMPILE_FLAGS})
find_package(Boost COMPONENTS python REQUIRED)
add_subdirectory(${DEPEND_INCLUDES}/pybind11)
set( CPP_FILES
${MAIN}/module.cpp
${MAIN}/app.cpp
${MAIN}/main.cpp
${APP}/validation.cpp
${MAIN}/module.cpp
${APP}/depthBuffer.cpp
${APP}/commands.cpp
${APP}/devices.cpp
${APP}/draw.cpp
${APP}/pipeline.cpp
${APP}/swapchain.cpp
${OBJECT}/object.cpp
${OBJECT}/vertexBuffer.cpp
${OBJECT}/vertexReader.cpp
${UCONSTRUCTORS}/imageReader.cpp
${UCONSTRUCTORS}/proxy.cpp
${UCONSTRUCTORS}/buffers.cpp
${UCONSTRUCTORS}/uCommands.cpp
)
# this creates a dynamic linked library (.so file)
pybind11_add_module(
_EngineRemastered
SHARED
${CPP_FILES}
)
target_include_directories(
_EngineRemastered
PRIVATE ${MAIN}
PRIVATE ${APP}
PRIVATE ${OBJECT}
PRIVATE ${UCONSTRUCTORS}
PRIVATE ${INCLUDES}
PRIVATE ${DEPEND_INCLUDES}
PRIVATE ${DEPEND_INCLUDES}/Vulkan
PRIVATE ${DEPEND_INCLUDES}/pybind11/include
PRIVATE ${DEPEND_LIBRARY}
)
target_link_libraries(
_EngineRemastered
PRIVATE ${DEPEND_LIBRARY}/libglfw.3.3.dylib
PRIVATE ${DEPEND_LIBRARY}/Vulkan/libvulkan.1.3.231.dylib
)
# add_executable(
# ${APP_NAME}
# ${CPP_FILES}
# )
# target_include_directories(
# ${APP_NAME}
# PRIVATE ${MAIN}
# PRIVATE ${APP}
# PRIVATE ${OBJECT}
# PRIVATE ${UCONSTRUCTORS}
# PRIVATE ${INCLUDES}
# PRIVATE ${DEPEND_INCLUDES}
# PRIVATE ${DEPEND_INCLUDES}/Vulkan
# PRIVATE ${DEPEND_INCLUDES}/pybind11/include
# PRIVATE ${DEPEND_LIBRARY}
# )
# target_link_libraries(
# ${APP_NAME}
# # PRIVATE ${Boost_LIBRARIES}
# PRIVATE ${DEPEND_LIBRARY}/libglfw.3.3.dylib
# PRIVATE ${DEPEND_LIBRARY}/Vulkan/libvulkan.1.3.231.dylib
# PRIVATE pybind11::embed
# )