Duckstation/src/frontend-common/CMakeLists.txt

104 lines
2.8 KiB
CMake
Raw Normal View History

add_library(frontend-common
opengl_host_display.cpp
opengl_host_display.h
vulkan_host_display.cpp
vulkan_host_display.h
)
target_link_libraries(frontend-common PUBLIC core common glad vulkan-loader)
if(WIN32)
target_sources(frontend-common PRIVATE
d3d11_host_display.cpp
d3d11_host_display.h
)
target_link_libraries(frontend-common PRIVATE d3d11.lib dxgi.lib)
endif()
if(NOT BUILD_LIBRETRO_CORE)
2020-09-06 08:27:50 +00:00
target_sources(frontend-common PRIVATE
imgui_impl_opengl3.h
imgui_impl_opengl3.cpp
)
2020-09-06 08:27:50 +00:00
target_sources(frontend-common PRIVATE
imgui_impl_vulkan.h
imgui_impl_vulkan.cpp
)
if(WIN32)
2020-09-06 08:27:50 +00:00
target_sources(frontend-common PRIVATE
imgui_impl_dx11.h
imgui_impl_dx11.cpp
)
endif()
target_sources(frontend-common PRIVATE
common_host_interface.cpp
common_host_interface.h
controller_interface.cpp
controller_interface.h
cubeb_audio_stream.cpp
cubeb_audio_stream.h
game_list.cpp
game_list.h
game_settings.cpp
game_settings.h
icon.cpp
icon.h
imgui_styles.cpp
imgui_styles.h
ini_settings_interface.cpp
ini_settings_interface.h
postprocessing_chain.cpp
postprocessing_chain.h
postprocessing_shader.cpp
postprocessing_shader.h
postprocessing_shadergen.cpp
postprocessing_shadergen.h
save_state_selector_ui.cpp
save_state_selector_ui.h
)
if(WIN32)
target_sources(frontend-common PRIVATE
xinput_controller_interface.cpp
xinput_controller_interface.h
)
endif()
target_compile_definitions(frontend-common PRIVATE "WITH_IMGUI=1")
target_link_libraries(frontend-common PUBLIC cubeb imgui simpleini tinyxml2 scmversion)
if(SDL2_FOUND)
target_sources(frontend-common PRIVATE
sdl_audio_stream.cpp
sdl_audio_stream.h
sdl_controller_interface.cpp
sdl_controller_interface.h
sdl_initializer.cpp
sdl_initializer.h
)
target_compile_definitions(frontend-common PUBLIC "WITH_SDL2=1")
target_include_directories(frontend-common PRIVATE ${SDL2_INCLUDE_DIRS})
target_link_libraries(frontend-common PRIVATE ${SDL2_LIBRARIES})
# Copy bundled SDL2 to output on Windows.
if(WIN32)
add_custom_command(TARGET frontend-common POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${SDL2_DLL_PATH}" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/SDL2.dll")
endif()
endif()
if(ENABLE_DISCORD_PRESENCE AND NOT BUILD_LIBRETRO_CORE)
target_compile_definitions(frontend-common PUBLIC -DWITH_DISCORD_PRESENCE=1)
target_link_libraries(frontend-common PRIVATE discord-rpc)
endif()
# Copy the provided data directory to the output directory.
add_custom_command(TARGET frontend-common POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_directory "${CMAKE_SOURCE_DIR}/data" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}"
)
endif()