Search code examples
c++ccmake

Conditional CMAKE link to rt-library based on platform


How to write CMakeLists.txt to conditionally link to the system-wide librt library only when on Linux environment?


Solution

  • cmake has several predefined variables useful for environment detection (WIN32, UNIX, APPLE, CYGWIN). Here is the full list: http://www.cmake.org/cmake/help/cmake-2-8-docs.html#section_VariablesThatDescribetheSystem

    So you can write something like

    if(UNIX AND NOT APPLE)
        target_link_libraries(target_name rt)
    endif()