mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-20 11:48:30 -06:00
Fix issues with loading and running init.py
This commit is contained in:
parent
65f18589da
commit
6ec9aa362b
@ -383,6 +383,20 @@ IF (WITH_PYTHON)
|
||||
IF (NOT PYTHONLIBS_FOUND)
|
||||
MESSAGE(SEND_ERROR "Python support enabled, but Python libraries not found.")
|
||||
ENDIF()
|
||||
|
||||
# Determine where to install the python libraries.
|
||||
EXECUTE_PROCESS(
|
||||
COMMAND ${PYTHON_EXECUTABLE} -c "import sysconfig; print sysconfig.get_path('platlib', vars = { 'platbase' : '${CMAKE_INSTALL_PREFIX}' } )"
|
||||
RESULT_VARIABLE PYTHON_SYSCONFIG_RESULT
|
||||
OUTPUT_VARIABLE PYTHON_SYSCONFIG_OUTPUT
|
||||
ERROR_VARIABLE PYTHON_SYSCONFIG_ERROR
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
ERROR_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
IF (PYTHON_SYSCONFIG_RESULT)
|
||||
MESSAGE(SEND_ERROR "Could not determine Python site-package directory:\n${PYTHON_SYSCONFIG_ERROR}")
|
||||
ENDIF()
|
||||
STRING(REPLACE ${CMAKE_INSTALL_PREFIX} ${CMAKE_BINARY_DIR} PYTHON_SYSCONFIG_BUILD ${PYTHON_SYSCONFIG_OUTPUT})
|
||||
ENDIF()
|
||||
|
||||
|
||||
|
@ -105,7 +105,7 @@ ENDIF()
|
||||
|
||||
IF (NOT(${DATADIR} STREQUAL "/usr/share") AND NOT(${DATADIR} STREQUAL "/usr/local/share"))
|
||||
FILE(APPEND ${ENV_FILE_OUT} ${XDG_TEXT})
|
||||
FILE(APPEND ${ENV_FILE_OUT} "XDG_DATA_DIRS=${DATADIR};{XDG_DATA_DIRS}" "${GNC_SYSTEM_XDG_DATA_DIRS}\n")
|
||||
FILE(APPEND ${ENV_FILE_OUT} "XDG_DATA_DIRS=${DATADIR};{XDG_DATA_DIRS};" "${GNC_SYSTEM_XDG_DATA_DIRS}\n")
|
||||
ENDIF()
|
||||
|
||||
FILE(APPEND ${BUILD_ENV_FILE_OUT} "GNC_DBD_DIR=${LIBDBI_DRIVERS_DIR}/dbd")
|
||||
@ -113,6 +113,19 @@ FILE(APPEND ${BUILD_ENV_FILE_OUT} "GNC_DBD_DIR=${LIBDBI_DRIVERS_DIR}/dbd")
|
||||
FILE(APPEND ${BUILD_ENV_FILE_OUT} ${XDG_TEXT})
|
||||
FILE(APPEND ${BUILD_ENV_FILE_OUT} "XDG_DATA_DIRS=${DATADIR_BUILD};{XDG_DATA_DIRS};" "${GNC_SYSTEM_XDG_DATA_DIRS}\n")
|
||||
|
||||
SET(PYTHON_TEXT "
|
||||
# Define PYTHONPATH for non default installation path.\n"
|
||||
)
|
||||
IF (NOT(${CMAKE_INSTALL_PREFIX} STREQUAL "/usr") AND NOT(${CMAKE_INSTALL_PREFIX} STREQUAL "/usr/local"))
|
||||
|
||||
FILE(APPEND ${ENV_FILE_OUT} ${PYTHON_TEXT})
|
||||
FILE(APPEND ${ENV_FILE_OUT} "PYTHONPATH=${PYTHON_SYSCONFIG_OUTPUT};{PYTHONPATH}")
|
||||
ENDIF()
|
||||
|
||||
FILE(APPEND ${BUILD_ENV_FILE_OUT} ${PYTHON_TEXT})
|
||||
FILE(APPEND ${BUILD_ENV_FILE_OUT} "PYTHONPATH=${PYTHON_SYSCONFIG_BUILD};{PYTHONPATH}")
|
||||
|
||||
|
||||
FILE(COPY ${BUILD_ENV_FILE_OUT}
|
||||
DESTINATION ${SYSCONFDIR_BUILD}/gnucash
|
||||
FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
|
||||
|
@ -80,35 +80,24 @@ IF(WITH_PYTHON)
|
||||
ADD_TEST(NAME sqlite3test COMMAND sqlite3test)
|
||||
ADD_DEPENDENCIES(check sqlite3test)
|
||||
|
||||
|
||||
# Determine where to install the python libraries.
|
||||
EXECUTE_PROCESS(
|
||||
COMMAND ${PYTHON_EXECUTABLE} -c "import sysconfig; print sysconfig.get_path('platlib', vars = { 'platbase' : '${CMAKE_INSTALL_PREFIX}' } )"
|
||||
RESULT_VARIABLE PYTHON_SYSCONFIG_RESULT
|
||||
OUTPUT_VARIABLE PYTHON_SYSCONFIG_OUTPUT
|
||||
ERROR_VARIABLE PYTHON_SYSCONFIG_ERROR
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
ERROR_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
IF (PYTHON_SYSCONFIG_RESULT)
|
||||
MESSAGE(SEND_ERROR "Could not determine Python site-package directory:\n${PYTHON_SYSCONFIG_ERROR}")
|
||||
ENDIF()
|
||||
|
||||
INSTALL(TARGETS gnucash_core_c
|
||||
LIBRARY DESTINATION ${PYTHON_SYSCONFIG_OUTPUT}/gnucash
|
||||
ARCHIVE DESTINATION ${PYTHON_SYSCONFIG_OUTPUT}/gnucash
|
||||
)
|
||||
INSTALL(FILES __init__.py function_class.py gnucash_business.py gnucash_core.py
|
||||
${CMAKE_CURRENT_BINARY_DIR}/gnucash_core_c.py
|
||||
INSTALL(FILES ${PYEXEC_FILES} ${CMAKE_CURRENT_BINARY_DIR}/gnucash_core_c.py
|
||||
DESTINATION ${PYTHON_SYSCONFIG_OUTPUT}/gnucash
|
||||
)
|
||||
|
||||
FILE(COPY ${PYEXEC_FILES} DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/gnucash)
|
||||
FILE(COPY ${PYEXEC_FILES} DESTINATION ${PYTHON_SYSCONFIG_BUILD}/gnucash)
|
||||
|
||||
ADD_CUSTOM_TARGET(gnucash-core-c-py ALL
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/gnucash_core_c.py ${CMAKE_CURRENT_BINARY_DIR}/gnucash
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/gnucash_core_c.py ${PYTHON_SYSCONFIG_BUILD}/gnucash
|
||||
DEPENDS ${SWIG_GNUCASH_CORE_C})
|
||||
|
||||
ADD_CUSTOM_TARGET(gnucash-core-c-build ALL
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/lib/gnucash/_gnucash_core_c${CMAKE_SHARED_LIBRARY_SUFFIX} ${PYTHON_SYSCONFIG_BUILD}/gnucash
|
||||
DEPENDS gnucash_core_c)
|
||||
|
||||
ENDIF()
|
||||
|
||||
SET(python_bindings_DATA ${PYEXEC_FILES}
|
||||
@ -118,4 +107,4 @@ SET(python_bindings_DATA ${PYEXEC_FILES}
|
||||
|
||||
SET_LOCAL_DIST(python_bindings_DIST_local CMakeLists.txt Makefile.am ${python_bindings_DATA})
|
||||
|
||||
SET(python_bindings_DIST ${python_bindings_DIST_local} ${test_python_bindings_DIST} ${example_scripts_DIST} PARENT_SCOPE)
|
||||
SET(python_bindings_DIST ${python_bindings_DIST_local} ${test_python_bindings_DIST} ${example_scripts_DIST} PARENT_SCOPE)
|
||||
|
@ -3,7 +3,7 @@ IF (WITH_PYTHON)
|
||||
ADD_TEST(python-bindings ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/runTests.py.in)
|
||||
SET_PROPERTY(TEST python-bindings PROPERTY ENVIRONMENT
|
||||
GNC_BUILDDIR=${CMAKE_BINARY_DIR}
|
||||
PYTHONPATH=${CMAKE_BINARY_DIR}/src/optional/python-bindings:${CMAKE_BINARY_DIR}/lib/gnucash:${CMAKE_BINARY_DIR}/src/test-core
|
||||
PYTHONPATH=${PYTHON_SYSCONFIG_BUILD}:${CMAKE_BINARY_DIR}/lib/gnucash:${CMAKE_BINARY_DIR}/src/test-core
|
||||
)
|
||||
ENDIF()
|
||||
|
||||
@ -15,4 +15,4 @@ SET(test_python_bindings_DATA
|
||||
test_split.py
|
||||
test_transaction.py)
|
||||
|
||||
SET_DIST_LIST(test_python_bindings_DIST CMakeLists.txt Makefile.am ${test_python_bindings_DATA})
|
||||
SET_DIST_LIST(test_python_bindings_DIST CMakeLists.txt Makefile.am ${test_python_bindings_DATA})
|
||||
|
@ -16,7 +16,11 @@ IF (WITH_PYTHON)
|
||||
RUNTIME DESTINATION bin
|
||||
)
|
||||
|
||||
INSTALL(FILES init.py DESTINATION share/python)
|
||||
INSTALL(DIRECTORY pycons DESTINATION share/gnucash/python)
|
||||
INSTALL(FILES init.py DESTINATION share/gnucash/python)
|
||||
|
||||
FILE(COPY init.py DESTINATION ${CMAKE_BINARY_DIR}/share/gnucash/python)
|
||||
FILE(COPY pycons DESTINATION ${CMAKE_BINARY_DIR}/share/gnucash/python)
|
||||
ENDIF(WITH_PYTHON)
|
||||
|
||||
SET_LOCAL_DIST(python_DIST_local CMakeLists.txt Makefile.am gncmod-python.c init.py)
|
||||
|
Loading…
Reference in New Issue
Block a user