pineapple-src/src/common/CMakeLists.txt

198 lines
4.5 KiB
Text
Raw Normal View History

2020-12-28 15:15:37 +00: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-09 20:47:56 +00: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 03:25:55 +00: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-09 20:47:56 +00:00
-DGIT_EXECUTABLE=${GIT_EXECUTABLE}
-P ${CMAKE_SOURCE_DIR}/CMakeModules/GenerateSCMRev.cmake
2020-12-28 15:15:37 +00:00
DEPENDS
2021-07-19 03:44:59 +00:00
# Check that the scm_rev files haven't changed
2020-12-28 15:15:37 +00: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-09 20:47:56 +00:00
VERBATIM
2020-12-28 15:15:37 +00:00
)
add_library(common STATIC
2022-06-16 01:46:18 +00:00
address_space.h
address_space.cpp
2020-12-28 15:15:37 +00:00
algorithm.h
alignment.h
2021-04-07 22:30:26 +00:00
assert.cpp
2020-12-28 15:15:37 +00:00
assert.h
2022-07-07 07:40:51 +00:00
atomic_helpers.h
2020-12-28 15:15:37 +00:00
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 01:42:24 +00:00
elf.h
2021-09-12 18:41:46 +00:00
error.cpp
error.h
2021-11-03 01:00:07 +00:00
expected.h
2020-12-28 15:15:37 +00:00
fiber.cpp
fiber.h
2022-07-07 07:40:51 +00:00
fixed_point.h
2021-05-08 07:49:31 +00: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 15:15:37 +00:00
hash.h
hex_util.cpp
hex_util.h
2021-06-07 01:57:28 +00:00
host_memory.cpp
host_memory.h
2021-11-15 01:13:48 +00:00
input.h
2020-12-31 10:03:11 +00:00
intrusive_red_black_tree.h
2021-06-25 03:18:27 +00:00
literals.h
2020-12-28 15:15:37 +00:00
logging/backend.cpp
logging/backend.h
logging/filter.cpp
logging/filter.h
2022-01-10 02:10:35 +00:00
logging/formatter.h
2020-12-28 15:15:37 +00:00
logging/log.h
2021-10-04 01:26:31 +00:00
logging/log_entry.h
2020-12-28 15:15:37 +00:00
logging/text_formatter.cpp
logging/text_formatter.h
2021-06-13 19:23:07 +00:00
logging/types.h
2020-12-28 15:15:37 +00:00
lz4_compression.cpp
lz4_compression.h
math_util.h
memory_detect.cpp
memory_detect.h
microprofile.cpp
microprofile.h
microprofileui.h
2022-06-16 01:46:18 +00:00
multi_level_page_table.cpp
multi_level_page_table.h
2021-01-21 00:01:05 +00:00
nvidia_flags.cpp
nvidia_flags.h
2020-12-28 15:15:37 +00:00
page_table.cpp
page_table.h
param_package.cpp
param_package.h
2020-12-31 10:03:11 +00:00
parent_of_member.h
2021-05-30 10:23:20 +00:00
point.h
2020-12-28 15:15:37 +00:00
quaternion.h
2022-07-07 07:40:51 +00:00
reader_writer_queue.h
2020-12-28 15:15:37 +00:00
ring_buffer.h
scm_rev.cpp
scm_rev.h
scope_exit.h
2021-04-15 02:05:28 +00:00
settings.cpp
settings.h
settings_input.cpp
settings_input.h
2020-12-28 15:15:37 +00: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 01:38:14 +00:00
thread_worker.h
2020-12-28 15:15:37 +00:00
threadsafe_queue.h
time_zone.cpp
time_zone.h
2021-02-19 01:26:25 +00:00
tiny_mt.h
2020-12-31 10:03:11 +00:00
tree.h
2020-12-28 15:15:37 +00:00
uint128.h
2021-07-05 21:19:14 +00:00
unique_function.h
2020-12-28 15:15:37 +00: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 06:19:20 +00:00
$<$<CXX_COMPILER_ID:Clang>:-fsized-deallocation>
2020-12-28 15:15:37 +00:00
)
endif()
create_target_directory_groups(common)
2021-07-25 22:34:14 +00:00
target_link_libraries(common PUBLIC ${Boost_LIBRARIES} fmt::fmt microprofile Threads::Threads)
2020-12-28 15:15:37 +00:00
target_link_libraries(common PRIVATE lz4::lz4 xbyak)
2022-07-23 01:01:36 +00:00
if (TARGET zstd::zstd)
2020-12-28 15:15:37 +00:00
target_link_libraries(common PRIVATE zstd::zstd)
else()
2022-07-23 01:01:36 +00:00
target_link_libraries(common PRIVATE
$<IF:$<TARGET_EXISTS:zstd::libzstd_shared>,zstd::libzstd_shared,zstd::libzstd_static>)
2020-12-28 15:15:37 +00:00
endif()