Enhance CMake configuration and update dependencies
- Updated CMakeLists.txt to set policies for older submodules, improving compatibility with various CMake versions. - Modified vcpkg.json to change the SDL2 dependency to a core variant and updated the builtin baseline to the latest version, ensuring better package management. - Improved file dialog functionality in file_dialog.cc by adding conditional compilation for NFD support, providing fallback behavior when NFD is unavailable.
This commit is contained in:
@@ -1,6 +1,14 @@
|
|||||||
# Yet Another Zelda3 Editor
|
# Yet Another Zelda3 Editor
|
||||||
# by scawful
|
# by scawful
|
||||||
cmake_minimum_required(VERSION 3.16)
|
cmake_minimum_required(VERSION 3.16)
|
||||||
|
|
||||||
|
# Set policy for older submodules
|
||||||
|
if(POLICY CMP0077)
|
||||||
|
cmake_policy(SET CMP0077 NEW)
|
||||||
|
endif()
|
||||||
|
if(POLICY CMP0135)
|
||||||
|
cmake_policy(SET CMP0135 NEW)
|
||||||
|
endif()
|
||||||
project(yaze VERSION 0.3.0
|
project(yaze VERSION 0.3.0
|
||||||
DESCRIPTION "Yet Another Zelda3 Editor"
|
DESCRIPTION "Yet Another Zelda3 Editor"
|
||||||
LANGUAGES CXX C)
|
LANGUAGES CXX C)
|
||||||
|
|||||||
@@ -216,9 +216,12 @@ std::vector<std::string> FileDialogWrapper::GetFilesInFolder(
|
|||||||
|
|
||||||
#elif defined(__linux__)
|
#elif defined(__linux__)
|
||||||
|
|
||||||
|
#ifdef YAZE_ENABLE_NFD
|
||||||
#include <nfd.h>
|
#include <nfd.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
std::string FileDialogWrapper::ShowOpenFileDialog() {
|
std::string FileDialogWrapper::ShowOpenFileDialog() {
|
||||||
|
#ifdef YAZE_ENABLE_NFD
|
||||||
NFD_Init();
|
NFD_Init();
|
||||||
nfdu8char_t *out_path = NULL;
|
nfdu8char_t *out_path = NULL;
|
||||||
nfdu8filter_item_t filters[1] = {{"Rom File", "sfc,smc"}};
|
nfdu8filter_item_t filters[1] = {{"Rom File", "sfc,smc"}};
|
||||||
@@ -237,9 +240,14 @@ std::string FileDialogWrapper::ShowOpenFileDialog() {
|
|||||||
}
|
}
|
||||||
NFD_Quit();
|
NFD_Quit();
|
||||||
return "Error: NFD_OpenDialog";
|
return "Error: NFD_OpenDialog";
|
||||||
|
#else
|
||||||
|
// NFD not available - return empty string or implement fallback
|
||||||
|
return "";
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string FileDialogWrapper::ShowOpenFolderDialog() {
|
std::string FileDialogWrapper::ShowOpenFolderDialog() {
|
||||||
|
#ifdef YAZE_ENABLE_NFD
|
||||||
NFD_Init();
|
NFD_Init();
|
||||||
nfdu8char_t *out_path = NULL;
|
nfdu8char_t *out_path = NULL;
|
||||||
nfdresult_t result = NFD_PickFolderU8(&out_path);
|
nfdresult_t result = NFD_PickFolderU8(&out_path);
|
||||||
@@ -254,6 +262,10 @@ std::string FileDialogWrapper::ShowOpenFolderDialog() {
|
|||||||
}
|
}
|
||||||
NFD_Quit();
|
NFD_Quit();
|
||||||
return "Error: NFD_PickFolder";
|
return "Error: NFD_PickFolder";
|
||||||
|
#else
|
||||||
|
// NFD not available - return empty string or implement fallback
|
||||||
|
return "";
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<std::string> FileDialogWrapper::GetSubdirectoriesInFolder(
|
std::vector<std::string> FileDialogWrapper::GetSubdirectoriesInFolder(
|
||||||
|
|||||||
@@ -5,8 +5,7 @@
|
|||||||
"dependencies": [
|
"dependencies": [
|
||||||
"zlib",
|
"zlib",
|
||||||
"libpng",
|
"libpng",
|
||||||
"sdl2",
|
"sdl2[core]"
|
||||||
"abseil"
|
|
||||||
],
|
],
|
||||||
"builtin-baseline": "c8696863d371ab7f46e213d8f5ca923c4aef2a00"
|
"builtin-baseline": "2024.12.16"
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user