You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
kamailio/cmake/os-specific/linux.cmake

56 lines
1.7 KiB

# Linux specific flags
message(STATUS "Configuring for Linux")
target_compile_definitions(
common
INTERFACE HAVE_GETHOSTBYNAME2
HAVE_UNION_SEMUN
HAVE_SCHED_YIELD
HAVE_MSG_NOSIGNAL
HAVE_MSGHDR_MSG_CONTROL
HAVE_ALLOCA_H
HAVE_TIMEGM
HAVE_SCHED_SETSCHEDULER
HAVE_IP_MREQN)
target_link_libraries(common INTERFACE ${CMAKE_DL_LIBS} resolv)
target_link_libraries(common_utils INTERFACE resolv)
if(${RAW_SOCKS})
target_compile_definitions(common INTERFACE USE_RAW_SOCKS)
endif()
if(NOT ${USE_FAST_LOCK})
target_compile_definitions(common INTERFACE USE_PTHREAD_MUTEX)
target_link_libraries(common INTERFACE pthread)
message(
STATUS "FAST_LOCK not available on this platform, using: USE_PTHREAD_MUTEX")
else()
# TODO: Check if this can be reached. Right now it is not possible to set
# LOCK_METHOD, only USE_FAST_LOCK. This branch is reached when USE_FAST_LOCK
# is set to true (meaning it is available on platform).
# Check if lock_method is posix or pthread
# if(LOCK_METHOD STREQUAL "USE_POSIX_SEM" OR LOCK_METHOD STREQUAL
# "USE_PTHREAD_MUTEX")
# message(STATUS "Using ${LOCK_METHOD} for locks")
# target_link_libraries(common INTERFACE pthread)
# endif()
endif()
if(NOT NO_SELECT)
target_compile_definitions(common INTERFACE HAVE_SELECT)
endif()
# TODO introduce check for epoll
if(NOT NO_EPOLL)
target_compile_definitions(common INTERFACE HAVE_EPOLL)
endif()
# TODO introduce check for sigio
if(NOT NO_SIGIO_RT)
target_compile_definitions(common INTERFACE HAVE_SIGIO_RT
SIGINFO64_WORKAROUND)
endif()
# TODO introduce check for futex