123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- # 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
|