2014-09-24 27 views
10

czy można wywołać funkcję CMake z add_custom_target lub add_custom_command? Wiem, że mogłem przenieść funkcję CMake do skryptu Python (lub czegoś podobnego) i wywołać ją z add_custom_target/command, ale chciałbym uniknąć mnóstwa skryptu obok istniejącego infra CMake.Jak wywołać funkcję CMake z add_custom_target/command?

Co chcę osiągnąć, to użyć CPack do wygenerowania pakietu zip binarnych artefaktów i opublikować je w repozytorium artefaktów. W przypadku części wydawniczej mam już utworzoną funkcję CMake, ale teraz muszę połączyć opakowanie i publikację razem.

Dzięki za wszelką pomoc/wskazówki z góry.

Martin

Odpowiedz

17

I napotkał ten problem podczas pisania CUpewnij systemu budowania BVLC/Caffe. Co ja w końcu zrobił to kładę treść funkcji w osobnym skrypcie CMake i nazwał go od wewnątrz add_custom_target powołując:

add_custom_target(target_name 
    COMMAND ${CMAKE_COMMAND} -P path_to_script 
) 

Wywoływanie CMake z -P flag sprawia, że ​​działają jako języka skryptowego. Możesz umieścić dowolne funkcje CMake w skrypcie.

+0

Tak, tego właśnie szukałem. Jak ślepy mógłbym być ... Dzięki człowieku. –

+0

Dzięki Adamowi - to jest przydatne –

+7

To okropne, że nie można wywoływać poleceń cmake takich jak PLIK bezpośrednio z poziomu polecenia add_custom_command – xaxxon

Powiązane problemy