Znajdowanie katalogu pakietów-pythona za pomocą CMake
Używam CMake do tworzenia aplikacji. Jak mogę znaleźć miejsce, w którym znajduje się katalog pakietów witryny Pythona? Potrzebuję ścieżki, aby skompilować rozszerzenie do Pythona.
CMake musi być w stanie znaleźć ścieżkę do wszystkich trzech głównych systemów operacyjnych, ponieważ planuję wdrożyć moją aplikację na systemach Linux, Mac i Windows.
Próbowałem użyć
include(FindPythonLibs)
find_path( PYTHON_SITE_PACKAGES site-packages ${PYTHON_INCLUDE_PATH}/.. )
jednak to nie działa.
Mogę również uzyskać ścieżkę, uruchamiając
python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"
na powłoce, ale jak mam to wywołać z CMake?
ROZWIĄZANIE:
Dzięki, Alex. Zatem polecenie, które daje mi katalog pakietu-strony, to:
execute_process ( COMMAND python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()" OUTPUT_VARIABLE PYTHON_SITE_PACKAGES OUTPUT_STRIP_TRAILING_WHITESPACE)
Polecenie OUTPUT_STRIP_TRAILING_WHITESPACE jest potrzebne do usunięcia końcowego nowego wiersza.