Как проверить CMAKE_SHARED_LINKER_FLAGS и CMAKE_MODULE_LINKER_FLAGS - PullRequest
0 голосов
/ 05 мая 2020

Я хотел бы написать МАКРОС, который проверяет флаги компоновщика и добавляет их к CMAKE_MODULE_LINKER_FLAGS и CMAKE_SHARED_LINKER_FLAGS, если они успешно могут связываться для этих двух целевых типов.

MACRO (MY_CHECK_MODULE_LINKER_FLAG flag)
  STRING(REGEX REPLACE "[-,= +]" "_" result "HAVE_MODULE_${flag}")
  SET(SAVE_CMAKE_REQUIRED_LINK_OPTIONS "${CMAKE_REQUIRED_LINK_OPTIONS}")
  SET(CMAKE_REQUIRED_LINK_OPTIONS ${CMAKE_REQUIRED_LINK_OPTIONS} ${flag})
  CHECK_CXX_SOURCE_COMPILES("int main(void) { return 0; }" ${result}
    ${fail_patterns})
  SET(CMAKE_REQUIRED_LINK_OPTIONS "${SAVE_CMAKE_REQUIRED_LINK_OPTIONS}")
ENDMACRO()

Пока это проверяет флаг компоновщика в CHECK_CXX_SOURCE_COMPILES, недостаточная проверка целевых типов MODULE / SHARED.

Является try_compile для всего проекта, инкапсулирующего add_library для MODULE / РАЗДЕЛИЛ путь до go?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...