Skip to content

Commit 8687be1

Browse files
committed
build: update dependencies
1 parent 0dadc1a commit 8687be1

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+21890
-19980
lines changed

.clang-format

+45
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
Language: Cpp
2+
BasedOnStyle: LLVM
3+
Standard: Auto
4+
UseTab: Always
5+
TabWidth: 4
6+
IndentWidth: 4
7+
PointerAlignment: Right
8+
BreakBeforeBraces: Custom
9+
BraceWrapping:
10+
AfterClass: false
11+
AfterControlStatement: false
12+
AfterEnum: false
13+
AfterFunction: false
14+
AfterNamespace: false
15+
AfterObjCDeclaration: false
16+
AfterStruct: false
17+
AfterUnion: false
18+
BeforeCatch: false
19+
BeforeElse: false
20+
IndentBraces: false
21+
ConstructorInitializerAllOnOneLineOrOnePerLine: true
22+
ConstructorInitializerIndentWidth: 4
23+
ContinuationIndentWidth: 4
24+
AlignConsecutiveAssignments: false
25+
AlignConsecutiveDeclarations: false
26+
BinPackArguments: false
27+
BinPackParameters: false
28+
AllowShortBlocksOnASingleLine: false
29+
AllowShortCaseLabelsOnASingleLine: false
30+
AllowShortFunctionsOnASingleLine: Empty
31+
AllowShortIfStatementsOnASingleLine: false
32+
AllowShortLoopsOnASingleLine: false
33+
AlwaysBreakTemplateDeclarations: true
34+
AccessModifierOffset: -4
35+
AlignAfterOpenBracket: AlwaysBreak
36+
SpacesBeforeTrailingComments: 1
37+
AlignEscapedNewlines: Right
38+
BreakConstructorInitializers: AfterColon
39+
AlignConsecutiveAssignments: false
40+
AlignConsecutiveDeclarations: false
41+
SpaceBeforeAssignmentOperators: true
42+
SpaceAfterTemplateKeyword: true
43+
SpaceBeforeParens: ControlStatements
44+
BreakBeforeTernaryOperators: true
45+
CompactNamespaces: true

.clang_complete

-2
This file was deleted.

.gitignore

+8-5
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
1-
bin
2-
lib
3-
build
4-
obj
5-
.vscode
1+
bin/
2+
lib/
3+
build/
4+
obj/
5+
.vscode/
6+
*.bin
7+
out/
8+
out.*/

.gitmodules

-6
This file was deleted.

CMakeLists.txt

+46
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
cmake_minimum_required(VERSION 3.13)
2+
3+
project("nob")
4+
5+
include("${CMAKE_CURRENT_SOURCE_DIR}/cmake/DepPull.cmake")
6+
7+
DepPull(
8+
minhook_cpp
9+
GIT_REPO "https://github.com/yulon/minhook_cpp.git"
10+
GIT_TAG "3af32f8c360e43703e37c1157efb2769e69678a5"
11+
DEV_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../minhook_cpp"
12+
)
13+
14+
DepPull(
15+
rua
16+
GIT_REPO "https://github.com/yulon/rua.git"
17+
GIT_TAG "81f0f900f4085c7973e28a9292666ab1b0f9ce79"
18+
DEV_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../rua"
19+
)
20+
21+
file(GLOB_RECURSE nob_SRC "${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp" )
22+
add_library(nob STATIC ${nob_SRC})
23+
set(nob_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/include")
24+
target_include_directories(nob PUBLIC ${nob_INCLUDE_DIR})
25+
target_link_libraries(nob PUBLIC minhook_cpp rua version)
26+
set_target_properties(nob PROPERTIES CXX_STANDARD 17)
27+
if(MSVC)
28+
target_compile_definitions(nob PUBLIC "_CRT_SECURE_NO_WARNINGS")
29+
target_compile_options(nob PUBLIC "/utf-8")
30+
endif()
31+
if(DEFINED NOB_FAST_LAUNCH AND NOB_FAST_LAUNCH)
32+
message(STATUS "Nob: Enable 'NOB_FAST_LAUNCH'")
33+
target_compile_definitions(nob PUBLIC "NOB_FAST_LAUNCH")
34+
endif()
35+
36+
add_library(nob_tester SHARED "${CMAKE_CURRENT_SOURCE_DIR}/tools/tester/main.cpp")
37+
target_include_directories(nob_tester PRIVATE ${nob_INCLUDE_DIRS})
38+
set_target_properties(nob_tester PROPERTIES CXX_STANDARD 17)
39+
set_target_properties(nob_tester PROPERTIES PREFIX "")
40+
set_target_properties(nob_tester PROPERTIES SUFFIX ".asi")
41+
target_link_libraries(nob_tester PRIVATE nob)
42+
if(MSVC)
43+
target_link_options(nob_tester PRIVATE "/include:DllMain")
44+
else()
45+
target_link_options(nob_tester PRIVATE "-Wl,--exclude-all-symbols")
46+
endif()

cmake/DepPull.cmake

+224
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,224 @@
1+
cmake_minimum_required(VERSION 3.0 FATAL_ERROR)
2+
3+
if(DEFINED DEPPULL_CURRENT_PATH)
4+
return()
5+
endif()
6+
7+
set(DEPPULL_CURRENT_PATH "${CMAKE_BINARY_DIR}/DepPull")
8+
9+
if(NOT DEFINED DEPPULL_PATH AND NOT DEFINED CACHE{DEPPULL_PATH})
10+
if(DEFINED ENV{DEPPULL_PATH})
11+
set(DEPPULL_PATH "$ENV{DEPPULL_PATH}")
12+
else()
13+
set(DEPPULL_PATH "${DEPPULL_CURRENT_PATH}")
14+
endif()
15+
endif()
16+
17+
string(TOUPPER "${DEPPULL_PATH}" _DEPPULL_PATH_TOUPPER)
18+
19+
if("${_DEPPULL_PATH_TOUPPER}" STREQUAL "IN_HOME")
20+
if(WIN32)
21+
set(DEPPULL_PATH "$ENV{USERPROFILE}/.DepPull")
22+
elseif(UNIX)
23+
set(DEPPULL_PATH "$ENV{HOME}/.DepPull")
24+
endif()
25+
elseif("${_DEPPULL_PATH_TOUPPER}" STREQUAL "IN_TEMP")
26+
if(WIN32)
27+
set(DEPPULL_PATH "$ENV{TEMP}/.DepPull")
28+
elseif(UNIX)
29+
set(DEPPULL_PATH "/tmp/.DepPull")
30+
endif()
31+
endif()
32+
33+
file(TO_CMAKE_PATH "${DEPPULL_PATH}" DEPPULL_PATH)
34+
35+
message(STATUS "DepPull: DEPPULL_PATH = ${DEPPULL_PATH}")
36+
37+
function(_DepPull_MakeSrcPaths A_DEP_PREFIX A_SOURCE_PREFIX)
38+
set(SOURCE_ROOT_REL "${A_DEP_PREFIX}/src")
39+
set(SOURCE_ROOT_REL "${SOURCE_ROOT_REL}" PARENT_SCOPE)
40+
41+
set(SOURCE_ROOT "${DEPPULL_PATH}/${SOURCE_ROOT_REL}")
42+
set(SOURCE_ROOT "${SOURCE_ROOT}" PARENT_SCOPE)
43+
44+
file(TO_CMAKE_PATH "${A_SOURCE_PREFIX}" SOURCE_PREFIX)
45+
if(SOURCE_PREFIX AND NOT "${A_SOURCE_PREFIX}" STREQUAL "/")
46+
set(SOURCE_DIR_REL "${SOURCE_ROOT_REL}/${SOURCE_PREFIX}" PARENT_SCOPE)
47+
set(SOURCE_DIR "${SOURCE_ROOT}/${SOURCE_PREFIX}" PARENT_SCOPE)
48+
else()
49+
set(SOURCE_DIR_REL "${SOURCE_ROOT_REL}" PARENT_SCOPE)
50+
set(SOURCE_DIR "${SOURCE_ROOT}" PARENT_SCOPE)
51+
endif()
52+
endfunction()
53+
54+
function(DepPull A_NAME)
55+
message(STATUS "DepPull: Checking '${A_NAME}' ...")
56+
57+
set(oneValueArgs
58+
USE_PACKAGE
59+
ARCHIVE_URL
60+
ARCHIVE_HASH
61+
GIT_REPO
62+
GIT_TAG
63+
SOURCE_PREFIX
64+
DEV_SOURCE_DIR
65+
)
66+
cmake_parse_arguments(A "" "${oneValueArgs}" "" ${ARGN})
67+
68+
set(FOUND FALSE)
69+
string(TOLOWER ${A_NAME} NAME_TOLOWER)
70+
71+
if(EXISTS "${A_DEV_SOURCE_DIR}")
72+
set(SOURCE_DIR "${A_DEV_SOURCE_DIR}")
73+
set(STORAGE_PREFIX "${NAME_TOLOWER}/dev")
74+
set(FOUND TRUE)
75+
endif()
76+
77+
if(NOT FOUND AND A_USE_PACKAGE)
78+
find_package(${A_NAME} QUIET)
79+
if(${A_NAME}_FOUND)
80+
if(DEFINED ${A_NAME}_VERSION)
81+
message(STATUS "DepPull: Found '${A_NAME}@${${A_NAME}_VERSION}'")
82+
return()
83+
endif()
84+
message(STATUS "DepPull: Found '${A_NAME}'")
85+
return()
86+
endif()
87+
endif()
88+
89+
if(NOT FOUND AND ARCHIVE_URL)
90+
string(MAKE_C_IDENTIFIER "${A_ARCHIVE_HASH}" ARCHIVE_NAME)
91+
set(STORAGE_PREFIX "${NAME_TOLOWER}/${ARCHIVE_NAME}")
92+
93+
_DepPull_MakeSrcPaths("${STORAGE_PREFIX}" "${A_SOURCE_PREFIX}")
94+
95+
if(EXISTS "${SOURCE_ROOT}.ready")
96+
set(FOUND TRUE)
97+
else()
98+
if(EXISTS "${SOURCE_ROOT}")
99+
file(REMOVE_RECURSE "${SOURCE_ROOT}")
100+
endif()
101+
file(MAKE_DIRECTORY "${SOURCE_ROOT}")
102+
103+
set(SOURCE_PKG "${SOURCE_ROOT}.unkpkg")
104+
105+
if(EXPECTED_HASH)
106+
file(DOWNLOAD "${ARCHIVE_URL}" "${SOURCE_PKG}" EXPECTED_HASH ${A_ARCHIVE_HASH})
107+
else()
108+
file(DOWNLOAD "${ARCHIVE_URL}" "${SOURCE_PKG}")
109+
endif()
110+
111+
execute_process(
112+
COMMAND "${CMAKE_COMMAND}" -E tar xzf "${SOURCE_PKG}"
113+
RESULT_VARIABLE EXIT_CODE
114+
WORKING_DIRECTORY "${SOURCE_ROOT}"
115+
ENCODING NONE
116+
)
117+
if(EXIT_CODE STREQUAL "0")
118+
file(WRITE "${SOURCE_ROOT}.ready" "")
119+
set(FOUND TRUE)
120+
endif()
121+
file(REMOVE "${SOURCE_PKG}")
122+
endif()
123+
endif()
124+
125+
if(NOT FOUND AND A_GIT_REPO)
126+
string(REGEX REPLACE ".+://" "" GIT_REPO_CLEAR "${A_GIT_REPO}")
127+
string(REGEX REPLACE "\\.git[/\\\\]*$" "" GIT_REPO_CLEAR "${GIT_REPO_CLEAR}")
128+
string(MAKE_C_IDENTIFIER "${GIT_REPO_CLEAR}" GIT_REPO_NAME)
129+
130+
if(A_GIT_TAG AND NOT "${A_GIT_TAG}" STREQUAL "*")
131+
set(GIT_TAG "${A_GIT_TAG}")
132+
else()
133+
set(GIT_TAG "master")
134+
endif()
135+
136+
set(STORAGE_PREFIX "${NAME_TOLOWER}/${GIT_REPO_NAME}")
137+
if(NOT "${GIT_TAG}" STREQUAL "master")
138+
set(STORAGE_PREFIX "${STORAGE_PREFIX}-${GIT_TAG}")
139+
endif()
140+
141+
_DepPull_MakeSrcPaths("${STORAGE_PREFIX}" "${A_SOURCE_PREFIX}")
142+
143+
if(NOT EXISTS "${SOURCE_ROOT}.ready")
144+
145+
if(NOT DEFINED GIT_EXECUTABLE)
146+
find_package(Git REQUIRED QUIET)
147+
endif()
148+
149+
if(NOT EXISTS "${DEPPULL_PATH}")
150+
file(MAKE_DIRECTORY "${DEPPULL_PATH}")
151+
endif()
152+
153+
execute_process(
154+
COMMAND "${GIT_EXECUTABLE}" clone "${A_GIT_REPO}" "${SOURCE_ROOT}"
155+
RESULT_VARIABLE EXIT_CODE
156+
ENCODING NONE
157+
)
158+
if(EXIT_CODE STREQUAL "0")
159+
if(NOT "${GIT_TAG}" STREQUAL "master")
160+
execute_process(
161+
COMMAND "${GIT_EXECUTABLE}" checkout "${GIT_TAG}"
162+
RESULT_VARIABLE EXIT_CODE
163+
WORKING_DIRECTORY "${SOURCE_ROOT}"
164+
ENCODING NONE
165+
)
166+
if(EXIT_CODE STREQUAL "0")
167+
if(NOT EXISTS "${SOURCE_ROOT}/.gitmodules")
168+
file(REMOVE_RECURSE "${SOURCE_ROOT}/.git")
169+
endif()
170+
171+
file(WRITE "${SOURCE_ROOT}.ready" "")
172+
set(FOUND TRUE)
173+
endif()
174+
else()
175+
file(WRITE "${SOURCE_ROOT}.ready" "")
176+
set(FOUND TRUE)
177+
endif()
178+
endif()
179+
180+
elseif("${GIT_TAG}" STREQUAL "master")
181+
182+
if(NOT DEFINED GIT_EXECUTABLE)
183+
find_package(Git REQUIRED QUIET)
184+
endif()
185+
186+
if(DEFINED GIT_EXECUTABLE)
187+
execute_process(
188+
COMMAND "${GIT_EXECUTABLE}" pull
189+
RESULT_VARIABLE EXIT_CODE
190+
WORKING_DIRECTORY "${SOURCE_ROOT}"
191+
ENCODING NONE
192+
)
193+
if(EXIT_CODE STREQUAL "0")
194+
file(WRITE "${SOURCE_ROOT}.ready" "")
195+
set(FOUND TRUE)
196+
endif()
197+
else()
198+
set(FOUND TRUE)
199+
endif()
200+
201+
else()
202+
set(FOUND TRUE)
203+
endif()
204+
endif()
205+
206+
if(NOT FOUND)
207+
message(FATAL_ERROR "DepPull: Not found '${A_NAME}'")
208+
endif()
209+
210+
message(STATUS "DepPull: Using '${A_NAME}' at ${SOURCE_DIR}")
211+
212+
set(BUILD_DIR "${DEPPULL_CURRENT_PATH}/${STORAGE_PREFIX}/build")
213+
if(EXISTS "${BUILD_DIR}" AND "${SOURCE_ROOT}.ready" IS_NEWER_THAN "${BUILD_DIR}")
214+
file(REMOVE_RECURSE "${BUILD_DIR}")
215+
endif()
216+
217+
if(EXISTS "${SOURCE_DIR}/CMakeLists.txt")
218+
add_subdirectory("${SOURCE_DIR}" "${BUILD_DIR}")
219+
endif()
220+
221+
set(DEPPULL_${A_NAME}_SOURCE_ROOT "${SOURCE_ROOT}" PARENT_SCOPE)
222+
set(DEPPULL_${A_NAME}_SOURCE_DIR "${SOURCE_DIR}" PARENT_SCOPE)
223+
set(DEPPULL_${A_NAME}_BUILD_DIR "${BUILD_DIR}" PARENT_SCOPE)
224+
endfunction()

compile_flags.txt

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
-std=c++17
2+
-I./../minhook_cpp/include
3+
-I./../rua/include
4+
-I./include

deps/minhook_cpp

-1
This file was deleted.

deps/rua

-1
This file was deleted.

include.pm5

-4
This file was deleted.

0 commit comments

Comments
 (0)