add Windows build instructions with MSYS2 + MinGW

This commit is contained in:
Georgi Gerganov
2021-01-03 11:52:34 -08:00
parent 82ff5320de
commit a04d390949
4 changed files with 64 additions and 19 deletions

View File

@@ -71,7 +71,18 @@ Other projects using **ggwave** or one of its prototypes:
## Building
### Linux and Mac:
### Dependencies for SDL-based examples
[Ubuntu]
$ sudo apt install libsdl2-dev
[Mac OS with brew]
$ brew install sdl2
[MSYS2]
$ pacman -S git cmake make mingw-w64-x86_64-dlfcn mingw-w64-x86_64-gcc mingw-w64-x86_64-SDL2
### Linux, Mac, Windows (MSYS2):
```bash
# build

View File

@@ -1,5 +1,6 @@
if (NOT EMSCRIPTEN)
endif()
add_subdirectory(imtui)
#add_subdirectory(imtui)
add_subdirectory(imgui)
add_subdirectory(ggsock)

View File

@@ -32,7 +32,55 @@ target_link_libraries(imgui PRIVATE
)
if (GGWAVE_SUPPORT_SDL2)
if (NOT EMSCRIPTEN)
if (MINGW)
find_package(PkgConfig REQUIRED)
pkg_search_module(SDL2 REQUIRED sdl2)
add_library(imgui-sdl2 ${GGWAVE_LIBRARY_TYPE}
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 ${GGWAVE_LIBRARY_TYPE}
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 ${GGWAVE_LIBRARY_TYPE}
@@ -63,20 +111,5 @@ if (GGWAVE_SUPPORT_SDL2)
${CMAKE_THREAD_LIBS_INIT}
${ADDITIONAL_LIBRARIES}
)
else()
add_library(imgui-sdl2 ${GGWAVE_LIBRARY_TYPE}
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
)
endif()
endif()