私はCMakeを使用してアプリケーションを構築しています。python site-packagesディレクトリがどこにあるかを見つけるにはどうすればよいですか?Pythonの拡張機能をコンパイルするためのパスが必要です。
Linux、Mac、Windowsにアプリケーションをデプロイする予定なので、CMakeは3つの主要なOSすべてでパスを見つけることができなければなりません。
使ってみました
include(FindPythonLibs)
find_path( PYTHON_SITE_PACKAGES site-packages ${PYTHON_INCLUDE_PATH}/.. )
ただし、それは機能しません。
を実行してパスを取得することもできます
python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"
シェル上ですが、CMakeからどのように呼び出すのですか?
解決:
ありがとう、アレックス。したがって、site-packagedirを取得するコマンドは次のとおりです。
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)
末尾の改行を削除するには、OUTPUT_STRIP_TRAILING_WHITESPACEコマンドが必要です。