| set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/CMakeModules) | |
| add_executable(citra | |
| citra.cpp | |
| citra.rc | |
| config.cpp | |
| config.h | |
| default_ini.h | |
| emu_window/emu_window_sdl2.cpp | |
| emu_window/emu_window_sdl2.h | |
| precompiled_headers.h | |
| resource.h | |
| ) | |
| if (ENABLE_SOFTWARE_RENDERER) | |
| target_sources(citra PRIVATE | |
| emu_window/emu_window_sdl2_sw.cpp | |
| emu_window/emu_window_sdl2_sw.h | |
| ) | |
| endif() | |
| if (ENABLE_OPENGL) | |
| target_sources(citra PRIVATE | |
| emu_window/emu_window_sdl2_gl.cpp | |
| emu_window/emu_window_sdl2_gl.h | |
| ) | |
| endif() | |
| if (ENABLE_VULKAN) | |
| target_sources(citra PRIVATE | |
| emu_window/emu_window_sdl2_vk.cpp | |
| emu_window/emu_window_sdl2_vk.h | |
| ) | |
| endif() | |
| create_target_directory_groups(citra) | |
| target_link_libraries(citra PRIVATE citra_common citra_core input_common network) | |
| target_link_libraries(citra PRIVATE inih) | |
| if (MSVC) | |
| target_link_libraries(citra PRIVATE getopt) | |
| endif() | |
| target_link_libraries(citra PRIVATE ${PLATFORM_LIBRARIES} SDL2::SDL2 Threads::Threads) | |
| if (ENABLE_OPENGL) | |
| target_link_libraries(citra PRIVATE glad) | |
| endif() | |
| if(UNIX AND NOT APPLE) | |
| install(TARGETS citra RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}/bin") | |
| endif() | |
| if (CITRA_USE_PRECOMPILED_HEADERS) | |
| target_precompile_headers(citra PRIVATE precompiled_headers.h) | |
| endif() | |
| # Bundle in-place on MSVC so dependencies can be resolved by builds. | |
| if (MSVC) | |
| include(BundleTarget) | |
| bundle_target_in_place(citra) | |
| endif() | |