From c78683ee15cff8152a3554b3c55efcc6494d2419 Mon Sep 17 00:00:00 2001 From: Julien Malik <julien.malik@c-s.fr> Date: Wed, 12 Oct 2011 18:58:35 +0200 Subject: [PATCH] ENH: install python wrappers --- CMake/PythonCompile.py | 4 ++++ CMakeLists.txt | 8 +++++--- Code/Wrappers/SWIG/CMakeLists.txt | 16 ++++++++++++++++ 3 files changed, 25 insertions(+), 3 deletions(-) create mode 100644 CMake/PythonCompile.py diff --git a/CMake/PythonCompile.py b/CMake/PythonCompile.py new file mode 100644 index 0000000000..af859a2237 --- /dev/null +++ b/CMake/PythonCompile.py @@ -0,0 +1,4 @@ +# By Simon Edwards <simon@simonzone.com> +# This file is in the public domain. +import py_compile +py_compile.main() diff --git a/CMakeLists.txt b/CMakeLists.txt index 0aae03b727..df1e42ec3f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -156,6 +156,10 @@ IF(NOT OTB_INSTALL_APP_DIR) SET(OTB_INSTALL_APP_DIR "/lib/otb/applications") ENDIF(NOT OTB_INSTALL_APP_DIR) +IF(NOT OTB_INSTALL_PYTHON_DIR) + SET(OTB_INSTALL_PYTHON_DIR "/lib/otb/python") +ENDIF(NOT OTB_INSTALL_PYTHON_DIR) + IF(NOT OTB_INSTALL_LIB_DIR) SET(OTB_INSTALL_LIB_DIR "/lib/otb") ENDIF(NOT OTB_INSTALL_LIB_DIR) @@ -205,9 +209,7 @@ STRING(REGEX REPLACE "^/" "" OTB_INSTALL_APP_DIR_CM24 "${OTB_INSTALL_APP_DIR}") STRING(REGEX REPLACE "^/" "" OTB_INSTALL_BIN_DIR_CM24 "${OTB_INSTALL_BIN_DIR}") STRING(REGEX REPLACE "^/" "" OTB_INSTALL_INCLUDE_DIR_CM24 "${OTB_INSTALL_INCLUDE_DIR}") STRING(REGEX REPLACE "^/" "" OTB_INSTALL_PACKAGE_DIR_CM24 "${OTB_INSTALL_PACKAGE_DIR}") -STRING(REGEX REPLACE "^/" "" OTB_INSTALL_DOXYGEN_DIR_CM24 "${OTB_INSTALL_DOXYGEN_DIR}") -STRING(REGEX REPLACE "^/" "" OTB_INSTALL_TCL_DIR_CM24 "${OTB_INSTALL_TCL_DIR}") -STRING(REGEX REPLACE "^/" "" OTB_INSTALL_JAVA_DIR_CM24 "${OTB_INSTALL_JAVA_DIR}") +STRING(REGEX REPLACE "^/" "" OTB_INSTALL_PYTHON_DIR_CM24 "${OTB_INSTALL_PYTHON_DIR}") INCLUDE(PreventInstallOnBuildTree) diff --git a/Code/Wrappers/SWIG/CMakeLists.txt b/Code/Wrappers/SWIG/CMakeLists.txt index 3cf717b707..32373e3bd2 100644 --- a/Code/Wrappers/SWIG/CMakeLists.txt +++ b/Code/Wrappers/SWIG/CMakeLists.txt @@ -68,6 +68,22 @@ if ( WRAP_PYTHON ) SWIG_link_libraries ( otbApplication ${PYTHON_LIBRARIES} OTBApplicationEngine) set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/otbApplicationPYTHON_wrap.cxx COMPILE_FLAGS "-w") + # byte-compile the resulting python file + add_custom_command( + TARGET _otbApplication + POST_BUILD + COMMAND ${CMAKE_COMMAND} -E echo "Byte-compiling otbApplication.py" + COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/CMake/PythonCompile.py otbApplication.py + DEPENDS _otbApplication + ) + + install( TARGETS _otbApplication + DESTINATION ${OTB_INSTALL_PYTHON_DIR_CM24} ) + + install( FILES ${CMAKE_CURRENT_BINARY_DIR}/otbApplication.py + ${CMAKE_CURRENT_BINARY_DIR}/otbApplication.pyc + DESTINATION ${OTB_INSTALL_PYTHON_DIR_CM24} ) + endif() # -- GitLab