This commit is contained in:
Nanako 2024-07-08 01:18:01 +08:00
commit c7bc5cfa1c
7 changed files with 113 additions and 0 deletions

9
.gitmodules vendored Normal file
View File

@ -0,0 +1,9 @@
[submodule "thrid_party/rapidjson"]
path = thrid_party/rapidjson
url = https://github.com/Tencent/rapidjson.git
[submodule "thrid_party/imgui"]
path = thrid_party/imgui
url = http://www.nanako.site:9004/Nanako/imgui.git
[submodule "thrid_party/restclient-cpp"]
path = thrid_party/restclient-cpp
url = https://github.com/mrtazz/restclient-cpp.git

21
CMakeLists.txt Normal file
View File

@ -0,0 +1,21 @@
cmake_minimum_required(VERSION 3.29)
project(arona_baidu)
include(retrieve_files.cmake)
find_package(PkgConfig REQUIRED)
# find libcurl
pkg_check_modules(CURL REQUIRED libcurl)
# find openssl
pkg_check_modules(OPENSSL REQUIRED openssl)
# find rapidjson
pkg_check_modules(RAPIDJSON REQUIRED rapidjson)
add_subdirectory(thrid_party/imgui)
add_subdirectory(thrid_party/restclient-cpp)
set(ALL_FILES "")
retrieve_files(${CMAKE_CURRENT_SOURCE_DIR}/src ALL_FILES)
add_executable(${PROJECT_NAME} ${ALL_FILES})
target_link_libraries(${PROJECT_NAME} imgui)

55
retrieve_files.cmake Normal file
View File

@ -0,0 +1,55 @@
function(retrieve_files path out_files)
message(STATUS "Retrieving files in ${path}")
# .h .hpp. ini HEAD_FILES
file(GLOB_RECURSE HEAD_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} CONFIGURE_DEPENDS ${path}/*.h ${path}/*.hpp ${path}/*.ini)
# *.cpp *.c SRC_FILES
file(GLOB_RECURSE SRC_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} CONFIGURE_DEPENDS ${path}/*.cpp ${path}*.c ${path}*.ixx)
# HEDADER_FILES SRC_FILES ALL_FILES
set(ALL_FILES ${HEAD_FILES} ${SRC_FILES})
set(RESULT "")
# ALL_FILES 变量里面的所有文件分类(保留资源管理器的目录结构)
foreach(fileItem ${ALL_FILES})
# Get the directory of the source file
get_filename_component(PARENT_DIR "${fileItem}" DIRECTORY)
#
if(PARENT_DIR STREQUAL "windows")
if(WIN32)
set(RESULT "${RESULT};${fileItem}")
else()
continue()
endif()
elseif(PARENT_DIR STREQUAL "linux")
if(UNIX AND NOT APPLE)
set(RESULT "${RESULT};${fileItem}")
else()
continue()
endif()
elseif(PARENT_DIR STREQUAL "mac")
if(APPLE)
set(RESULT "${RESULT};${fileItem}")
else()
continue()
endif()
else()
#
set(RESULT "${RESULT};${fileItem}")
endif()
# Remove common directory prefix to make the group
string(REPLACE "${path}" "" GROUP "${PARENT_DIR}")
# Make sure we are using windows slashes
string(REPLACE "/" "\\" GROUP "${GROUP}")
# Group into "Source Files" and "Header Files"
set(GROUP "${GROUP}")
source_group("${GROUP}" FILES "${fileItem}")
endforeach()
set(${out_files} ${RESULT} PARENT_SCOPE)
endfunction()

25
src/main.cpp Normal file
View File

@ -0,0 +1,25 @@
#include "imgui_main.h"
std::string get_window_title() {
return "arona_imgui";
}
// 配置imgui, 比如加载字体, 启用多视口等
void configure_imgui(ImGuiIO& io) {
}
// 执行一些数据更新代码在这里
void tick_imgui(float delta_time) {
}
// 执行imgui绘制(在tick_imgui之后执行)
void draw_imgui(float delta_time) {
}
int main(int argc, char *argv[]) {
run_imgui();
return 0;
}

1
thrid_party/imgui Submodule

@ -0,0 +1 @@
Subproject commit 083d97856eff615f793b2e60cf450b6fb2ee36a9

1
thrid_party/rapidjson Submodule

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

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