summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt22
-rw-r--r--src/main.cpp3
2 files changed, 21 insertions, 4 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e39e28e..bd40dce 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -7,6 +7,12 @@ project(
DESCRIPTION "a simple level editor"
)
+# nfd dependency requires it for macOS
+if(APPLE)
+ message("-- Enabling Obj-C language...")
+ enable_language(OBJC)
+endif()
+
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED True)
@@ -15,9 +21,9 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
add_executable(sillyeditor)
set_target_properties(
- sillyeditor PROPERTIES
- DESCRIPTION ${PROJECT_DESCRIPTION}
- OUTPUT_NAME "editor"
+ sillyeditor PROPERTIES
+ DESCRIPTION ${PROJECT_DESCRIPTION}
+ OUTPUT_NAME "editor"
)
file(GLOB_RECURSE SRC_FILES "src/*.cpp" "src/*.hpp")
@@ -53,6 +59,14 @@ set(IMGUI_DIR ${imgui_SOURCE_DIR})
set(IMGUI_SFML_FIND_SFML OFF)
FetchContent_MakeAvailable(imgui-sfml)
+# nativefiledialog
+FetchContent_Declare(
+ nfd
+ GIT_REPOSITORY https://github.com/btzy/nativefiledialog-extended.git
+ GIT_TAG v1.2.1
+)
+FetchContent_MakeAvailable(nfd)
+
target_include_directories(sillyeditor PRIVATE ${imgui_SOURCE_DIR})
-target_link_libraries(sillyeditor PRIVATE sfml-graphics ImGui-SFML::ImGui-SFML)
+target_link_libraries(sillyeditor PRIVATE sfml-graphics nfd ImGui-SFML::ImGui-SFML)
diff --git a/src/main.cpp b/src/main.cpp
index 0a3432b..2d2b148 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -11,8 +11,11 @@
#include <optional>
#include "floor.hpp"
+#include "nfd.hpp"
int main() {
+ NFD::Guard nfdGuard;
+
sf::RenderWindow window(sf::VideoMode({800, 600}), "sillyeditor");
window.setFramerateLimit(60);
ImGui::SFML::Init(window);