Previous versions did not include pybind11, but the error message from that failure is not terribly informative. This way the exact means of fixing the problem is provided in the message.
49 lines
2.2 KiB
CMake
49 lines
2.2 KiB
CMake
set(ENV{PATH} "${FREECAD_LIBPACK_DIR};$ENV{PATH}")
|
|
list(PREPEND CMAKE_PREFIX_PATH "${FREECAD_LIBPACK_DIR}")
|
|
|
|
set (Python3_EXECUTABLE ${FREECAD_LIBPACK_DIR}/bin/python.exe)
|
|
find_package(Python3 COMPONENTS Interpreter Development REQUIRED)
|
|
|
|
# Make sure we are using the shared versions of Boost here: the LibPack includes both
|
|
set(Boost_USE_STATIC_LIBS OFF)
|
|
find_package(Boost COMPONENTS filesystem program_options regex system thread date_time REQUIRED PATHS ${FREECAD_LIBPACK_DIR}/lib/cmake NO_DEFAULT_PATH)
|
|
|
|
set(OCE_DIR ${FREECAD_LIBPACK_DIR}/lib/cmake CACHE PATH "" FORCE)
|
|
|
|
set(SWIG_EXECUTABLE ${FREECAD_LIBPACK_DIR}/bin/swig.exe CACHE FILEPATH "Swig" FORCE)
|
|
|
|
find_package(Qt6 REQUIRED PATHS ${FREECAD_LIBPACK_DIR}/lib/cmake NO_DEFAULT_PATH)
|
|
message(STATUS "Found LibPack 3 Qt ${Qt6_VERSION}")
|
|
|
|
if(FREECAD_LIBPACK_VERSION VERSION_GREATER_EQUAL "3.1.0")
|
|
find_package(pybind11 REQUIRED PATHS ${FREECAD_LIBPACK_DIR}/share/cmake/pybind11 NO_DEFAULT_PATH)
|
|
message(STATUS "Found LibPack 3 pybind11 ${pybind11_VERSION}")
|
|
set(FREECAD_USE_PYBIND11 ON)
|
|
else()
|
|
# We have completely removed support for boost-python and require pybind11, which requires LibPack 3.1 or later
|
|
message(FATAL_ERROR "FreeCAD now requires LibPack 3.1.0 or newer (you are using ${FREECAD_LIBPACK_VERSION}): please upgrade your LibPack")
|
|
endif()
|
|
|
|
find_package(XercesC REQUIRED PATHS ${FREECAD_LIBPACK_DIR}/cmake NO_DEFAULT_PATH)
|
|
message(STATUS "Found LibPack 3 XercesC ${XercesC_VERSION}")
|
|
|
|
find_package(yaml-cpp REQUIRED PATHS ${FREECAD_LIBPACK_DIR}/lib/cmake NO_DEFAULT_PATH)
|
|
message(STATUS "Found LibPack 3 yaml-cpp ${yaml-cpp_VERSION}")
|
|
|
|
find_package(Coin REQUIRED PATHS ${FREECAD_LIBPACK_DIR}/lib/cmake NO_DEFAULT_PATH)
|
|
|
|
message(STATUS "Found LibPack 3 Coin ${Coin_VERSION}")
|
|
# For compatibility with the rest of the cMake scripts:
|
|
set (COIN3D_FOUND TRUE)
|
|
|
|
set (NETGENDATA ${FREECAD_LIBPACK_DIR}/include/netgen)
|
|
|
|
if (FREECAD_USE_FREETYPE)
|
|
find_package(freetype REQUIRED PATHS ${FREECAD_LIBPACK_DIR}/lib/cmake NO_DEFAULT_PATH)
|
|
message(STATUS "Found LibPack 3 Freetype ${freetype_VERSION} library from ${freetype_LIBRARY}")
|
|
endif (FREECAD_USE_FREETYPE)
|
|
|
|
set (HDF5_DIR ${FREECAD_LIBPACK_DIR}/share/cmake)
|
|
|
|
link_directories (${FREECAD_LIBPACK_DIR}/lib)
|