LINUX.ORG.RU

cmake


0

1

Для Linux при линковке нужно указывать либу rt, для Mac OS X такая либа не нужна. Как в указать, что линковать в зависимости от используемой OS?

Сейчас я тупо комментирую строку, но это говнорешение. Хочется сделать правильно.

★★★★★

check_library_exists(rt sem_wait «» HAVE_RT_LIBRARY) Затем линковать в зависимости от значения HAVE_RT_LIBRARY

Sorcerer ★★★★★
()
Ответ на: комментарий от Sorcerer

Я правильно вас понял?

INCLUDE(CheckLibraryExists)

CHECK_LIBRARY_EXISTS(rt clock_gettime "" HAVE_RT_LIBRARY)                                                                                                                        
IF(HAVE_RT_LIBRARY)
    SET(RT_LIBRARY "rt")
ENDIF(HAVE_RT_LIBRARY)

TARGET_LINK_LIBRARIES(app_name
    ${RT_LIBRARY}
    )

andreyu ★★★★★
() автор топика
Ответ на: комментарий от Sorcerer

> Да. А что, не работает? :)

Вроде работает. Просто хотел уточнить.

andreyu ★★★★★
() автор топика
Ответ на: комментарий от unC0Rr

if(NOT APPLE)

Спасибо за наводку, вот еще нарыл:

IF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")

andreyu ★★★★★
() автор топика

Ну и учти, что для *BSD скорее всего будет так же, как и для макоси

annulen ★★★★★
()
Ответ на: комментарий от annulen

Спасибо, подумаю, что мне лучше использовать.

andreyu ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.