@@ -35,43 +35,45 @@ endmacro(SetupCoin3D)
3535macro (SetupPivy )
3636 # -------------------------------- Pivy --------------------------------
3737
38- IF (NOT PIVY_VERSION)
39- message (STATUS "Checking Pivy version by importing it in a Python program..." )
38+ IF (FREECAD_CHECK_PIVY) # do not make pivy a host dependency for cross compiling
39+ IF (NOT PIVY_VERSION)
40+ message (STATUS "Checking Pivy version by importing it in a Python program..." )
41+ execute_process (
42+ COMMAND ${Python3_EXECUTABLE} -c "import pivy as p; print(p.__version__,end='')"
43+ OUTPUT_VARIABLE PIVY_VERSION
44+ RESULT_VARIABLE RETURN_CODE )
45+ if (RETURN_CODE EQUAL 0)
46+ message (STATUS "Found Pivy ${PIVY_VERSION} " )
47+ else ()
48+ message (ERROR "Failed to import Pivy using ${Python3_EXECUTABLE} " )
49+ endif ()
50+ ENDIF ()
51+
52+ message (STATUS "Checking Pivy Coin3D version by importing it in a Python program..." )
4053 execute_process (
41- COMMAND ${Python3_EXECUTABLE} -c "import pivy as p; print(p.__version__ ,end='')"
42- OUTPUT_VARIABLE PIVY_VERSION
54+ COMMAND ${Python3_EXECUTABLE} -c "import pivy as p; print(p.SoDB.getVersion() ,end='')"
55+ OUTPUT_VARIABLE PIVY_COIN_VERSION
4356 RESULT_VARIABLE RETURN_CODE )
4457 if (RETURN_CODE EQUAL 0)
45- message (STATUS "Found Pivy ${PIVY_VERSION } " )
58+ message (STATUS "Found Pivy Coin3D ${PIVY_COIN_VERSION } " )
4659 else ()
47- message (ERROR "Failed to import Pivy using ${Python3_EXECUTABLE} " )
60+ message (ERROR "Failed to get Pivy Coin3D version using ${Python3_EXECUTABLE} " )
4861 endif ()
49- ENDIF ()
50-
51- message (STATUS "Checking Pivy Coin3D version by importing it in a Python program..." )
52- execute_process (
53- COMMAND ${Python3_EXECUTABLE} -c "import pivy as p; print(p.SoDB.getVersion(),end='')"
54- OUTPUT_VARIABLE PIVY_COIN_VERSION
55- RESULT_VARIABLE RETURN_CODE )
56- if (RETURN_CODE EQUAL 0)
57- message (STATUS "Found Pivy Coin3D ${PIVY_COIN_VERSION} " )
58- else ()
59- message (ERROR "Failed to get Pivy Coin3D version using ${Python3_EXECUTABLE} " )
60- endif ()
6162
62- if (${PIVY_COIN_VERSION} MATCHES "([0-9]+)\\ .([0-9]+)\\ .([0-9]+)" )
63- set (PIVY_COIN_MAJOR_VERSION ${CMAKE_MATCH_1} )
64- set (PIVY_COIN_MINOR_VERSION ${CMAKE_MATCH_2} )
65- set (PIVY_COIN_MICRO_VERSION ${CMAKE_MATCH_3} )
66- set (PIVY_COIN_VERSION "${PIVY_COIN_MAJOR_VERSION} .${PIVY_COIN_MINOR_VERSION} .${PIVY_COIN_MICRO_VERSION} " )
67- else ()
68- message (FATAL_ERROR "Failed to match Pivy Coin3D version string output" )
69- endif ()
63+ if (${PIVY_COIN_VERSION} MATCHES "([0-9]+)\\ .([0-9]+)\\ .([0-9]+)" )
64+ set (PIVY_COIN_MAJOR_VERSION ${CMAKE_MATCH_1} )
65+ set (PIVY_COIN_MINOR_VERSION ${CMAKE_MATCH_2} )
66+ set (PIVY_COIN_MICRO_VERSION ${CMAKE_MATCH_3} )
67+ set (PIVY_COIN_VERSION "${PIVY_COIN_MAJOR_VERSION} .${PIVY_COIN_MINOR_VERSION} .${PIVY_COIN_MICRO_VERSION} " )
68+ else ()
69+ message (FATAL_ERROR "Failed to match Pivy Coin3D version string output" )
70+ endif ()
7071
71- if (NOT (
72- (${COIN3D_MAJOR_VERSION} EQUAL ${PIVY_COIN_MAJOR_VERSION} ) AND
73- (${COIN3D_MINOR_VERSION} EQUAL ${PIVY_COIN_MINOR_VERSION} ) AND
74- (${COIN3D_MICRO_VERSION} EQUAL ${PIVY_COIN_MICRO_VERSION} )))
75- message (FATAL_ERROR "Coin3D version ${COIN3D_VERSION} mismatches Pivy Coin3D ${PIVY_COIN_VERSION} ." )
76- endif ()
72+ if (NOT (
73+ (${COIN3D_MAJOR_VERSION} EQUAL ${PIVY_COIN_MAJOR_VERSION} ) AND
74+ (${COIN3D_MINOR_VERSION} EQUAL ${PIVY_COIN_MINOR_VERSION} ) AND
75+ (${COIN3D_MICRO_VERSION} EQUAL ${PIVY_COIN_MICRO_VERSION} )))
76+ message (FATAL_ERROR "Coin3D version ${COIN3D_VERSION} mismatches Pivy Coin3D ${PIVY_COIN_VERSION} ." )
77+ endif ()
78+ endif (FREECAD_CHECK_PIVY )
7779endmacro (SetupPivy )
0 commit comments