Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
86 commits
Select commit Hold shift + click to select a range
205b100
clean slate
May 4, 2024
817e345
boiler plate
May 4, 2024
ca6d97a
added dependencies
May 4, 2024
a48c977
make components toggleable
May 4, 2024
c9d54d8
basic glfw window
May 5, 2024
e7a1a6c
added core module
May 6, 2024
1e69b6d
added math module
May 6, 2024
b9507a7
add log module
May 6, 2024
e4019a7
added thread pool module stubs
May 6, 2024
e8d8090
fixed tests, added signal handler
May 11, 2024
44f63b5
added tripple buffer
May 11, 2024
b4c2d23
gen compile_commands.json
May 12, 2024
f1ff925
added timer
May 12, 2024
26b450e
added frame interval helper
May 12, 2024
72506cf
API for thread pool
May 12, 2024
c4bec53
fix singleton being dumb
May 18, 2024
7b2bee2
change logger to use CRTP
May 18, 2024
dcc0139
thread pool impl partly done
May 18, 2024
e8cc4f2
fix build on macos
May 18, 2024
ac36651
fixed threading, basic thread pool impl
May 19, 2024
1cd8f13
future support
May 19, 2024
40d4eb4
future supports multiple return types
May 20, 2024
50f8774
use numbers lib
May 21, 2024
83f7981
added type id for non rtti
May 21, 2024
b92193e
added custom template funcs
May 21, 2024
8acd2e1
support manual dependencies
May 21, 2024
268f86b
stop moving const dumbass
May 21, 2024
2930141
hashing
May 29, 2024
f838fdb
disable x11
Jun 1, 2024
27d9cfc
fixed linux build
Jun 2, 2024
3cc9117
install targets
Jun 6, 2024
efd4370
fixed deadlock in thread pool
Jun 13, 2024
be0441a
fixed formatting
Jun 14, 2024
2654bda
use all cores during lto
Jun 14, 2024
501e767
fix missing includes for hasing
Jun 14, 2024
389ee32
fixed formatting again
Jun 14, 2024
f63c1c7
encryption module
Jun 14, 2024
6291bff
cpp 23 yippie
Jun 21, 2024
c857a79
gcc stuff
Jun 21, 2024
2cef03f
todos
Jun 26, 2024
ef9311d
added nvrhi
Jun 26, 2024
c6d586c
update cmake stuff
Jun 27, 2024
8908d59
memory module
Jun 27, 2024
24dd52e
shhh nvrhi
Jun 27, 2024
2adebcd
cleanup
Jun 27, 2024
2d241ce
more memory stuff
Jun 28, 2024
00fc90e
fix parent scope set
Jun 28, 2024
0f48b21
improved logger
Jun 28, 2024
a966f13
added minhook
Jun 29, 2024
50069b7
detour API wrapper
Jun 29, 2024
599d453
added input handler
Jun 29, 2024
18004a1
render API
Jun 29, 2024
6a9e87c
render WIP
Jul 1, 2024
00395e1
script for compiling hlsl
Jul 2, 2024
f6d616a
render stuff
Jul 3, 2024
76bf774
fixed some more stuff
Jul 6, 2024
7bc3f8b
added zasm and zydis
Jul 10, 2024
99342a4
fixed namespace
Jul 12, 2024
6e3bff3
WIP: custom detour
Jul 12, 2024
df79bd3
retard
Jul 12, 2024
84ce609
drop?
Jul 13, 2024
f83b435
SKETCHY BUT WORKING INLINE HOOK x64 WIN32
Jul 13, 2024
6d4cefa
use capstone for arm64 and x86 support
Jul 17, 2024
e281c5f
abstract away virtual memory
Jul 17, 2024
4db2a7d
fuck off
Jul 19, 2024
9b676fe
regression lol
Jul 19, 2024
2e76c2a
fixed stuff on linux
Jul 25, 2024
c77f433
refactor: remove hook module
Oct 12, 2024
3907457
build: new cmake
Oct 12, 2024
296392e
refactor: remove old cmake
Oct 12, 2024
fa34023
Merge pull request #37 from ccamel55/build/refactor-cmake
ccamel55 Oct 12, 2024
05eedab
docs: add todo
Oct 12, 2024
ac28bfc
build: add interface type
Oct 14, 2024
51a721b
build: add executable support
Oct 14, 2024
edf814a
feat: redo virtual memory, linux impl only
Oct 14, 2024
b9abfc4
feat: add windows memory impl
Oct 14, 2024
d779d71
chore: fix build on windows
Oct 21, 2024
08932e9
test: vtable index with rtti
Oct 21, 2024
9b47f6a
build: support adding library as subdirectory
Oct 21, 2024
82b1ac2
build: export some variables globally
Oct 21, 2024
48281c5
fix: expose arch and platform globally
Oct 27, 2024
e1b93f0
chore: update some more stuff
Oct 28, 2024
4d5ccf8
fix: propogate defines globally
Oct 28, 2024
c21de24
chore: fixed more small things
Nov 2, 2024
a1f9ed4
chore: glfw window tool
Nov 4, 2024
5baf786
chore: stubs for render class
Nov 4, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 1 addition & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,4 @@ fabric.properties
*.app

# Ignore all cmake-build files as well.
**/cmake-build-*/

.idea/
**/cmake-build-*/
24 changes: 0 additions & 24 deletions .gitmodules

This file was deleted.

3 changes: 3 additions & 0 deletions .idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions .idea/.name

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

194 changes: 194 additions & 0 deletions .idea/codeStyles/Project.xml

Large diffs are not rendered by default.

5 changes: 5 additions & 0 deletions .idea/codeStyles/codeStyleConfig.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions .idea/custom_lib.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

344 changes: 344 additions & 0 deletions .idea/editor.xml

Large diffs are not rendered by default.

13 changes: 13 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions .idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

88 changes: 10 additions & 78 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,83 +1,15 @@
cmake_minimum_required(VERSION 3.26)

project(custom_lib)

# force modern c/c++ standards
set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)

# custom build options for the project
option(
CUSTOM_LIB_BUILD_FAT_LIBRARY
"Whether or not to link all libraries to the custom_lib target."
OFF
)

message(STATUS "CUSTOM_LIB_BUILD_FAT_LIBRARY: ${CUSTOM_LIB_BUILD_FAT_LIBRARY}")

option(
CUSTOM_LIB_DYNAMIC_LIBRARY
"Build custom lib as a dynamic library."
OFF
)

message(STATUS "CUSTOM_LIB_DYNAMIC_LIBRARY: ${CUSTOM_LIB_DYNAMIC_LIBRARY}")

# enable libraries and add tests only if this repo is top level
if(PROJECT_IS_TOP_LEVEL)
message(STATUS "-------------------------------------------------")
message(STATUS "Custom Lib is the top level project. Enabling tests and setting default options.")

set(LIB_COMMAND_PARSER on)
set(LIB_GUI on)
set(LIB_HASHING on)
set(LIB_INPUT on)
set(LIB_JSON_CONFIG on)
set(LIB_THREADING on)
set(LIB_UTILS on)
set(LIB_LOGGER 6)

set(LIB_RENDERING off)
set(LIB_WINDOW_CREATION off)

# all unit tests should be automatically registered by catch2
add_subdirectory(unit_test)
endif()

# todo: add flag for dynamic library
add_library(${PROJECT_NAME} STATIC
custom_lib.cpp
project(
camel_lib
LANGUAGES
CXX
DESCRIPTION
"ccamel55's multi purpose library!"
)

include(cmake/options/lib_option.cmake)
include(cmake/options/build_options.cmake)

include(cmake/components/lib_component.cmake)
include(cmake/components/lib_sub_component.cmake)

include(cmake/helper/gather_libraries.cmake)

# build options that will propagate to the whole project
add_subdirectory(dependencies)
add_subdirectory(components)
add_subdirectory(core_sdk)

# combine all linked libraries into one target 'custom_lib'
if (CUSTOM_LIB_BUILD_FAT_LIBRARY)
list(APPEND SUB_LIBRARIES "")

get_libraries_recursive(
LIBRARY_LIST_NAME SUB_LIBRARIES
LIBRARY_NAME custom_lib
)

# for each library in the list, link it to the main library
foreach(library ${SUB_LIBRARIES})
target_sources(${PROJECT_NAME} PUBLIC
$<TARGET_OBJECTS:${library}>
)
endforeach()
endif ()
# Add cmake module paths
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake")

# Run library cmake code
include(main)
91 changes: 0 additions & 91 deletions cmake/components/lib_component.cmake

This file was deleted.

72 changes: 0 additions & 72 deletions cmake/components/lib_sub_component.cmake

This file was deleted.

Loading