Print all python-related dependency warnings at the end of cmake output with all the other warnings. Don't automatically toggle GTSAM_BUILD_PYTHON option to OFF - this is more consistent with how other options are handled.
parent
eb5d026a4a
commit
4c44ddc4e6
|
@ -355,7 +355,6 @@ if (GTSAM_BUILD_PYTHON)
|
|||
# comments on the next lines
|
||||
|
||||
# wrap_and_install_python(gtsampy.h "${GTSAM_ADDITIONAL_LIBRARIES}" "")
|
||||
|
||||
add_subdirectory(python)
|
||||
|
||||
endif()
|
||||
|
@ -478,7 +477,12 @@ print_config_flag(${GTSAM_INSTALL_MATLAB_TOOLBOX} "Install matlab toolbox
|
|||
print_config_flag(${GTSAM_BUILD_WRAP} "Build Wrap ")
|
||||
|
||||
message(STATUS "Python module flags ")
|
||||
print_config_flag(${GTSAM_BUILD_PYTHON} "Build python module ")
|
||||
|
||||
if(GTSAM_PYTHON_WARNINGS)
|
||||
message(STATUS " Build python module : No - dependencies missing")
|
||||
else()
|
||||
print_config_flag(${GTSAM_BUILD_PYTHON} "Build python module ")
|
||||
endif()
|
||||
if(GTSAM_BUILD_PYTHON)
|
||||
message(STATUS " Python version : ${GTSAM_PYTHON_VERSION}")
|
||||
endif()
|
||||
|
@ -494,6 +498,9 @@ endif()
|
|||
if(GTSAM_WITH_EIGEN_MKL_OPENMP AND NOT OPENMP_FOUND AND MKL_FOUND)
|
||||
message(WARNING "Your compiler does not support OpenMP - this is ok, but performance may be improved with OpenMP. Set GTSAM_WITH_EIGEN_MKL_OPENMP to 'Off' to avoid this warning.")
|
||||
endif()
|
||||
if(GTSAM_BUILD_PYTHON AND GTSAM_PYTHON_WARNINGS)
|
||||
message(WARNING "${GTSAM_PYTHON_WARNINGS}")
|
||||
endif()
|
||||
|
||||
# Include CPack *after* all flags
|
||||
include(CPack)
|
||||
|
|
|
@ -31,9 +31,6 @@ endif()
|
|||
|
||||
# Find NumPy C-API -- this is part of the numpy package
|
||||
find_package(NumPy)
|
||||
if(NUMPY_FOUND)
|
||||
include_directories(${NUMPY_INCLUDE_DIRS})
|
||||
endif()
|
||||
|
||||
# Find Python
|
||||
# First, be sure that python version can be found by FindPythonLibs.cmake
|
||||
|
@ -52,6 +49,9 @@ find_package(Boost COMPONENTS python${BOOST_PYTHON_VERSION_SUFFIX})
|
|||
|
||||
# Build python module library and setup the module inside build
|
||||
if(Boost_PYTHON${BOOST_PYTHON_VERSION_SUFFIX_UPPERCASE}_FOUND AND PYTHONLIBS_FOUND AND NUMPY_FOUND)
|
||||
|
||||
include_directories(${NUMPY_INCLUDE_DIRS})
|
||||
|
||||
include_directories(${PYTHON_INCLUDE_DIRS})
|
||||
include_directories(${Boost_INCLUDE_DIRS})
|
||||
include_directories(${CMAKE_SOURCE_DIR}/gtsam/3rdparty/numpy_eigen/include/)
|
||||
|
@ -74,28 +74,33 @@ if(Boost_PYTHON${BOOST_PYTHON_VERSION_SUFFIX_UPPERCASE}_FOUND AND PYTHONLIBS_FOU
|
|||
add_dependencies(gtsam_python copy_${PY_SRC_TARGET_SUFFIX})
|
||||
endforeach()
|
||||
|
||||
# Disable python module if we didn't find required lybraries
|
||||
# Disable python module if we didn't find required libraries
|
||||
else()
|
||||
set(GTSAM_BUILD_PYTHON OFF CACHE BOOL "Build Python wrapper statically (increases build time)" FORCE)
|
||||
endif()
|
||||
|
||||
# Print warnings (useful for ccmake)
|
||||
if(NOT NUMPY_FOUND)
|
||||
message(WARNING "Numpy not found -- Python module cannot be built.")
|
||||
endif()
|
||||
|
||||
if(NOT PYTHONLIBS_FOUND)
|
||||
if(GTSAM_PYTHON_VERSION STREQUAL "Default")
|
||||
message(WARNING "Default PythonLibs was not found -- Python module cannot be built. Option GTSAM_BUILD_PYTHON disabled.")
|
||||
else()
|
||||
message(WARNING "PythonLibs version ${GTSAM_PYTHON_VERSION} was not found -- Python module cannot be built. Option GTSAM_BUILD_PYTHON disabled.")
|
||||
# message will print at end of main CMakeLists.txt
|
||||
SET(GTSAM_PYTHON_WARNINGS "Python dependencies not found - Python module will not be built. Set GTSAM_BUILD_PYTHON to 'Off' to disable this warning. Details:")
|
||||
|
||||
if(NOT PYTHONLIBS_FOUND)
|
||||
if(GTSAM_PYTHON_VERSION STREQUAL "Default")
|
||||
SET(GTSAM_PYTHON_WARNINGS "${GTSAM_PYTHON_WARNINGS}\n -- Default PythonLibs not found")
|
||||
else()
|
||||
SET(GTSAM_PYTHON_WARNINGS "${GTSAM_PYTHON_WARNINGS}\n -- PythonLibs version ${GTSAM_PYTHON_VERSION} not found")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(NOT Boost_PYTHON${BOOST_PYTHON_VERSION_SUFFIX_UPPERCASE}_FOUND)
|
||||
if(GTSAM_PYTHON_VERSION STREQUAL "Default")
|
||||
message(WARNING "Default Boost python was not found -- Python module cannot be built. Option GTSAM_BUILD_PYTHON disabled.")
|
||||
else()
|
||||
message(WARNING "Boost Python for python ${GTSAM_PYTHON_VERSION} was not found -- Python module cannot be built. Option GTSAM_BUILD_PYTHON disabled.")
|
||||
|
||||
if(NOT NUMPY_FOUND)
|
||||
SET(GTSAM_PYTHON_WARNINGS "${GTSAM_PYTHON_WARNINGS}\n -- Numpy not found")
|
||||
endif()
|
||||
|
||||
if(NOT Boost_PYTHON${BOOST_PYTHON_VERSION_SUFFIX_UPPERCASE}_FOUND)
|
||||
if(GTSAM_PYTHON_VERSION STREQUAL "Default")
|
||||
SET(GTSAM_PYTHON_WARNINGS "${GTSAM_PYTHON_WARNINGS}\n -- Default Boost python not found")
|
||||
else()
|
||||
SET(GTSAM_PYTHON_WARNINGS "${GTSAM_PYTHON_WARNINGS}\n -- Boost Python for python ${GTSAM_PYTHON_VERSION} not found")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# make available at top-level
|
||||
SET(GTSAM_PYTHON_WARNINGS ${GTSAM_PYTHON_WARNINGS} PARENT_SCOPE)
|
||||
|
||||
endif()
|
||||
|
|
Loading…
Reference in New Issue