Files
ggwave/examples/third-party/imgui/CMakeLists.txt
2021-01-18 20:45:00 +02:00

121 lines
2.9 KiB
CMake

if (GGWAVE_ALL_WARNINGS_3RD_PARTY)
if (CMAKE_COMPILER_IS_GNUCC OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -pedantic")
else()
# todo : windows
endif()
endif()
if (APPLE)
set(ADDITIONAL_LIBRARIES "-framework Cocoa")
else (APPLE)
unset(ADDITIONAL_LIBRARIES)
endif (APPLE)
add_library(imgui
imgui/imgui.cpp
imgui/imgui_draw.cpp
imgui/imgui_demo.cpp
imgui/imgui_widgets.cpp
)
target_include_directories(imgui INTERFACE
.
)
target_include_directories(imgui PRIVATE
imgui
)
target_link_libraries(imgui PRIVATE
${ADDITIONAL_LIBRARIES}
)
if (GGWAVE_SUPPORT_SDL2)
if (MINGW)
find_package(PkgConfig REQUIRED)
pkg_search_module(SDL2 REQUIRED sdl2)
add_library(imgui-sdl2
imgui/examples/libs/gl3w/GL/gl3w.c
imgui-extra/imgui_impl.cpp
imgui-extra/imgui_impl_sdl.cpp
imgui-extra/imgui_impl_opengl3.cpp
)
target_include_directories(imgui-sdl2 PUBLIC
imgui/examples/libs/gl3w
${SDL2_INCLUDE_DIRS}
)
target_include_directories(imgui-sdl2 PRIVATE
imgui
imgui-extra
)
target_link_libraries(imgui-sdl2 PUBLIC
imgui
opengl32
${SDL2_LIBRARIES}
stdc++
)
target_link_libraries(imgui-sdl2 PRIVATE
${CMAKE_DL_LIBS}
${CMAKE_THREAD_LIBS_INIT}
${ADDITIONAL_LIBRARIES}
)
elseif (EMSCRIPTEN)
add_library(imgui-sdl2
imgui-extra/imgui_impl.cpp
imgui-extra/imgui_impl_sdl.cpp
imgui-extra/imgui_impl_opengl3.cpp
)
target_include_directories(imgui-sdl2 PRIVATE
imgui
imgui-extra
)
target_link_libraries(imgui-sdl2 PUBLIC
imgui
)
else()
find_package(OpenGL REQUIRED)
add_library(imgui-sdl2
imgui/examples/libs/gl3w/GL/gl3w.c
imgui-extra/imgui_impl.cpp
imgui-extra/imgui_impl_sdl.cpp
imgui-extra/imgui_impl_opengl3.cpp
)
# force GL3W loader
target_compile_definitions(imgui-sdl2 PUBLIC
IMGUI_IMPL_OPENGL_LOADER_GL3W=1
)
target_include_directories(imgui-sdl2 PUBLIC
imgui/examples/libs/gl3w
${SDL2_INCLUDE_DIRS}
)
target_include_directories(imgui-sdl2 PRIVATE
imgui
imgui-extra
)
target_link_libraries(imgui-sdl2 PUBLIC
imgui
${OPENGL_LIBRARIES}
${SDL2_LIBRARIES}
)
target_link_libraries(imgui-sdl2 PRIVATE
${CMAKE_DL_LIBS}
${CMAKE_THREAD_LIBS_INIT}
${ADDITIONAL_LIBRARIES}
)
endif()
endif()