added comments and removed unnecessary code
parent
93a00a38a4
commit
ca46ebfda8
|
@ -280,16 +280,16 @@ function(install_cython_files source_files dest_directory)
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
function(install_python_package install_path)
|
function(install_python_package install_path)
|
||||||
#TODO this will only work for Linux. Need to make it work on macOS and Windows as well
|
# Select the correct install script based on the OS
|
||||||
#TODO Running `sudo make install` makes this run in admin space causing Python 2.7 to be picked up.
|
|
||||||
# # go to cython directory and run setup.py
|
|
||||||
# install(CODE "execute_process(COMMAND sh \"-c\" \"cd ${package_path} && python setup.py install\")")
|
|
||||||
if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
|
if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
|
||||||
set(PYTHON_INSTALL_SCRIPT "install.bat")
|
set(PYTHON_INSTALL_SCRIPT "install.bat")
|
||||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux" OR CMAKE_SYSTEM_NAME STREQUAL "Darwin")
|
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux" OR CMAKE_SYSTEM_NAME STREQUAL "Darwin")
|
||||||
set(PYTHON_INSTALL_SCRIPT "install.sh")
|
set(PYTHON_INSTALL_SCRIPT "install.sh")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# Configure the variables in the script
|
||||||
configure_file(${PROJECT_SOURCE_DIR}/cython/scripts/${PYTHON_INSTALL_SCRIPT} ${PROJECT_BINARY_DIR}/cython/scripts/${PYTHON_INSTALL_SCRIPT})
|
configure_file(${PROJECT_SOURCE_DIR}/cython/scripts/${PYTHON_INSTALL_SCRIPT} ${PROJECT_BINARY_DIR}/cython/scripts/${PYTHON_INSTALL_SCRIPT})
|
||||||
|
|
||||||
|
# Add the new make target command
|
||||||
add_custom_target(python-install "${PROJECT_BINARY_DIR}/cython/scripts/${PYTHON_INSTALL_SCRIPT}")
|
add_custom_target(python-install "${PROJECT_BINARY_DIR}/cython/scripts/${PYTHON_INSTALL_SCRIPT}")
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
|
@ -45,9 +45,6 @@ if (GTSAM_INSTALL_CYTHON_TOOLBOX)
|
||||||
install_cython_scripts("${PROJECT_SOURCE_DIR}/cython/gtsam" "${GTSAM_CYTHON_INSTALL_PATH}" "*.py")
|
install_cython_scripts("${PROJECT_SOURCE_DIR}/cython/gtsam" "${GTSAM_CYTHON_INSTALL_PATH}" "*.py")
|
||||||
install_cython_scripts("${PROJECT_SOURCE_DIR}/cython/gtsam_unstable" "${GTSAM_CYTHON_INSTALL_PATH}" "*.py")
|
install_cython_scripts("${PROJECT_SOURCE_DIR}/cython/gtsam_unstable" "${GTSAM_CYTHON_INSTALL_PATH}" "*.py")
|
||||||
|
|
||||||
# file(GLOB GTSAM_PYTHON_INSTALL_SCRIPTS "scripts/*")
|
|
||||||
# file(COPY ${GTSAM_PYTHON_INSTALL_SCRIPTS} DESTINATION ${PROJECT_BINARY_DIR}/cython/scripts)
|
|
||||||
|
|
||||||
install_python_package("${GTSAM_CYTHON_INSTALL_PATH}")
|
install_python_package("${GTSAM_CYTHON_INSTALL_PATH}")
|
||||||
|
|
||||||
endif ()
|
endif ()
|
||||||
|
|
|
@ -1,15 +1,22 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
|
# This script runs the installation flow for python wrapped GTSAM.
|
||||||
|
# It does so by first setting the correct ownership permissions on the package directory,
|
||||||
|
# and then running `python setup.py install` to install the wrapped package.
|
||||||
|
|
||||||
echo "Installing GTSAM Python Wrapper"
|
echo "Installing GTSAM Python Wrapper"
|
||||||
|
|
||||||
|
# Set the package path
|
||||||
PACKAGE_PATH=${GTSAM_CYTHON_INSTALL_PATH}${GTSAM_BUILD_TAG}
|
PACKAGE_PATH=${GTSAM_CYTHON_INSTALL_PATH}${GTSAM_BUILD_TAG}
|
||||||
|
|
||||||
|
# Check if package directory exists. If not, print warning and exit.
|
||||||
if [ ! -d "$PACKAGE_PATH" ]
|
if [ ! -d "$PACKAGE_PATH" ]
|
||||||
then
|
then
|
||||||
echo "Directory $PACKAGE_PATH DOES NOT exist. Please run 'make install' first.";
|
echo "Directory $PACKAGE_PATH DOES NOT exist. Please run 'make install' first.";
|
||||||
exit 1;
|
exit 1;
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# set cython directory permissions to user so we don't get permission denied
|
# Set cython directory permissions to user so we don't get permission denied
|
||||||
if [ "$(whoami)" != "root" ]
|
if [ "$(whoami)" != "root" ]
|
||||||
then
|
then
|
||||||
sudo chown -R $(logname) ${GTSAM_CYTHON_INSTALL_PATH}
|
sudo chown -R $(logname) ${GTSAM_CYTHON_INSTALL_PATH}
|
||||||
|
@ -17,5 +24,6 @@ else
|
||||||
chown -R $(logname) ${GTSAM_CYTHON_INSTALL_PATH}
|
chown -R $(logname) ${GTSAM_CYTHON_INSTALL_PATH}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Run setup.py install with full paths
|
||||||
echo "Running setup.py in $PACKAGE_PATH"
|
echo "Running setup.py in $PACKAGE_PATH"
|
||||||
${PYTHON_EXECUTABLE} $PACKAGE_PATH/setup.py install
|
${PYTHON_EXECUTABLE} $PACKAGE_PATH/setup.py install
|
||||||
|
|
Loading…
Reference in New Issue