cmake: как найти двоичный файл внутри пакета приложений на macos? - PullRequest
0 голосов
/ 11 июля 2020

Текущая ситуация

Чтобы найти двоичный файл foo, я использую следующий код cmake:

find_program(
    FOO
    NAMES foo
    HINTS /Applications/foo-company/foo-subdir/foo/foo.app
    PATH_SUFFIXES Contents/MacOS/bin
)

Пока это работает, но скорее уродливо.

Желаемая ситуация

Я хочу, чтобы cmake на самом деле искал меня вместо того, чтобы мне приходилось направлять свой нос прямо на него.

То, что я пробовал до сих пор

Казалось, что find_package может сработать, но следующий код ничего не нашел:

  • find_package(
        FOO
        NAMES foo
    )
    
  • find_package(
        FOO
        NAMES foo
        HINTS /Applications/foo-company/foo-subdir
    )
    
  • find_package(
        FOO
        NAMES foo
        HINTS /Applications/foo-company/foo-subdir/foo
    )
    

Обновление 1, 2020-07-12 18:00

  • Исправлено find_program на find_package в «Что я пробовал до сих пор».
  • Я не упоминал это явно, но, используя find_package, я надеялся найти приложение bundle, а затем укажите в нем нужную мне программу.
  • find_package не работает по причинам, которые объясняет Squareskittles: для этого мне понадобится файл Find<PackageName>.cmake или <PackageName>Config.cmake.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...