pineapple/src/common/CMakeLists.txt

190 lines
4.3 KiB
CMake
Raw Normal View History

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