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