d3eaeda27c
This allows plugins to update and cache data files from a remote source. Here are the steps that occur when the API initiates an update check: 1.) It checks to see if the local files are greater than the cached files. If the local version is newer (for whatever reason), it replaces the cached version(s) with the local version. 2.) A packages.json file is downloaded from the specified URL. That packages.json file contains a version number and a list of files to be updated. 3.) If the downloaded package version is greater than the cached version, executes step 4-5 on each file. 4.) Checks the version for the file to update in packages.json, and if the version is greater than the cached version, proceeds to step 5, otherwise repeat step 4-5 for other files. 5.) Calls the callback given to the update function (if any) with the file information (file name, buffer, etc), and if the callback returns true, allows the cached file to be updated and replaced, otherwise goes back to step 4-6 for the rest of the files. NOTE: Files are never modified directly. All file saving/modification is performed in a temporary directory, and then files are moved to their destination. This should eliminate any possibility of file corruption (or at least dramatically reduce the possibility).
26 lines
672 B
CMake
26 lines
672 B
CMake
|
|
if(NOT MINGW)
|
|
add_subdirectory(w32-pthreads)
|
|
endif()
|
|
|
|
add_subdirectory(glad)
|
|
add_subdirectory(ipc-util)
|
|
add_subdirectory(libff)
|
|
add_subdirectory(file-updater)
|
|
|
|
find_package(Jansson 2.5 QUIET)
|
|
|
|
if(NOT JANSSON_FOUND)
|
|
message(STATUS "Jansson >=2.5 not found, building bundled version")
|
|
|
|
add_subdirectory(jansson)
|
|
|
|
set(OBS_JANSSON_IMPORT "jansson" CACHE INTERNAL "Internal var")
|
|
set(OBS_JANSSON_INCLUDE_DIRS "" CACHE INTERNAL "Internal var")
|
|
else()
|
|
message(STATUS "Using system Jansson library")
|
|
|
|
set(OBS_JANSSON_IMPORT "${JANSSON_LIBRARIES}" CACHE INTERNAL "Internal var")
|
|
set(OBS_JANSSON_INCLUDE_DIRS "${JANSSON_INCLUDE_DIRS}" CACHE INTERNAL "Internal var")
|
|
endif()
|