 9b2ae482f1
			
		
	
	
		9b2ae482f1
		
	
	
	
	
		
			
			feat: implemented game of life feat: implemented automatic stepping fix: operator< Cell Cell now sorts by y first, then x fix: equalized scroll x/y fix: removed unused code path fix: marked simulation::living as static since it's no longer forward declared tweak: decreased number of cells on random initialization feat: defined Toggle element feat: added debug information toggle to UI feat: implemented simulation multithreading feat: improved simulation frame delta controls feat: inverted direction of panel colours fix: removed leftover die colors feat: reorganized and cleaned up style namespace chore: increased button border width feat: added SDL3 submodule feat: added SDL3_ttf submodule feat: moved clay to vendor (rather than include) feat: replaced premake5 with CMake to vendor SDL3 chore: translated more C stuff to C++ in main.cpp fix: stepping being inconsistent while running feat: fixed incorrect behaviour on simulation and added benchmarking code feat: minor adjustments to UI layout feat: increased thread count for pool feat: improved simulation benchmarking feat: simulation tasks can now be subdivided into separate workloads for separate threads feat: improved task counting thread safety chore: massively increased random field fix: target delta time is now enforced feat: added toggle for locked framerate fix: replaced manual .lock()/.unlock() calls with std::scoped_lock fix: benchmarking code was off by a magnitude of 1 feat: separated cell state checking into separate function in case another algo is faster than .contains chore: some comments on variables in simulation.cpp feat: set task split to hardware_concurrency() feat: added basic culling to cell renderer feat: implemented simulation threading toggle chore: lowered random button's field size chore: reduced padding on panel containers chore: minor formatting adjustment feat: added README.md fix: inverted x scroll feat: converted project to template feat: added .clangd
		
			
				
	
	
		
			26 lines
		
	
	
		
			790 B
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			790 B
		
	
	
	
		
			CMake
		
	
	
	
	
	
| cmake_minimum_required(VERSION 3.21)
 | |
| project(CHANGEME)
 | |
| 
 | |
| set(CMAKE_BINARY_DIR "${CMAKE_SOURCE_DIR}/bin")
 | |
| set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}")
 | |
| set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}")
 | |
| 
 | |
| set(CMAKE_CXX_STANDARD 23)
 | |
| set(CMAKE_C_STANDARD 23)
 | |
| 
 | |
| file(GLOB_RECURSE source_files . src/**.cpp src/**.c vendor/renderer/**.c)
 | |
| include_directories(vendor/)
 | |
| 
 | |
| add_subdirectory(vendor/SDL3/ EXCLUDE_FROM_ALL)
 | |
| set(SDLTTF_VENDORED ON)
 | |
| add_subdirectory(vendor/SDL3_ttf/ EXCLUDE_FROM_ALL)
 | |
| 
 | |
| add_executable(CHANGEME ${source_files})
 | |
| target_link_libraries(CHANGEME PRIVATE SDL3_ttf::SDL3_ttf SDL3::SDL3)
 | |
| 
 | |
| add_custom_target(copy_assets
 | |
|     COMMAND ${CMAKE_COMMAND} -E
 | |
| 	copy_directory ${CMAKE_SOURCE_DIR}/assets/ ${CMAKE_BINARY_DIR}/assets
 | |
| )
 | |
| add_dependencies(CHANGEME copy_assets)
 |