cmake переопределяет встроенные значения

Я пытаюсь выяснить, почему этот код будет работать на CMmake <= 3.9.6, но не будет работать на cmake 3.12.1

Я думаю, что есть ошибка в этом макросе

macro(add_library name)
  llvm_process_sources(srcs ${AN})
  if (MODULE)
    set(libkind MODULE)
  elseif (SHARED_LIBRARY)
    set(libkind SHARED)
  else()
    set(libkind)
  endif()
  add_library( ${name} ${libkind} ${srcs} )
  llvm_update_compile_flags(${name} ${srcs})
  if( LLVM_COMMON_DEPENDS )
    add_dependencies( ${name} ${LLVM_COMMON_DEPENDS} )
  endif( LLVM_COMMON_DEPENDS )

  llvm_config( ${name} ${LLVM_LINK_COMPONENTS} )
  target_link_libraries( ${name} ${LLVM_COMMON_LIBS} )
#  link_system_libs( ${name} )  # getd of cmake warning messages

  install(TARGETS ${name}
    LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
    ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}
    RUNTIME DESTINATION bin)
  set_target_properties(${name} PROPERTIES FOLDER "Project libraries")
endmacro(add_library)

Есть ли исправление gernalized или мне нужно написать несколько версий этого макроса?

0 ответов

Другие вопросы по тегам