Skip to content

Commit c0e1ff4

Browse files
committed
fix: add tls flags to customlabels dependency
* cmake/deps/customlabels.cmake
1 parent f9f5659 commit c0e1ff4

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

cmake/deps/customlabels.cmake

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,27 @@ add_library(customlabels SHARED
1111
${customlabels_SOURCE_DIR}/src/customlabels.c
1212
)
1313

14+
if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
15+
if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64")
16+
set(TLS_DIALECT desc)
17+
elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "AMD64")
18+
set(TLS_DIALECT gnu2)
19+
else()
20+
message(FATAL_ERROR "Only aarch64 and x86-64 are supported (found: ${CMAKE_SYSTEM_PROCESSOR})")
21+
endif()
22+
23+
include(CheckCompilerFlag)
24+
check_compiler_flag(CXX "-ftls-dialect=${TLS_DIALECT}" TLS_DIALECT_OK)
25+
if (TLS_DIALECT_OK)
26+
target_compile_options(customlabels PRIVATE
27+
-g
28+
-fPIC
29+
-ftls-model=global-dynamic
30+
-mtls-dialect=${TLS_DIALECT}
31+
)
32+
endif()
33+
endif()
34+
1435
target_include_directories(customlabels
1536
PUBLIC
1637
${customlabels_SOURCE_DIR}/src

0 commit comments

Comments
 (0)