Externals: md4c, picojson and Vulkan NanoVG as submodules #8

Merged
ilusha merged 2 commits from Externals into master 2026-10-28 00:54:34 +03:00
5 changed files with 60 additions and 30 deletions

10
.gitmodules vendored
View file

@ -28,3 +28,13 @@
[submodule "Externals/benchmark"]
path = Externals/benchmark
url = https://github.com/google/benchmark.git
[submodule "Externals/md4c"]
path = Externals/md4c
url = https://git.ilusha-basic.online/ilusha/md4c.git
[submodule "Externals/picojson"]
path = Externals/picojson
url = https://git.ilusha-basic.online/ilusha/picojson.git
[submodule "Externals/nanovg_vulkan"]
path = Externals/nanovg_vulkan
url = https://git.ilusha-basic.online/ilusha/nanovg_vulkan.git
branch = modules-vulkan

View file

@ -1,58 +1,75 @@
# find_package(ALSA REQUIRED)
find_package(Vulkan REQUIRED)
add_subdirectory(glfw)
project(Imgui)
set(${PROJECT_NAME}_SOURCES
imgui/imgui.cpp
imgui/imgui_draw.cpp
imgui/imgui_tables.cpp
imgui/imgui_widgets.cpp
imgui/imgui_demo.cpp
imgui/imgui.cpp
imgui/imgui_draw.cpp
imgui/imgui_tables.cpp
imgui/imgui_widgets.cpp
imgui/imgui_demo.cpp
imgui/backends/imgui_impl_glfw.cpp
imgui/backends/imgui_impl_opengl3.cpp
imgui/backends/imgui_impl_glfw.cpp
imgui/backends/imgui_impl_opengl3.cpp
imgui/backends/imgui_impl_vulkan.cpp
implot/implot.cpp
implot/implot_items.cpp
implot/implot.cpp
implot/implot_items.cpp
)
add_library(${PROJECT_NAME} STATIC ${${PROJECT_NAME}_SOURCES})
include_directories(${PROJECT_NAME} ./glfw/include)
target_include_directories(${PROJECT_NAME} PUBLIC ./imgui/ ./imgui/backends/ ./implot/)
target_link_libraries(${PROJECT_NAME} PUBLIC Vulkan::Vulkan)
if (ANDROID)
add_library(native_app_glue STATIC ${ANDROID_NDK}/sources/android/native_app_glue/android_native_app_glue.c)
target_include_directories(native_app_glue PUBLIC ${ANDROID_NDK}/sources/android/native_app_glue)
target_link_libraries(native_app_glue PUBLIC android log)
endif ()
add_library(Picojson INTERFACE)
target_include_directories(Picojson INTERFACE ./picojson/)
project(Md4c)
add_library(${PROJECT_NAME} STATIC md4c/src/md4c.c)
target_include_directories(${PROJECT_NAME} PUBLIC ./md4c/src/)
set_target_properties(${PROJECT_NAME} PROPERTIES C_STANDARD 99 C_STANDARD_REQUIRED ON)
project(Nanovg)
set(${PROJECT_NAME}_SOURCES
nanovg/src/nanovg.c
)
add_library(${PROJECT_NAME} STATIC ${${PROJECT_NAME}_SOURCES})
add_library(${PROJECT_NAME} STATIC nanovg/src/nanovg.c)
target_include_directories(${PROJECT_NAME} PUBLIC ./nanovg/src/ ./nanovg/obsolete/)
project(NanovgVk)
add_library(${PROJECT_NAME} STATIC
nanovg_vulkan/src/nanovg.c
nanovg_vulkan/src/nanovg_vk.c
)
target_include_directories(${PROJECT_NAME} PUBLIC ./nanovg_vulkan/src/)
target_link_libraries(${PROJECT_NAME} PUBLIC Vulkan::Vulkan)
project(Lua)
# Add the Lua source files
#file(GLOB ${PROJECT_NAME}_SOURCES "./lua/luaone.c")
# list(FILTER ${PROJECT_NAME}_SOURCES EXCLUDE REGEX "./lua/lua.c$")
# Create the Lua library
add_library(${PROJECT_NAME} STATIC "lua/onelua.c")
target_compile_definitions(${PROJECT_NAME} PUBLIC MAKE_LIB)
# Include directories for Lua headers
target_include_directories(${PROJECT_NAME} PUBLIC "./lua")
# Set compilation options, e.g., for compilation with C99
set_target_properties(${PROJECT_NAME} PROPERTIES
C_STANDARD 99
C_STANDARD_REQUIRED ON
C_STANDARD 99
C_STANDARD_REQUIRED ON
)
project(ImageIO)
add_library(${PROJECT_NAME} INTERFACE)
target_include_directories(${PROJECT_NAME} INTERFACE ./imageIO/)
add_subdirectory(lalr)
set(UNITTEST_DIR ${CMAKE_CURRENT_SOURCE_DIR}/unittest-cpp)
file(GLOB UNITTEST_SOURCES ${UNITTEST_DIR}/UnitTest++/*.cpp)
if (WIN32)
file(GLOB UNITTEST_PLATFORM_SOURCES ${UNITTEST_DIR}/UnitTest++/Win32/*.cpp)
else ()
file(GLOB UNITTEST_PLATFORM_SOURCES ${UNITTEST_DIR}/UnitTest++/Posix/*.cpp)
endif ()
add_library(UnitTest++ STATIC ${UNITTEST_SOURCES} ${UNITTEST_PLATFORM_SOURCES})
target_include_directories(UnitTest++ PUBLIC ${UNITTEST_DIR})
add_subdirectory(googletest)

1
Externals/md4c vendored Submodule

@ -0,0 +1 @@
Subproject commit f9e5eb232b95b737373ae706648cb75bd259ed1a

1
Externals/nanovg_vulkan vendored Submodule

@ -0,0 +1 @@
Subproject commit a6a3fc7a4deb33547681156cacfca8c1c93deaf5

1
Externals/picojson vendored Submodule

@ -0,0 +1 @@
Subproject commit 111c9be5188f7350c2eac9ddaedd8cca3d7bf394