ya.make 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. LIBRARY()
  2. VERSION(1.13)
  3. LICENSE(Service-Dll-Harness)
  4. WITHOUT_LICENSE_TEXTS()
  5. NO_RUNTIME()
  6. DEFAULT(USE_ICONV ${_USE_ICONV})
  7. IF (EXPORT_CMAKE)
  8. IF (OS_WINDOWS)
  9. OPENSOURCE_EXPORT_REPLACEMENT(
  10. CMAKE
  11. Iconv
  12. CMAKE_TARGET
  13. Iconv::Iconv
  14. CONAN
  15. libiconv/1.15
  16. CONAN_OPTIONS
  17. libiconv:shared=True
  18. )
  19. ELSE()
  20. # Opensource code is compatible with libc provided iconv API on major linux distributions and macos.
  21. # * We prefere to avoid vendoring LGPL libraries in our opensouce project
  22. # * Major distributions do not provide GNU libiconv as separate package
  23. # * Shared lib dependencies from conan overcomplicate final artefacts distribution
  24. DISABLE(OPENSOURCE_EXPORT)
  25. ENDIF()
  26. ELSEIF (USE_ICONV == "dynamic")
  27. PEERDIR(
  28. contrib/libs/libiconv/dynamic
  29. )
  30. ELSEIF (USE_ICONV == "local")
  31. GLOBAL_CFLAGS(${USE_LOCAL_ICONV_CFLAGS})
  32. IF (OS_DARWIN)
  33. LDFLAGS(-liconv)
  34. ENDIF()
  35. # Opensource code is compatible with libc provided iconv API on major linux distributions and macos.
  36. ELSE()
  37. PEERDIR(
  38. contrib/libs/libiconv/static
  39. )
  40. ENDIF()
  41. END()
  42. RECURSE(
  43. dynamic
  44. static
  45. )