mirror of
https://github.com/azahar-emu/azahar
synced 2025-11-18 04:49:59 +01:00
85 lines
2.6 KiB
CMake
85 lines
2.6 KiB
CMake
add_executable(citra_meta
|
|
citra.rc
|
|
main.cpp
|
|
precompiled_headers.h
|
|
)
|
|
|
|
set_target_properties(citra_meta PROPERTIES OUTPUT_NAME "citra")
|
|
|
|
if (APPLE)
|
|
set(DIST_DIR "../../dist/apple")
|
|
set(APPLE_RESOURCES
|
|
"${DIST_DIR}/citra.icns"
|
|
"${DIST_DIR}/LaunchScreen.storyboard"
|
|
"${DIST_DIR}/launch_logo.png"
|
|
)
|
|
target_sources(citra_meta PRIVATE ${APPLE_RESOURCES})
|
|
|
|
# Define app bundle metadata.
|
|
include(GenerateBuildInfo)
|
|
set_target_properties(citra_meta PROPERTIES
|
|
MACOSX_BUNDLE TRUE
|
|
MACOSX_BUNDLE_INFO_PLIST "${DIST_DIR}/Info.plist.in"
|
|
MACOSX_BUNDLE_BUNDLE_NAME "Citra"
|
|
MACOSX_BUNDLE_GUI_IDENTIFIER "com.citra-emu.citra"
|
|
MACOSX_BUNDLE_BUNDLE_VERSION "${BUILD_VERSION}"
|
|
MACOSX_BUNDLE_SHORT_VERSION_STRING "${BUILD_FULLNAME}"
|
|
MACOSX_BUNDLE_LONG_VERSION_STRING "${BUILD_FULLNAME}"
|
|
MACOSX_BUNDLE_ICON_FILE "citra.icns"
|
|
RESOURCE "${APPLE_RESOURCES}"
|
|
)
|
|
|
|
if (IOS)
|
|
set_target_properties(citra_meta PROPERTIES
|
|
# Have Xcode copy and sign MoltenVK into app bundle.
|
|
XCODE_EMBED_FRAMEWORKS "${MOLTENVK_LIBRARY}"
|
|
XCODE_EMBED_FRAMEWORKS_CODE_SIGN_ON_COPY YES
|
|
XCODE_ATTRIBUTE_LD_RUNPATH_SEARCH_PATHS "@executable_path/Frameworks"
|
|
# Support iPhone and iPad.
|
|
XCODE_ATTRIBUTE_TARGETED_DEVICE_FAMILY "1,2"
|
|
)
|
|
endif()
|
|
endif()
|
|
|
|
target_link_libraries(citra_meta PRIVATE fmt)
|
|
|
|
if (ENABLE_SDL2_FRONTEND)
|
|
target_link_libraries(citra_meta PRIVATE citra_sdl)
|
|
endif()
|
|
|
|
if (ENABLE_QT)
|
|
target_link_libraries(citra_meta PRIVATE citra_qt)
|
|
target_link_libraries(citra_meta PRIVATE Boost::boost Qt6::Widgets)
|
|
endif()
|
|
|
|
if (ENABLE_QT AND UNIX AND NOT APPLE)
|
|
target_link_libraries(citra_meta PRIVATE Qt6::DBus gamemode)
|
|
endif()
|
|
|
|
if (ENABLE_QT AND USE_DISCORD_PRESENCE)
|
|
target_link_libraries(citra_meta PRIVATE discord-rpc)
|
|
endif()
|
|
|
|
if(WIN32)
|
|
# compile as a win32 gui application instead of a console application
|
|
if(MSVC)
|
|
set_target_properties(citra_meta PROPERTIES LINK_FLAGS_RELEASE "/SUBSYSTEM:WINDOWS")
|
|
elseif(MINGW)
|
|
set_target_properties(citra_meta PROPERTIES LINK_FLAGS_RELEASE "-mwindows")
|
|
endif()
|
|
endif()
|
|
|
|
if (CITRA_USE_PRECOMPILED_HEADERS)
|
|
target_precompile_headers(citra_meta PRIVATE precompiled_headers.h)
|
|
endif()
|
|
|
|
# Bundle in-place on MSVC so dependencies can be resolved by builds.
|
|
if (ENABLE_QT AND MSVC)
|
|
include(BundleTarget)
|
|
qt_bundle_target_in_place(citra_meta)
|
|
endif()
|
|
|
|
if(UNIX AND NOT APPLE)
|
|
install(TARGETS citra_meta RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}/bin")
|
|
endif()
|