2020-04-07 08:33:49 +00:00
|
|
|
set (DEFAULT_LIBS "-nodefaultlibs")
|
|
|
|
|
2020-04-18 13:54:45 +00:00
|
|
|
if (${CMAKE_SYSTEM_PROCESSOR} STREQUAL "amd64")
|
2024-05-17 13:57:12 +00:00
|
|
|
set(system_processor "x86_64")
|
2020-04-18 13:54:45 +00:00
|
|
|
else ()
|
2024-05-17 13:57:12 +00:00
|
|
|
set(system_processor "${CMAKE_SYSTEM_PROCESSOR}")
|
2020-04-18 13:54:45 +00:00
|
|
|
endif ()
|
2020-04-07 08:33:49 +00:00
|
|
|
|
2024-05-17 13:57:12 +00:00
|
|
|
file(GLOB bprefix "/usr/local/llvm${COMPILER_VERSION_MAJOR}/lib/clang/${COMPILER_VERSION_MAJOR}/lib/${system_processor}-portbld-freebsd*/")
|
|
|
|
message(STATUS "-Bprefix: ${bprefix}")
|
|
|
|
|
2024-08-13 08:30:31 +00:00
|
|
|
execute_process(COMMAND
|
|
|
|
${CMAKE_CXX_COMPILER} -Bprefix=${bprefix} --print-file-name=libclang_rt.builtins-${system_processor}.a
|
|
|
|
OUTPUT_VARIABLE BUILTINS_LIBRARY
|
|
|
|
COMMAND_ERROR_IS_FATAL ANY
|
|
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
2024-05-17 13:57:12 +00:00
|
|
|
# --print-file-name simply prints what you passed in case of nothing was resolved, so let's try one other possible option
|
|
|
|
if (BUILTINS_LIBRARY STREQUAL "libclang_rt.builtins-${system_processor}.a")
|
2024-08-13 08:30:31 +00:00
|
|
|
execute_process(COMMAND
|
|
|
|
${CMAKE_CXX_COMPILER} -Bprefix=${bprefix} --print-file-name=libclang_rt.builtins.a
|
|
|
|
OUTPUT_VARIABLE BUILTINS_LIBRARY
|
|
|
|
COMMAND_ERROR_IS_FATAL ANY
|
|
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
2024-05-17 13:57:12 +00:00
|
|
|
endif()
|
|
|
|
if (BUILTINS_LIBRARY STREQUAL "libclang_rt.builtins.a")
|
|
|
|
message(FATAL_ERROR "libclang_rt.builtins had not been found")
|
|
|
|
endif()
|
|
|
|
|
2020-04-07 08:33:49 +00:00
|
|
|
set (DEFAULT_LIBS "${DEFAULT_LIBS} ${BUILTINS_LIBRARY} ${COVERAGE_OPTION} -lc -lm -lrt -lpthread")
|
|
|
|
|
|
|
|
message(STATUS "Default libraries: ${DEFAULT_LIBS}")
|
|
|
|
|
|
|
|
set(CMAKE_CXX_STANDARD_LIBRARIES ${DEFAULT_LIBS})
|
|
|
|
set(CMAKE_C_STANDARD_LIBRARIES ${DEFAULT_LIBS})
|
|
|
|
|
|
|
|
# Unfortunately '-pthread' doesn't work with '-nodefaultlibs'.
|
|
|
|
# Just make sure we have pthreads at all.
|
|
|
|
set(THREADS_PREFER_PTHREAD_FLAG ON)
|
|
|
|
find_package(Threads REQUIRED)
|
|
|
|
|
2022-01-31 07:27:00 +00:00
|
|
|
include (cmake/unwind.cmake)
|
2022-01-31 07:26:07 +00:00
|
|
|
include (cmake/cxx.cmake)
|
2022-11-15 16:53:24 +00:00
|
|
|
link_libraries(global-group)
|
2020-04-07 08:33:49 +00:00
|
|
|
|
|
|
|
target_link_libraries(global-group INTERFACE
|
|
|
|
$<TARGET_PROPERTY:global-libs,INTERFACE_LINK_LIBRARIES>
|
|
|
|
)
|