AppleWin/source/frontends/sdl/CMakeLists.txt
Andrea Odetti 989410c17d Integrate Dear ImGui with SDL to reduce code duplication.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2021-02-06 16:55:08 +00:00

87 lines
1.6 KiB
CMake

include(FindPkgConfig)
add_executable(sa2)
set(SOURCE_FILES
main.cpp
emulator.cpp
gamepad.cpp
sdirectsound.cpp
utils.cpp
sdlframe.cpp
renderer/sdlrendererframe.cpp
)
set(HEADER_FILES
emulator.h
gamepad.h
sdirectsound.h
utils.h
sdlframe.h
renderer/sdlrendererframe.h
)
find_package(SDL2 REQUIRED)
pkg_search_module(SDL2_IMAGE REQUIRED SDL2_image)
target_compile_features(sa2 PUBLIC cxx_std_17)
target_include_directories(sa2 PRIVATE
${SDL2_INCLUDE_DIRS}
${SDL2_IMAGE_INCLUDE_DIRS}
)
target_link_libraries(sa2 PRIVATE
${SDL2_LIBRARIES}
${SDL2_IMAGE_LIBRARIES}
appleii
common2
)
target_sources(sa2 PRIVATE
${SOURCE_FILES}
${HEADER_FILES}
)
set(IMGUI_PATH NONE CACHE PATH "path to imgui")
if (EXISTS ${IMGUI_PATH}/imgui.h)
message("Using IMGUI_PATH=${IMGUI_PATH}")
pkg_search_module(GLES2 REQUIRED glesv2)
target_sources(sa2 PRIVATE
imgui/sdlimguiframe.cpp
imgui/image.cpp
imgui/gles.h
imgui/image.h
imgui/sdlimguiframe.h
${IMGUI_PATH}/imgui.cpp
${IMGUI_PATH}/imgui_demo.cpp
${IMGUI_PATH}/imgui_draw.cpp
${IMGUI_PATH}/imgui_tables.cpp
${IMGUI_PATH}/imgui_widgets.cpp
${IMGUI_PATH}/backends/imgui_impl_sdl.cpp
${IMGUI_PATH}/backends/imgui_impl_opengl3.cpp
)
target_include_directories(sa2 PRIVATE
${IMGUI_PATH}
${IMGUI_PATH}/backends
)
target_link_libraries(sa2 PRIVATE
${GLES2_LIBRARIES}
)
target_compile_definitions(sa2 PRIVATE
SA2_IMGUI
IMGUI_IMPL_OPENGL_ES2
)
else()
message("Bad IMGUI_PATH=${IMGUI_PATH}, skipping imgui code")
endif()
install(TARGETS sa2
DESTINATION bin)