run setup.py after installing the gtsam_eigency module

release/4.3a0
Varun Agrawal 2020-06-29 21:37:07 -05:00
parent 806e5b12a3
commit 16532bff37
2 changed files with 18 additions and 14 deletions

View File

@ -44,10 +44,12 @@ 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")
# Add the new make target command # Adding custom function here so that gtsam_eigency is installed before
# the below execute_process runs.
install_gtsam_eigency(${PROJECT_BINARY_DIR}/cython/gtsam_eigency)
# Automatically run the python installation via the setup.py
install(CODE install(CODE
"execute_process(COMMAND ${PYTHON_EXECUTABLE} setup.py install "execute_process(COMMAND ${PYTHON_EXECUTABLE} setup.py install
WORKING_DIRECTORY ${GTSAM_CYTHON_INSTALL_FULLPATH})") WORKING_DIRECTORY ${GTSAM_CYTHON_INSTALL_FULLPATH})")
endif () endif ()

View File

@ -8,7 +8,7 @@ set(OUTPUT_DIR "${PROJECT_BINARY_DIR}/cython/gtsam_eigency")
set(EIGENCY_INCLUDE_DIR ${OUTPUT_DIR}) set(EIGENCY_INCLUDE_DIR ${OUTPUT_DIR})
# This is to make the build/cython/gtsam_eigency folder a python package # This is to make the build/cython/gtsam_eigency folder a python package
configure_file(__init__.py.in ${PROJECT_BINARY_DIR}/cython/gtsam_eigency/__init__.py) configure_file(__init__.py.in ${OUTPUT_DIR}/__init__.py)
# include eigency headers # include eigency headers
include_directories(${EIGENCY_INCLUDE_DIR}) include_directories(${EIGENCY_INCLUDE_DIR})
@ -38,12 +38,14 @@ add_custom_target(cythonize_eigency)
add_dependencies(cythonize_eigency cythonize_eigency_conversions cythonize_eigency_core) add_dependencies(cythonize_eigency cythonize_eigency_conversions cythonize_eigency_core)
# install # install
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} function(install_gtsam_eigency source_directory)
DESTINATION "${GTSAM_CYTHON_INSTALL_FULLPATH}" install(DIRECTORY ${source_directory}
PATTERN "CMakeLists.txt" EXCLUDE DESTINATION "${GTSAM_CYTHON_INSTALL_FULLPATH}"
PATTERN "__init__.py.in" EXCLUDE) PATTERN "CMakeLists.txt" EXCLUDE
install(TARGETS cythonize_eigency_core cythonize_eigency_conversions PATTERN "__init__.py.in" EXCLUDE)
DESTINATION "${GTSAM_CYTHON_INSTALL_FULLPATH}/gtsam_eigency") install(TARGETS cythonize_eigency_core cythonize_eigency_conversions
install(FILES ${OUTPUT_DIR}/conversions_api.h DESTINATION ${GTSAM_CYTHON_INSTALL_FULLPATH}/gtsam_eigency) DESTINATION "${GTSAM_CYTHON_INSTALL_FULLPATH}/gtsam_eigency")
configure_file(__init__.py.in ${OUTPUT_DIR}/__init__.py) install(FILES ${source_directory}/conversions_api.h DESTINATION ${GTSAM_CYTHON_INSTALL_FULLPATH}/gtsam_eigency)
install(FILES ${OUTPUT_DIR}/__init__.py DESTINATION ${GTSAM_CYTHON_INSTALL_FULLPATH}/gtsam_eigency) install(FILES ${source_directory}/__init__.py DESTINATION ${GTSAM_CYTHON_INSTALL_FULLPATH}/gtsam_eigency)
endfunction()