Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
bf1c4c0
Add files via upload
samuelvenable Jun 12, 2025
4e81d8c
Create foobar
samuelvenable Jun 12, 2025
2ab674b
Add files via upload
samuelvenable Jun 12, 2025
85d4382
Delete libs/foobar
samuelvenable Jun 12, 2025
b4f83ea
Add files via upload
samuelvenable Jun 12, 2025
5bdbcf3
Add files via upload
samuelvenable Jun 12, 2025
2aa3cd4
Add files via upload
samuelvenable Jun 12, 2025
8d6e5f3
Update LICENSE
samuelvenable Jun 12, 2025
012a684
Update ImFileDialog.cpp
samuelvenable Jun 12, 2025
988a83a
Update ImFileDialog.h
samuelvenable Jun 12, 2025
9f7b732
Update ImFileDialog.cpp
samuelvenable Jun 12, 2025
cdf91e6
Update ImFileDialog.cpp
samuelvenable Jun 12, 2025
e509535
Update example.cpp
samuelvenable Jun 12, 2025
91434ec
Update README.md
samuelvenable Jun 12, 2025
239d55a
Update example.cpp
samuelvenable Jun 12, 2025
79a2c9f
Update example.cpp
samuelvenable Jun 12, 2025
d434fca
Update ImFileDialog.h
samuelvenable Jun 12, 2025
42ab623
Update ImFileDialogMacros.h
samuelvenable Jun 12, 2025
e8993f3
Update example.cpp
samuelvenable Jun 12, 2025
71facb0
Update CMakeLists.txt
samuelvenable Jun 12, 2025
b7db6ae
Update CMakeLists.txt
samuelvenable Jun 12, 2025
1e4d94f
Update CMakeLists.txt
samuelvenable Jun 12, 2025
33bcdae
Update ImFileDialog.cpp
samuelvenable Jun 12, 2025
b5fd5e2
Update ImFileDialog.cpp
samuelvenable Jun 12, 2025
3af2e94
Update CMakeLists.txt
samuelvenable Jun 12, 2025
66aa2f1
Update README.md
samuelvenable Jun 12, 2025
9462df8
Update example.cpp
samuelvenable Jun 12, 2025
0b97006
Update example.cpp
samuelvenable Jun 12, 2025
688f7de
Update example.cpp
samuelvenable Jun 12, 2025
de64e7e
Update example.cpp
samuelvenable Jun 12, 2025
96f46f9
Delete libs/lunasvg directory
samuelvenable Jun 16, 2025
ad21f58
Add files via upload
samuelvenable Jun 16, 2025
bce7408
Add files via upload
samuelvenable Jun 16, 2025
2b4b0e1
Update CMakeLists.txt
samuelvenable Jun 16, 2025
05a8444
Update example.cpp
samuelvenable Jun 16, 2025
177db7c
Add files via upload
samuelvenable Jun 16, 2025
41636fd
Update example.cpp
samuelvenable Jun 16, 2025
d3506ca
yay
samuelvenable Jun 23, 2025
bc6d5e0
Add files via upload
samuelvenable Jul 13, 2025
972c782
Update ImFileDialog.cpp
samuelvenable Jul 13, 2025
4bedc84
Update ImFileDialog.h
samuelvenable Jul 13, 2025
db372e7
Add files via upload
samuelvenable Jul 13, 2025
322d947
Update README.md
samuelvenable Jul 20, 2025
46ab1e3
Update README.md
samuelvenable Jul 20, 2025
29bc665
Update ImFileDialog.cpp
samuelvenable Jul 20, 2025
742829a
Update ImFileDialog.cpp
samuelvenable Jul 20, 2025
7443b3a
Update ImFileDialog.h
samuelvenable Jul 20, 2025
0d5d527
Update ImFileDialog.cpp
samuelvenable Jul 29, 2025
83ca11a
Update ImFileDialog.cpp
samuelvenable Jul 29, 2025
fb9f1a1
Add files via upload
samuelvenable Jul 29, 2025
208eee8
Add files via upload
samuelvenable Jul 29, 2025
585cd1f
Update ImFileDialog.h
samuelvenable Jul 29, 2025
d54395b
Update ImFileDialog.cpp
samuelvenable Jul 30, 2025
4b2bfa3
Update ImFileDialog.cpp
samuelvenable Aug 2, 2025
7b6e053
Update ImFileDialog.cpp
samuelvenable Aug 4, 2025
4f55b67
Update ImFileDialog.cpp
samuelvenable Aug 4, 2025
c6425dc
Update README.md
samuelvenable Aug 4, 2025
bccbf65
Update README.md
samuelvenable Aug 4, 2025
b76ecd5
Add files via upload
samuelvenable Aug 4, 2025
4ae8117
Add files via upload
samuelvenable Aug 4, 2025
4670bd4
Update ImFileDialog.cpp
samuelvenable Aug 4, 2025
d5eedd1
Update example.cpp
samuelvenable Aug 11, 2025
794c618
Update example.cpp
samuelvenable Aug 11, 2025
a386bc8
Update example.cpp
samuelvenable Aug 11, 2025
003c607
Add files via upload
samuelvenable Aug 24, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 34 additions & 15 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,26 @@ cmake_minimum_required(VERSION 3.1)
set(CMAKE_CXX_STANDARD 17)
project(ImFileDialogExample)

if(APPLE)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DIFD_USE_OPENGL -g -ggdb -ObjC++")
else()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DIFD_USE_OPENGL -g -ggdb")
endif()
set(CMAKE_POSITION_INDEPENDENT_CODE ON)

# source code
set(SOURCES
example.cpp
ImFileDialog.cpp
example.cpp
ImFileDialog.cpp

libs/imgui/imgui.cpp
libs/imgui/imgui_widgets.cpp
libs/imgui/imgui_draw.cpp
libs/imgui/imgui_tables.cpp
libs/imgui/backends/imgui_impl_opengl3.cpp
libs/imgui/backends/imgui_impl_sdl.cpp
libs/imgui/imgui.cpp
libs/imgui/imgui_widgets.cpp
libs/imgui/imgui_draw.cpp
libs/imgui/imgui_tables.cpp
libs/imgui/backends/imgui_impl_opengl3.cpp
libs/imgui/backends/imgui_impl_sdl2.cpp
libs/apifilesystem/filesystem.cpp

)

# cmake toolchain
Expand All @@ -26,10 +35,8 @@ if (UNIX)
endif()

# sdl2
if(WIN32 OR APPLE OR NOT ${USE_PKG_CHECK_SDL})
if(WIN32 OR APPLE)
find_package(SDL2 REQUIRED)
else()
pkg_check_modules(SDL2 REQUIRED sdl2)
endif()

# opengl
Expand All @@ -38,6 +45,7 @@ set_property(CACHE OpenGL_GL_PREFERENCE PROPERTY STRINGS GLVND LEGACY)
find_package(OpenGL REQUIRED)

# glew
list(APPEND CMAKE_PREFIX_PATH "C:/vcpkg/packages/glew_x64-windows")
find_package(GLEW REQUIRED)

# create executable
Expand All @@ -58,11 +66,22 @@ target_link_libraries(ImFileDialogExample ${OPENGL_LIBRARIES})

if(WIN32)
# link specific win32 libraries
target_link_libraries(ImFileDialogExample GLEW::GLEW SDL2::SDL2 SDL2::SDL2main)
target_link_libraries(ImFileDialogExample GLEW::GLEW SDL2::SDL2 SDL2::SDL2main shell32)

elseif(UNIX AND NOT APPLE)
# link linux libraries
target_link_libraries(ImFileDialogExample ${GLEW_LIBRARIES} ${SDL2_LIBRARIES} ${CMAKE_DL_LIBS} stdc++fs pthread)
# link non-apple unix libraries
add_subdirectory(libs/lunasvg)
include_directories(libs/lunasvg/include /usr/include/SDL2 /usr/local/include/SDL2)
find_package(PkgConfig REQUIRED)
pkg_search_module(PKG_SDL2 REQUIRED IMPORTED_TARGET sdl2)
pkg_search_module(PKG_GTK3 REQUIRED IMPORTED_TARGET gtk+-3.0)
pkg_search_module(PKG_GIO2 REQUIRED IMPORTED_TARGET gio-2.0)
pkg_search_module(PKG_GLIB2 REQUIRED IMPORTED_TARGET glib-2.0)
if(CMAKE_SYSTEM_NAME STREQUAL "OpenBSD")
target_link_libraries(ImFileDialogExample lunasvg PkgConfig::PKG_SDL2 PkgConfig::PKG_GTK3 PkgConfig::PKG_GIO2 PkgConfig::PKG_GLIB2 ${GLEW_LIBRARIES} ${CMAKE_DL_LIBS} kvm pthread)
else()
target_link_libraries(ImFileDialogExample lunasvg PkgConfig::PKG_SDL2 PkgConfig::PKG_GTK3 PkgConfig::PKG_GIO2 PkgConfig::PKG_GLIB2 ${GLEW_LIBRARIES} ${CMAKE_DL_LIBS} pthread)
endif()
elseif(APPLE)
target_link_libraries(ImFileDialogExample GLEW::GLEW ${SDL2_LIBRARIES} ${CMAKE_DL_LIBS})
target_link_libraries(ImFileDialogExample "-framework CoreFoundation -framework AppKit" GLEW::GLEW ${SDL2_LIBRARIES} ${CMAKE_DL_LIBS})
endif()
Loading