From d830a29a9a88b0587a48b0ebfa7dafbfa24f35a3 Mon Sep 17 00:00:00 2001 From: Marcel Loose <loose@astron.nl> Date: Tue, 19 Jan 2010 09:01:38 +0000 Subject: [PATCH] Bug 1310: Make sure there's a __init__.py in each build directory *and* each install directory. --- CMake/FindPython.cmake | 2 +- CMake/PythonInstall.cmake | 21 ++++++++++++--------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/CMake/FindPython.cmake b/CMake/FindPython.cmake index 1b412143067..49f3230d9ea 100644 --- a/CMake/FindPython.cmake +++ b/CMake/FindPython.cmake @@ -46,7 +46,7 @@ find_package(PythonLibs ${_options}) if(NOT PYTHON_FOUND) if(PYTHON_EXECUTABLE) set(_cmd - "from distutils.sysconfig import *" + "from distutils.sysconfig import get_python_lib" "print get_python_lib(prefix='')") execute_process( COMMAND "${PYTHON_EXECUTABLE}" "-c" "${_cmd}" diff --git a/CMake/PythonInstall.cmake b/CMake/PythonInstall.cmake index a9b67415cd0..4f1dc0d2153 100644 --- a/CMake/PythonInstall.cmake +++ b/CMake/PythonInstall.cmake @@ -53,15 +53,6 @@ macro(python_install) set(_inst_dir "${PYTHON_INSTALL_DIR}/${_dest_dir}") set(_build_dir "${PYTHON_BUILD_DIR}/${_dest_dir}") - # Make sure that there's a __init__.py file in each directory - string(REGEX REPLACE "/" ";" _dir_list ${_dest_dir}) - set(_init_dir "${PYTHON_BUILD_DIR}") - foreach(_dir ${_dir_list}) - set(_init_dir "${_init_dir}/${_dir}") - execute_process(COMMAND - ${CMAKE_COMMAND} -E touch "${_init_dir}/__init__.py") - endforeach(_dir ${_dir_list}) - # Install and byte-compile each Python file. foreach(_py ${_py_files}) get_filename_component(_src_dir ${_py} ABSOLUTE) @@ -76,4 +67,16 @@ macro(python_install) "execute_process(COMMAND ${PYTHON_EXECUTABLE} -c \"${_py_code}\")") endforeach(_py ${_py_files}) + # Make sure that there's a __init__.py file in each build/install directory + string(REGEX REPLACE "/" ";" _dir_list ${_dest_dir}) + set(_init_dir) + foreach(_dir ${_dir_list}) + set(_init_dir "${_init_dir}/${_dir}") + execute_process(COMMAND ${CMAKE_COMMAND} -E touch + "${PYTHON_BUILD_DIR}${_init_dir}/__init__.py") + install(CODE + "execute_process(COMMAND ${CMAKE_COMMAND} -E touch + \"${PYTHON_INSTALL_DIR}${_init_dir}/__init__.py\")") + endforeach(_dir ${_dir_list}) + endmacro(python_install) -- GitLab