FreeCAD

Форк
0
/
SetupCoin3D.cmake 
44 строки · 1.8 Кб
1
macro(SetupCoin3D)
2
    # -------------------------------- Coin3D --------------------------------
3

4
    if (WIN32 AND MINGW)
5
        find_path(COIN3D_INCLUDE_DIRS Inventor/So.h)
6
        find_library(COIN3D_LIBRARIES Coin)
7
    endif ()
8

9
    # Try MODULE mode
10
    find_package(Coin3D)
11
    if (NOT COIN3D_FOUND)
12
        # Try CONFIG mode
13
        find_package(Coin CONFIG REQUIRED)
14
        if (Coin_FOUND)
15
            set(COIN3D_INCLUDE_DIRS ${Coin_INCLUDE_DIR})
16
            set(COIN3D_LIBRARIES ${Coin_LIBRARIES})
17
        endif ()
18
    ENDIF ()
19

20
    IF (NOT COIN3D_VERSION)
21
        file(READ "${COIN3D_INCLUDE_DIRS}/Inventor/C/basic.h" _coin3d_basic_h)
22
        string(REGEX MATCH "define[ \t]+COIN_MAJOR_VERSION[ \t]+([0-9?])" _coin3d_major_version_match "${_coin3d_basic_h}")
23
        set(COIN3D_MAJOR_VERSION "${CMAKE_MATCH_1}")
24
        string(REGEX MATCH "define[ \t]+COIN_MINOR_VERSION[ \t]+([0-9?])" _coin3d_minor_version_match "${_coin3d_basic_h}")
25
        set(COIN3D_MINOR_VERSION "${CMAKE_MATCH_1}")
26
        string(REGEX MATCH "define[ \t]+COIN_MICRO_VERSION[ \t]+([0-9?])" _coin3d_micro_version_match "${_coin3d_basic_h}")
27
        set(COIN3D_MICRO_VERSION "${CMAKE_MATCH_1}")
28
        set(COIN3D_VERSION "${COIN3D_MAJOR_VERSION}.${COIN3D_MINOR_VERSION}.${COIN3D_MICRO_VERSION}")
29
    ENDIF ()
30

31
    IF (NOT PIVY_VERSION)
32
        message(STATUS "Checking Pivy version by importing it in a Python program...")
33
        execute_process(
34
                COMMAND ${Python3_EXECUTABLE} -c "import pivy as p; print(p.__version__,end='')"
35
                OUTPUT_VARIABLE PIVY_VERSION
36
                RESULT_VARIABLE RETURN_CODE)
37
        if (RETURN_CODE EQUAL 0)
38
            message(STATUS "Found Pivy ${PIVY_VERSION}")
39
        else ()
40
            message(ERROR "Failed to import Pivy using ${Python3_EXECUTABLE}")
41
        endif ()
42
    ENDIF ()
43

44
endmacro(SetupCoin3D)
45

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.