Files
eden/src/common/CMakeLists.txt
T

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

250 lines
5.7 KiB
CMake
Raw Normal View History

2022-05-15 02:06:02 +02:00
# SPDX-FileCopyrightText: 2018 yuzu Emulator Project
# SPDX-License-Identifier: GPL-2.0-or-later
if (DEFINED ENV{AZURECIREPO})
set(BUILD_REPOSITORY $ENV{AZURECIREPO})
2019-02-06 21:55:14 -03:00
endif()
2019-10-05 00:09:49 -04:00
if (DEFINED ENV{TITLEBARFORMATIDLE})
set(TITLE_BAR_FORMAT_IDLE $ENV{TITLEBARFORMATIDLE})
endif ()
if (DEFINED ENV{TITLEBARFORMATRUNNING})
set(TITLE_BAR_FORMAT_RUNNING $ENV{TITLEBARFORMATRUNNING})
endif ()
if (DEFINED ENV{DISPLAYVERSION})
set(DISPLAY_VERSION $ENV{DISPLAYVERSION})
endif ()
2020-01-16 00:12:50 -07:00
2022-09-18 00:04:35 +02:00
include(GenerateSCMRev)
2014-04-23 18:43:57 -07:00
add_library(common STATIC
2021-11-14 20:55:52 +01:00
address_space.cpp
address_space.h
2019-10-15 14:47:42 -04:00
algorithm.h
alignment.h
2021-12-25 20:27:52 +01:00
announce_multiplayer_room.h
assert.cpp
assert.h
2022-07-16 23:48:45 +01:00
atomic_helpers.h
atomic_ops.h
bit_cast.h
bit_field.h
2020-11-27 14:13:18 -08:00
bit_set.h
bit_util.h
2023-08-31 15:09:15 +01:00
bounded_threadsafe_queue.h
2018-04-07 00:48:22 -04:00
cityhash.cpp
cityhash.h
common_funcs.h
2022-11-29 23:22:03 -05:00
common_precompiled_headers.h
common_types.h
concepts.h
container_hash.h
2023-01-14 05:12:41 +00:00
demangle.cpp
2023-01-13 21:06:13 +00:00
demangle.h
2023-08-31 15:09:15 +01:00
detached_tasks.cpp
detached_tasks.h
div_ceil.h
dynamic_library.cpp
dynamic_library.h
elf.h
2021-09-08 14:36:20 -04:00
error.cpp
error.h
expected.h
2020-02-04 15:06:23 -04:00
fiber.cpp
fiber.h
2022-07-16 23:48:45 +01:00
fixed_point.h
fs/file.cpp
fs/file.h
fs/fs.cpp
fs/fs.h
fs/fs_paths.h
fs/fs_types.h
fs/fs_util.cpp
fs/fs_util.h
fs/path_util.cpp
fs/path_util.h
hash.h
hex_util.cpp
hex_util.h
host_memory.cpp
host_memory.h
input.h
2020-12-27 01:58:16 -08:00
intrusive_red_black_tree.h
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
2021-06-13 10:31:47 -04:00
logging/types.h
2019-02-08 06:45:50 +01:00
lz4_compression.cpp
lz4_compression.h
2022-12-18 17:44:34 -05:00
make_unique_for_overwrite.h
math_util.h
2020-05-17 14:45:12 -04:00
memory_detect.cpp
memory_detect.h
microprofile.cpp
microprofile.h
microprofileui.h
2021-11-10 17:37:17 +01:00
multi_level_page_table.cpp
multi_level_page_table.h
nvidia_flags.cpp
nvidia_flags.h
2023-03-07 19:46:48 -05:00
overflow.h
2019-03-02 15:20:28 -05:00
page_table.cpp
page_table.h
param_package.cpp
param_package.h
2020-12-27 01:58:16 -08:00
parent_of_member.h
2021-05-28 07:14:14 -04:00
point.h
2022-11-22 18:38:23 -05:00
precompiled_headers.h
quaternion.h
range_map.h
2022-07-16 23:48:45 +01:00
reader_writer_queue.h
2018-09-08 14:28:39 +01:00
ring_buffer.h
2022-09-18 00:04:35 +02:00
${CMAKE_CURRENT_BINARY_DIR}/scm_rev.cpp
scm_rev.h
scope_exit.h
2022-12-18 18:08:20 -05:00
scratch_buffer.h
2021-04-14 16:07:40 -07:00
settings.cpp
settings.h
settings_common.cpp
2023-06-10 23:40:39 -04:00
settings_common.h
2023-06-06 01:31:43 -04:00
settings_enums.h
2021-04-14 16:07:40 -07:00
settings_input.cpp
settings_input.h
2023-06-10 23:40:39 -04:00
settings_setting.h
socket_types.h
2020-02-04 11:23:12 -04:00
spin_lock.cpp
spin_lock.h
2023-10-12 16:36:26 +02:00
stb.cpp
stb.h
steady_clock.cpp
steady_clock.h
2020-10-26 23:07:36 -04:00
stream.cpp
stream.h
string_util.cpp
string_util.h
swap.h
telemetry.cpp
telemetry.h
thread.cpp
thread.h
thread_queue_list.h
thread_worker.h
threadsafe_queue.h
time_zone.cpp
time_zone.h
tiny_mt.h
2020-12-27 01:58:16 -08:00
tree.h
2023-03-17 21:26:04 -04:00
typed_address.h
uint128.h
2021-04-01 01:03:25 -03:00
unique_function.h
2018-12-18 09:07:25 -05:00
uuid.cpp
uuid.h
vector_math.h
virtual_buffer.cpp
virtual_buffer.h
wall_clock.cpp
wall_clock.h
zstd_compression.cpp
zstd_compression.h
)
2014-08-23 22:22:05 -03:00
if (YUZU_ENABLE_PORTABLE)
add_compile_definitions(YUZU_ENABLE_PORTABLE)
endif()
if (WIN32)
target_sources(common PRIVATE
windows/timer_resolution.cpp
windows/timer_resolution.h
)
target_link_libraries(common PRIVATE ntdll)
endif()
if(ANDROID)
target_sources(common
PRIVATE
fs/fs_android.cpp
fs/fs_android.h
)
endif()
if (UNIX)
target_sources(common PRIVATE
linux/gamemode.cpp
linux/gamemode.h
)
target_link_libraries(common PRIVATE gamemode)
endif()
if(ARCHITECTURE_x86_64)
target_sources(common
PRIVATE
2015-08-12 00:19:20 -04:00
x64/cpu_detect.cpp
x64/cpu_detect.h
2023-03-21 21:28:38 -04:00
x64/cpu_wait.cpp
x64/cpu_wait.h
x64/native_clock.cpp
x64/native_clock.h
2023-04-22 22:55:03 -04:00
x64/rdtsc.cpp
x64/rdtsc.h
2020-05-30 10:55:27 +10:00
x64/xbyak_abi.h
x64/xbyak_util.h
)
2022-11-25 19:35:46 +01:00
target_link_libraries(common PRIVATE xbyak::xbyak)
endif()
2023-10-08 11:32:32 -04:00
if (ARCHITECTURE_arm64 AND (ANDROID OR LINUX))
target_sources(common
PRIVATE
arm64/native_clock.cpp
arm64/native_clock.h
)
endif()
2020-10-30 15:02:02 -04:00
if (MSVC)
target_compile_definitions(common PRIVATE
# The standard library doesn't provide any replacement for codecvt yet
# so we can disable this deprecation warning for the time being.
_SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING
)
target_compile_options(common PRIVATE
/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
2020-10-30 15:02:02 -04:00
)
2023-10-12 16:36:26 +02:00
else()
set_source_files_properties(stb.cpp PROPERTIES COMPILE_OPTIONS "-Wno-implicit-fallthrough;-Wno-missing-declarations;-Wno-missing-field-initializers")
endif()
if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
2020-10-30 15:02:02 -04:00
target_compile_options(common PRIVATE
-fsized-deallocation
-Werror=unreachable-code-aggressive
)
target_compile_definitions(common PRIVATE
2023-07-18 15:36:20 -04:00
# Clang 14 and earlier have errors when explicitly instantiating Settings::Setting
$<$<VERSION_LESS:$<CXX_COMPILER_VERSION>,15>:CANNOT_EXPLICITLY_INSTANTIATE>
2020-10-30 15:02:02 -04:00
)
endif()
create_target_directory_groups(common)
2014-04-28 19:40:39 -07:00
2023-10-12 16:36:26 +02:00
target_link_libraries(common PUBLIC Boost::context Boost::headers fmt::fmt microprofile stb::headers Threads::Threads)
2023-01-23 01:51:12 +01:00
target_link_libraries(common PRIVATE lz4::lz4 zstd::zstd LLVM::Demangle)
2022-11-22 18:38:23 -05:00
2023-03-16 15:00:34 -04:00
if (ANDROID)
# For ASharedMemory_create
target_link_libraries(common PRIVATE android)
endif()
2022-11-22 18:38:23 -05:00
if (YUZU_USE_PRECOMPILED_HEADERS)
target_precompile_headers(common PRIVATE precompiled_headers.h)
endif()