diff --git a/.gitmodules b/.gitmodules index 4d67868f..13f2c8fe 100644 --- a/.gitmodules +++ b/.gitmodules @@ -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 diff --git a/Externals/CMakeLists.txt b/Externals/CMakeLists.txt index ec859936..bf3e66e0 100644 --- a/Externals/CMakeLists.txt +++ b/Externals/CMakeLists.txt @@ -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) diff --git a/Externals/md4c b/Externals/md4c new file mode 160000 index 00000000..f9e5eb23 --- /dev/null +++ b/Externals/md4c @@ -0,0 +1 @@ +Subproject commit f9e5eb232b95b737373ae706648cb75bd259ed1a diff --git a/Externals/nanovg_vulkan b/Externals/nanovg_vulkan new file mode 160000 index 00000000..a6a3fc7a --- /dev/null +++ b/Externals/nanovg_vulkan @@ -0,0 +1 @@ +Subproject commit a6a3fc7a4deb33547681156cacfca8c1c93deaf5 diff --git a/Externals/picojson b/Externals/picojson new file mode 160000 index 00000000..111c9be5 --- /dev/null +++ b/Externals/picojson @@ -0,0 +1 @@ +Subproject commit 111c9be5188f7350c2eac9ddaedd8cca3d7bf394