Skip to content

Commit 9b238a5

Browse files
Merge pull request #66 from Neko-Box-Coder/UnityBuild
Initial unity build changes
2 parents 1c5ada4 + 92b1a42 commit 9b238a5

File tree

124 files changed

+11441
-11291
lines changed

Some content is hidden

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

124 files changed

+11441
-11291
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
builds/
4242
Builds/
4343
Build/
44+
build/
4445
v0.*/
4546
*.bak
4647
*.runcpp2/
@@ -59,5 +60,5 @@ compile_commands.json
5960

6061
# Generated file
6162
Src/runcpp2/DefaultYAMLs.c
62-
Include/cfgpath.h
63+
Src/cfgpath.h
6364
.aider*

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,3 +34,6 @@
3434
[submodule "DSResult"]
3535
path = External/DSResult
3636
url = https://github.com/Neko-Box-Coder/DSResult.git
37+
[submodule "System2.cpp"]
38+
path = External/System2.cpp
39+
url = https://github.com/Neko-Box-Coder/System2.cpp.git

CMakeLists.txt

Lines changed: 19 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,9 @@ set(DS_USE_DEBUG_BREAK ON)
112112
add_subdirectory("${CMAKE_CURRENT_LIST_DIR}/External/DSResult")
113113

114114
set(BUILD_TESTING ON)
115-
add_subdirectory("${CMAKE_CURRENT_LIST_DIR}/External/libyaml")
115+
# add_subdirectory("${CMAKE_CURRENT_LIST_DIR}/External/libyaml")
116+
add_library(libyaml INTERFACE)
117+
target_include_directories(libyaml INTERFACE "${CMAKE_CURRENT_LIST_DIR}/External/libyaml/include")
116118
set(BUILD_TESTING OFF)
117119

118120
# NOTE: Just include the file. Can't add subdirectory since it install stuff
@@ -123,7 +125,7 @@ target_include_directories( string-view-lite INTERFACE
123125

124126
# Copy cfgpath.h
125127
configure_file( "${CMAKE_CURRENT_LIST_DIR}/External/cfgpath/cfgpath.h"
126-
"${CMAKE_CURRENT_LIST_DIR}/Include/cfgpath.h" COPYONLY)
128+
"${CMAKE_CURRENT_LIST_DIR}/Src/cfgpath.h" COPYONLY)
127129

128130
add_subdirectory("${CMAKE_CURRENT_LIST_DIR}/External/CppOverride")
129131

@@ -177,49 +179,21 @@ endif()
177179
# runcpp2 library
178180
# =========================================================================
179181

180-
set(RUNCPP2_SOURCE_FILES "${CMAKE_CURRENT_LIST_DIR}/Src/runcpp2/Data/Profile.cpp"
181-
"${CMAKE_CURRENT_LIST_DIR}/Src/runcpp2/Data/DependencyInfo.cpp"
182-
"${CMAKE_CURRENT_LIST_DIR}/Src/runcpp2/Data/DependencyLinkProperty.cpp"
183-
"${CMAKE_CURRENT_LIST_DIR}/Src/runcpp2/Data/DependencySource.cpp"
184-
"${CMAKE_CURRENT_LIST_DIR}/Src/runcpp2/Data/GitSource.cpp"
185-
"${CMAKE_CURRENT_LIST_DIR}/Src/runcpp2/Data/LocalSource.cpp"
186-
"${CMAKE_CURRENT_LIST_DIR}/Src/runcpp2/Data/FileProperties.cpp"
187-
"${CMAKE_CURRENT_LIST_DIR}/Src/runcpp2/Data/FlagsOverrideInfo.cpp"
188-
"${CMAKE_CURRENT_LIST_DIR}/Src/runcpp2/Data/ProfilesCommands.cpp"
189-
"${CMAKE_CURRENT_LIST_DIR}/Src/runcpp2/Data/ProfilesFlagsOverride.cpp"
190-
"${CMAKE_CURRENT_LIST_DIR}/Src/runcpp2/Data/ScriptInfo.cpp"
191-
"${CMAKE_CURRENT_LIST_DIR}/Src/runcpp2/Data/ProfilesProcessPaths.cpp"
192-
"${CMAKE_CURRENT_LIST_DIR}/Src/runcpp2/Data/FilesTypesInfo.cpp"
193-
"${CMAKE_CURRENT_LIST_DIR}/Src/runcpp2/Data/StageInfo.cpp"
194-
"${CMAKE_CURRENT_LIST_DIR}/Src/runcpp2/Data/ProfilesDefines.cpp"
195-
"${CMAKE_CURRENT_LIST_DIR}/Src/runcpp2/Data/FilesToCopyInfo.cpp"
196-
"${CMAKE_CURRENT_LIST_DIR}/Src/runcpp2/Data/BuildTypeHelper.cpp"
197-
"${CMAKE_CURRENT_LIST_DIR}/Src/runcpp2/ProfileHelper.cpp"
198-
"${CMAKE_CURRENT_LIST_DIR}/Src/runcpp2/CompilingLinking.cpp"
199-
"${CMAKE_CURRENT_LIST_DIR}/Src/runcpp2/ConfigParsing.cpp"
200-
"${CMAKE_CURRENT_LIST_DIR}/Src/runcpp2/DefaultYAMLs.c"
201-
"${CMAKE_CURRENT_LIST_DIR}/Src/runcpp2/DependenciesHelper.cpp"
202-
"${CMAKE_CURRENT_LIST_DIR}/Src/runcpp2/ParseUtil.cpp"
203-
"${CMAKE_CURRENT_LIST_DIR}/Src/runcpp2/PlatformUtil.cpp"
204-
"${CMAKE_CURRENT_LIST_DIR}/Src/runcpp2/StringUtil.cpp"
205-
"${CMAKE_CURRENT_LIST_DIR}/Src/runcpp2/runcpp2.cpp"
206-
"${CMAKE_CURRENT_LIST_DIR}/Src/runcpp2/BuildsManager.cpp"
207-
"${CMAKE_CURRENT_LIST_DIR}/Src/runcpp2/PipelineSteps.cpp"
208-
"${CMAKE_CURRENT_LIST_DIR}/Src/runcpp2/IncludeManager.cpp"
209-
"${CMAKE_CURRENT_LIST_DIR}/Src/runcpp2/LibYAML_Wrapper.cpp")
210-
211-
add_library(runcpp2Lib STATIC ${RUNCPP2_SOURCE_FILES})
182+
set(RUNCPP2_SOURCE_FILES "${CMAKE_CURRENT_LIST_DIR}/Src/runcpp2/runcpp2.cpp")
183+
184+
# add_library(runcpp2Lib STATIC ${RUNCPP2_SOURCE_FILES})
185+
add_library(runcpp2Lib INTERFACE)
212186

213187
set(RUNCPP2_PRIVATE_LINK_LIBS ssLogger System2 CppOverride dylib)
214-
set(RUNCPP2_PUBLIC_LINK_LIBS ghc_filesystem mpark_variant MacroPowerToys string-view-lite yaml DSResult)
188+
set(RUNCPP2_PUBLIC_LINK_LIBS ghc_filesystem mpark_variant MacroPowerToys string-view-lite libyaml DSResult)
189+
target_include_directories(runcpp2Lib INTERFACE "${CMAKE_CURRENT_LIST_DIR}/Src")
190+
target_link_libraries(runcpp2Lib INTERFACE ${RUNCPP2_PRIVATE_LINK_LIBS})
191+
target_link_libraries(runcpp2Lib INTERFACE ${RUNCPP2_PUBLIC_LINK_LIBS})
215192

216-
target_include_directories(runcpp2Lib PUBLIC "${CMAKE_CURRENT_LIST_DIR}/Include")
217-
target_link_libraries(runcpp2Lib PRIVATE ${RUNCPP2_PRIVATE_LINK_LIBS})
218-
target_link_libraries(runcpp2Lib PUBLIC ${RUNCPP2_PUBLIC_LINK_LIBS})
219193

220194
if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
221195
# TODO: Try to change to /Wall
222-
set(RUNCPP2_STANDARD_COMPILE_FLAGS "/utf-8;/W1;/DGHC_WIN_DISABLE_WSTRING_STORAGE_TYPE=1")
196+
set(RUNCPP2_STANDARD_COMPILE_FLAGS "/utf-8;/W1;/DGHC_WIN_DISABLE_WSTRING_STORAGE_TYPE=1;/bigobj")
223197
if (RUNCPP2_WARNINGS_AS_ERRORS)
224198
list(APPEND RUNCPP2_STANDARD_COMPILE_FLAGS "/WX")
225199
endif()
@@ -233,42 +207,33 @@ else()
233207
#"-Wno-unused-but-set-variable"
234208
"-Wno-unused-parameter"
235209
"-Wno-switch"
236-
"-Wno-gnu-zero-variadic-macro-arguments"
210+
# "-Wno-gnu-zero-variadic-macro-arguments"
237211
"-Wextra"
238212
"-Wpedantic")
239213
if (RUNCPP2_WARNINGS_AS_ERRORS)
240214
list(APPEND RUNCPP2_STANDARD_COMPILE_FLAGS "-Werror")
241215
endif()
242216
endif()
243217

244-
target_compile_options(runcpp2Lib PRIVATE "${RUNCPP2_STANDARD_COMPILE_FLAGS}")
218+
target_compile_options(runcpp2Lib INTERFACE "${RUNCPP2_STANDARD_COMPILE_FLAGS}")
245219

246220
# Define the runcpp2 and default config version macro
247-
target_compile_definitions(runcpp2Lib PUBLIC RUNCPP2_VERSION="${RUNCPP2_PROJECT_VERSION}"
248-
RUNCPP2_CONFIG_VERSION=${RUNCPP2_CONFIG_VERSION})
221+
target_compile_definitions(runcpp2Lib INTERFACE RUNCPP2_VERSION="${RUNCPP2_PROJECT_VERSION}"
222+
RUNCPP2_CONFIG_VERSION=${RUNCPP2_CONFIG_VERSION}
223+
YAML_DECLARE_STATIC=1)
249224

250225
# =========================================================================
251226
# runcpp2 executable
252227
# =========================================================================
253228

254229
add_executable(runcpp2 "${CMAKE_CURRENT_LIST_DIR}/Src/runcpp2/main.cpp")
255-
target_compile_options(runcpp2 PRIVATE "${RUNCPP2_STANDARD_COMPILE_FLAGS}")
256-
target_link_libraries(runcpp2 PUBLIC runcpp2Lib ssLogger)
230+
target_link_libraries(runcpp2 PUBLIC runcpp2Lib)
257231

258232
# =========================================================================
259233
# runcpp2 library override
260234
# =========================================================================
261235

262236
if(RUNCPP2_BUILD_TESTS)
263-
add_library(runcpp2Override STATIC ${RUNCPP2_SOURCE_FILES})
264-
target_include_directories(runcpp2Override PUBLIC "${CMAKE_CURRENT_LIST_DIR}/Include")
265-
target_link_libraries(runcpp2Override PRIVATE ${RUNCPP2_PRIVATE_LINK_LIBS})
266-
target_link_libraries(runcpp2Override PUBLIC ${RUNCPP2_PUBLIC_LINK_LIBS})
267-
target_compile_options(runcpp2Override PRIVATE "${RUNCPP2_STANDARD_COMPILE_FLAGS}")
268-
target_compile_definitions( runcpp2Override PUBLIC
269-
RUNCPP2_VERSION="${RUNCPP2_PROJECT_VERSION}"
270-
RUNCPP2_CONFIG_VERSION=${RUNCPP2_CONFIG_VERSION}
271-
INTERNAL_RUNCPP2_UNIT_TESTS=1)
272237
add_subdirectory("${CMAKE_CURRENT_LIST_DIR}/Src/Tests")
273238
endif()
274239

0 commit comments

Comments
 (0)