@@ -131,8 +131,8 @@ if(CMAKE_BUILD_TYPE MATCHES Debug)
131131 set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O0 -DDEBUG" )
132132 else ()
133133 # set(CMAKE_CXX_FLAGS_DEBUG "-Wall -Wextra -g -pthread -Wa,-mbig-obj -O0 -ggdb -DDEBUG")
134- set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -O0 -DDEBUG" )
135- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O0 -DDEBUG" )
134+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -O1 -DDEBUG" )
135+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O1 -DDEBUG" )
136136 endif ()
137137elseif (CMAKE_BUILD_TYPE MATCHES Release)
138138 if (${CMAKE_SYSTEM_NAME} MATCHES "Emscripten" )
@@ -152,9 +152,13 @@ message("Current c++ release flags used: '${CMAKE_CXX_FLAGS}'")
152152set (MINIMAL_ENGINESOURCE
153153 # Core compiler/VM files
154154 src/Engine/Compiler/compiler_debug.cpp
155- src/Engine/Compiler/vm.cpp
155+ src/Engine/Compiler/vm_core.cpp
156+ src/Engine/Compiler/vm_helpers.cpp
157+ src/Engine/Compiler/vm_binary_op.cpp
158+ src/Engine/Compiler/vm_struct_op.cpp
156159 src/Engine/Compiler/vm_profiler.cpp
157160 src/Engine/Compiler/compiler.cpp
161+ src/Engine/Compiler/decoded_chunk.cpp
158162 src/Engine/Compiler/object.cpp
159163 src/Engine/Compiler/cparser.cpp
160164 src/Engine/Compiler/bytecode_pass.cpp
@@ -164,6 +168,7 @@ set(MINIMAL_ENGINESOURCE
164168 src/Engine/Compiler/pass/long_jump_optimization_pass.cpp
165169 src/Engine/Compiler/pass/basic_operator_local_indexing.cpp
166170 src/Engine/Compiler/pass/constant_folding.cpp
171+ src/Engine/Compiler/ecsserialization.cpp
167172 # Minimal interpreter (only lexer and token for parsing)
168173 src/Engine/Interpreter/lexer.cpp
169174 src/Engine/Interpreter/token.cpp
@@ -172,6 +177,7 @@ set(MINIMAL_ENGINESOURCE
172177 src/Engine/ECS/componentregistry.cpp
173178 src/Engine/ECS/entity.cpp
174179 src/Engine/ECS/entitysystem.cpp
180+ src/Engine/ECS/entitysystem_minimal.cpp
175181 src/Engine/ECS/group.cpp
176182 src/Engine/ECS/savemanager.cpp
177183 src/Engine/ECS/sparseset.cpp
@@ -205,9 +211,13 @@ set(ENGINESOURCE
205211 src/Engine/2D/texture.cpp
206212 src/Engine/Audio/audiosystem.cpp
207213 src/Engine/Compiler/compiler_debug.cpp
208- src/Engine/Compiler/vm.cpp
214+ src/Engine/Compiler/vm_core.cpp
215+ src/Engine/Compiler/vm_helpers.cpp
216+ src/Engine/Compiler/vm_binary_op.cpp
217+ src/Engine/Compiler/vm_struct_op.cpp
209218 src/Engine/Compiler/vm_profiler.cpp
210219 src/Engine/Compiler/compiler.cpp
220+ src/Engine/Compiler/decoded_chunk.cpp
211221 src/Engine/Compiler/ecsserialization.cpp
212222 src/Engine/Compiler/object.cpp
213223 src/Engine/Compiler/cparser.cpp
@@ -222,6 +232,7 @@ set(ENGINESOURCE
222232 src/Engine/ECS/componentregistry.cpp
223233 src/Engine/ECS/entity.cpp
224234 src/Engine/ECS/entitysystem.cpp
235+ src/Engine/ECS/entitysystem_full.cpp
225236 src/Engine/ECS/group.cpp
226237 src/Engine/ECS/savemanager.cpp
227238 src/Engine/ECS/sparseset.cpp
@@ -725,6 +736,22 @@ if(NOT BUILD_STATIC_LIB AND BUILD_EXAMPLES)
725736
726737 ###
727738
739+ add_executable (RenderingTest exemples/RenderingTest/main.cpp )
740+
741+ target_include_directories (RenderingTest PUBLIC exemples/RenderingTest )
742+
743+ target_sources (RenderingTest PRIVATE
744+ exemples/RenderingTest/application.cpp
745+ )
746+
747+ target_link_libraries (RenderingTest PRIVATE ColumbaEngine )
748+
749+ set_target_properties (RenderingTest
750+ PROPERTIES SUFFIX ".html"
751+ LINK_FLAGS "-lidbfs.js -s FORCE_FILESYSTEM=1 -sPTHREAD_POOL_SIZE=4 -pthread -s ALLOW_MEMORY_GROWTH=1 -s USE_WEBGL2=1 -s FULL_ES3=1 -s SAFE_HEAP=1 ${USE_FLAGS} " )
752+
753+ ###
754+
728755 add_executable (Asteroid exemples/Asteroid/main.cpp )
729756
730757 target_include_directories (Asteroid PUBLIC exemples/Asteroid )
@@ -903,6 +930,18 @@ if(NOT BUILD_STATIC_LIB AND BUILD_EXAMPLES)
903930
904931 ###
905932
933+ add_executable (RenderingTest exemples/RenderingTest/main.cpp )
934+
935+ target_include_directories (RenderingTest PUBLIC exemples/RenderingTest )
936+
937+ target_sources (RenderingTest PRIVATE
938+ exemples/RenderingTest/application.cpp
939+ )
940+
941+ target_link_libraries (RenderingTest PRIVATE ColumbaEngine )
942+
943+ ###
944+
906945 add_executable (Asteroid exemples/Asteroid/main.cpp )
907946
908947 target_include_directories (Asteroid PUBLIC exemples/Asteroid )
@@ -1061,21 +1100,27 @@ if(NOT BUILD_STATIC_LIB AND BUILD_EXAMPLES)
10611100
10621101 target_sources (bench PRIVATE
10631102 benchmark/memorypool.cc
1103+ benchmark/serialization.cc
1104+ benchmark/script_performance.cc
10641105 )
10651106
10661107 target_link_libraries (bench PRIVATE gtest gtest_main ColumbaEngine )
10671108
1109+ add_custom_command (TARGET bench PRE_BUILD
1110+ COMMAND ${CMAKE_COMMAND} -E copy_directory
1111+ ${CMAKE_SOURCE_DIR} /test/bench $<TARGET_FILE_DIR :bench >/test/bench )
1112+
10681113 # ===============================================
10691114 # COMPILER TEST TARGET (simple script-based testbench)
10701115 # ===============================================
10711116
1072- # PgCompiler source files (needed for testing)
1073- set (PGCOMPILER_SOURCES)
1074-
10751117 # Create the compiler test executable with simple script testbench
10761118 add_executable (test_compiler test /pgcompiler/script_testbench.cc )
10771119
1078- target_sources (test_compiler PRIVATE ${PGCOMPILER_SOURCES} )
1120+ target_sources (test_compiler PRIVATE
1121+ test /pgcompiler/unit/test_vm_memory.cc
1122+ test /pgcompiler/unit/test_register_ops.cc
1123+ )
10791124
10801125 # Include directories for compiler tests
10811126 target_include_directories (test_compiler PRIVATE
@@ -1086,7 +1131,7 @@ if(NOT BUILD_STATIC_LIB AND BUILD_EXAMPLES)
10861131 target_link_libraries (test_compiler PRIVATE
10871132 gtest
10881133 gtest_main
1089- ColumbaEngine
1134+ ColumbaEngineMinimal
10901135 )
10911136
10921137 # Add DEBUG_CHECK_STACK define for test_compiler target
@@ -1153,4 +1198,4 @@ endif()
11531198
11541199message (STATUS "CPack generators: ${CPACK_GENERATOR} " )
11551200
1156- include (CPack )
1201+ include (CPack )
0 commit comments