mirror of
https://github.com/Lime3DS/Lime3DS.git
synced 2026-04-07 09:01:29 -06:00
184 lines
4.4 KiB
CMake
184 lines
4.4 KiB
CMake
include(GenerateSCMRev)
|
|
|
|
add_library(citra_common STATIC
|
|
aarch64/cpu_detect.cpp
|
|
aarch64/cpu_detect.h
|
|
aarch64/oaknut_abi.h
|
|
aarch64/oaknut_util.h
|
|
alignment.h
|
|
announce_multiplayer_room.h
|
|
arch.h
|
|
archives.h
|
|
assert.h
|
|
atomic_ops.h
|
|
detached_tasks.cpp
|
|
detached_tasks.h
|
|
bit_field.h
|
|
bit_field.natvis
|
|
bit_set.h
|
|
bounded_threadsafe_queue.h
|
|
cityhash.cpp
|
|
cityhash.h
|
|
color.h
|
|
common_funcs.h
|
|
common_paths.h
|
|
common_precompiled_headers.h
|
|
common_types.h
|
|
construct.h
|
|
dynamic_library/dynamic_library.cpp
|
|
dynamic_library/dynamic_library.h
|
|
dynamic_library/ffmpeg.cpp
|
|
dynamic_library/ffmpeg.h
|
|
error.cpp
|
|
error.h
|
|
expected.h
|
|
file_util.cpp
|
|
file_util.h
|
|
hash.h
|
|
hacks/hack_list.h
|
|
hacks/hack_list.cpp
|
|
hacks/hack_manager.h
|
|
hacks/hack_manager.cpp
|
|
literals.h
|
|
logging/backend.cpp
|
|
logging/backend.h
|
|
logging/filter.cpp
|
|
logging/filter.h
|
|
logging/formatter.h
|
|
logging/log.h
|
|
logging/log_entry.h
|
|
logging/text_formatter.cpp
|
|
logging/text_formatter.h
|
|
logging/types.h
|
|
math_util.cpp
|
|
math_util.h
|
|
memory_detect.cpp
|
|
memory_detect.h
|
|
memory_ref.h
|
|
memory_ref.cpp
|
|
microprofile.cpp
|
|
microprofile.h
|
|
microprofileui.h
|
|
param_package.cpp
|
|
param_package.h
|
|
play_time_manager.cpp
|
|
play_time_manager.h
|
|
polyfill_thread.h
|
|
precompiled_headers.h
|
|
quaternion.h
|
|
ring_buffer.h
|
|
scm_rev.cpp
|
|
scm_rev.h
|
|
scope_exit.h
|
|
setting_keys.h
|
|
settings.cpp
|
|
settings.h
|
|
slot_vector.h
|
|
serialization/atomic.h
|
|
serialization/boost_discrete_interval.hpp
|
|
serialization/boost_flat_set.h
|
|
serialization/boost_small_vector.hpp
|
|
serialization/boost_std_variant.hpp
|
|
serialization/boost_vector.hpp
|
|
static_lru_cache.h
|
|
string_literal.h
|
|
string_util.cpp
|
|
string_util.h
|
|
swap.h
|
|
texture.cpp
|
|
texture.h
|
|
thread.cpp
|
|
thread.h
|
|
thread_queue_list.h
|
|
thread_worker.h
|
|
threadsafe_queue.h
|
|
timer.cpp
|
|
timer.h
|
|
unique_function.h
|
|
vector_math.h
|
|
web_result.h
|
|
x64/cpu_detect.cpp
|
|
x64/cpu_detect.h
|
|
x64/xbyak_abi.h
|
|
x64/xbyak_util.h
|
|
zstd_compression.cpp
|
|
zstd_compression.h
|
|
)
|
|
|
|
target_include_directories(citra_common PUBLIC ${CMAKE_BINARY_DIR}/src)
|
|
|
|
if (UNIX AND NOT APPLE)
|
|
target_sources(citra_common PRIVATE
|
|
linux/gamemode.cpp
|
|
linux/gamemode.h
|
|
)
|
|
|
|
target_link_libraries(citra_common PRIVATE gamemode)
|
|
endif()
|
|
|
|
if (APPLE AND NOT ENABLE_LIBRETRO)
|
|
target_sources(citra_common PUBLIC
|
|
apple_authorization.h
|
|
apple_authorization.cpp
|
|
apple_utils.cpp
|
|
apple_utils.h
|
|
apple_utils.mm
|
|
)
|
|
endif()
|
|
|
|
# Android storage is only used for non-libretro Android builds
|
|
if (ANDROID AND NOT ENABLE_LIBRETRO)
|
|
target_sources(citra_common PRIVATE
|
|
android_storage.cpp
|
|
android_storage.h
|
|
)
|
|
endif()
|
|
|
|
if (MSVC)
|
|
target_compile_options(citra_common PRIVATE
|
|
/W4
|
|
|
|
/we4242 # 'identifier': conversion from 'type1' to 'type2', possible loss of data
|
|
/we4254 # 'operator': conversion from 'type1:field_bits' to 'type2:field_bits', possible loss of data
|
|
/we4800 # Implicit conversion from 'type' to bool. Possible information loss
|
|
)
|
|
else()
|
|
target_compile_options(citra_common PRIVATE
|
|
$<$<CXX_COMPILER_ID:Clang>:-fsized-deallocation>
|
|
)
|
|
endif()
|
|
|
|
create_target_directory_groups(citra_common)
|
|
|
|
target_link_libraries(citra_common PUBLIC fmt library-headers microprofile Boost::boost Boost::serialization Boost::iostreams)
|
|
target_link_libraries(citra_common PRIVATE cryptopp zstd)
|
|
|
|
if ("x86_64" IN_LIST ARCHITECTURE)
|
|
target_link_libraries(citra_common PRIVATE xbyak)
|
|
endif()
|
|
|
|
if ("arm64" IN_LIST ARCHITECTURE)
|
|
target_link_libraries(citra_common PRIVATE oaknut)
|
|
endif()
|
|
|
|
if (CITRA_USE_PRECOMPILED_HEADERS)
|
|
target_precompile_headers(citra_common PRIVATE precompiled_headers.h)
|
|
endif()
|
|
|
|
find_library(BACKTRACE_LIBRARY backtrace)
|
|
if (BACKTRACE_LIBRARY AND ${CMAKE_SYSTEM_NAME} STREQUAL "Linux" AND CMAKE_CXX_COMPILER_ID STREQUAL GNU)
|
|
target_link_libraries(citra_common PRIVATE ${BACKTRACE_LIBRARY} dl)
|
|
target_compile_definitions(citra_common PRIVATE CITRA_LINUX_GCC_BACKTRACE)
|
|
endif()
|
|
|
|
if (SSE42_COMPILE_OPTION)
|
|
target_compile_definitions(citra_common PRIVATE CITRA_HAS_SSE42)
|
|
target_compile_options(citra_common PRIVATE ${SSE42_COMPILE_OPTION})
|
|
endif()
|
|
|
|
if (USE_SYSTEM_XXHASH)
|
|
target_link_libraries(citra_common PUBLIC xxhash)
|
|
else()
|
|
target_link_libraries(citra_common PUBLIC xxHash::xxhash)
|
|
endif()
|