yuzu/src/common/CMakeLists.txt

190 lines
4.3 KiB
CMake
Raw Normal View History

2020-12-28 19:15:37 +04:00
if (DEFINED ENV{AZURECIREPO})
set(BUILD_REPOSITORY $ENV{AZURECIREPO})
endif()
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 ()
# Pass the path to git to the GenerateSCMRev.cmake as well
find_package(Git QUIET)
add_custom_command(OUTPUT scm_rev.cpp
COMMAND ${CMAKE_COMMAND}
2021-06-10 00:47:56 +04:00
-DSRC_DIR=${CMAKE_SOURCE_DIR}
-DBUILD_REPOSITORY=${BUILD_REPOSITORY}
-DTITLE_BAR_FORMAT_IDLE=${TITLE_BAR_FORMAT_IDLE}
-DTITLE_BAR_FORMAT_RUNNING=${TITLE_BAR_FORMAT_RUNNING}
-DBUILD_TAG=${BUILD_TAG}
-DBUILD_ID=${DISPLAY_VERSION}
2021-12-22 07:25:55 +04:00
-DGIT_REF_SPEC=${GIT_REF_SPEC}
-DGIT_REV=${GIT_REV}
-DGIT_DESC=${GIT_DESC}
-DGIT_BRANCH=${GIT_BRANCH}
-DBUILD_FULLNAME=${BUILD_FULLNAME}
2021-06-10 00:47:56 +04:00
-DGIT_EXECUTABLE=${GIT_EXECUTABLE}
-P ${CMAKE_SOURCE_DIR}/CMakeModules/GenerateSCMRev.cmake
2020-12-28 19:15:37 +04:00
DEPENDS
2021-07-19 07:44:59 +04:00
# Check that the scm_rev files haven't changed
2020-12-28 19:15:37 +04:00
"${CMAKE_CURRENT_SOURCE_DIR}/scm_rev.cpp.in"
"${CMAKE_CURRENT_SOURCE_DIR}/scm_rev.h"
# technically we should regenerate if the git version changed, but its not worth the effort imo
"${CMAKE_SOURCE_DIR}/CMakeModules/GenerateSCMRev.cmake"
2021-06-10 00:47:56 +04:00
VERBATIM
2020-12-28 19:15:37 +04:00
)
add_library(common STATIC
algorithm.h
alignment.h
2021-04-08 02:30:26 +04:00
assert.cpp
2020-12-28 19:15:37 +04:00
assert.h
atomic_ops.h
detached_tasks.cpp
detached_tasks.h
bit_cast.h
bit_field.h
bit_set.h
bit_util.h
cityhash.cpp
cityhash.h
common_funcs.h
common_types.h
concepts.h
div_ceil.h
dynamic_library.cpp
dynamic_library.h
2022-06-06 05:42:24 +04:00
elf.h
2021-09-12 22:41:46 +04:00
error.cpp
error.h
2021-11-03 05:00:07 +04:00
expected.h
2020-12-28 19:15:37 +04:00
fiber.cpp
fiber.h
2021-05-08 11:49:31 +04:00
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
2020-12-28 19:15:37 +04:00
hash.h
hex_util.cpp
hex_util.h
2021-06-07 05:57:28 +04:00
host_memory.cpp
host_memory.h
2021-11-15 05:13:48 +04:00
input.h
2020-12-31 14:03:11 +04:00
intrusive_red_black_tree.h
2021-06-25 07:18:27 +04:00
literals.h
2020-12-28 19:15:37 +04:00
logging/backend.cpp
logging/backend.h
logging/filter.cpp
logging/filter.h
2022-01-10 06:10:35 +04:00
logging/formatter.h
2020-12-28 19:15:37 +04:00
logging/log.h
2021-10-04 05:26:31 +04:00
logging/log_entry.h
2020-12-28 19:15:37 +04:00
logging/text_formatter.cpp
logging/text_formatter.h
2021-06-13 23:23:07 +04:00
logging/types.h
2020-12-28 19:15:37 +04:00
lz4_compression.cpp
lz4_compression.h
math_util.h
memory_detect.cpp
memory_detect.h
microprofile.cpp
microprofile.h
microprofileui.h
2021-01-21 04:01:05 +04:00
nvidia_flags.cpp
nvidia_flags.h
2020-12-28 19:15:37 +04:00
page_table.cpp
page_table.h
param_package.cpp
param_package.h
2020-12-31 14:03:11 +04:00
parent_of_member.h
2021-05-30 14:23:20 +04:00
point.h
2020-12-28 19:15:37 +04:00
quaternion.h
ring_buffer.h
scm_rev.cpp
scm_rev.h
scope_exit.h
2021-04-15 06:05:28 +04:00
settings.cpp
settings.h
settings_input.cpp
settings_input.h
2020-12-28 19:15:37 +04:00
spin_lock.cpp
spin_lock.h
stream.cpp
stream.h
string_util.cpp
string_util.h
swap.h
telemetry.cpp
telemetry.h
thread.cpp
thread.h
thread_queue_list.h
2020-12-30 05:38:14 +04:00
thread_worker.h
2020-12-28 19:15:37 +04:00
threadsafe_queue.h
time_zone.cpp
time_zone.h
2021-02-19 05:26:25 +04:00
tiny_mt.h
2020-12-31 14:03:11 +04:00
tree.h
2020-12-28 19:15:37 +04:00
uint128.h
2021-07-06 01:19:14 +04:00
unique_function.h
2020-12-28 19:15:37 +04: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
)
if(ARCHITECTURE_x86_64)
target_sources(common
PRIVATE
x64/cpu_detect.cpp
x64/cpu_detect.h
x64/native_clock.cpp
x64/native_clock.h
x64/xbyak_abi.h
x64/xbyak_util.h
)
endif()
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
/W4
/WX
)
else()
target_compile_options(common PRIVATE
-Werror
2021-02-10 10:19:20 +04:00
$<$<CXX_COMPILER_ID:Clang>:-fsized-deallocation>
2020-12-28 19:15:37 +04:00
)
endif()
create_target_directory_groups(common)
2021-07-26 02:34:14 +04:00
target_link_libraries(common PUBLIC ${Boost_LIBRARIES} fmt::fmt microprofile Threads::Threads)
2020-12-28 19:15:37 +04:00
target_link_libraries(common PRIVATE lz4::lz4 xbyak)
if (MSVC)
target_link_libraries(common PRIVATE zstd::zstd)
else()
target_link_libraries(common PRIVATE zstd)
endif()