FreeCAD

Форк
0
/
PrintFinalReport.cmake 
186 строк · 6.9 Кб
1
macro(PrintFinalReport)
2

3
    # name and value
4
    macro(simple)
5
        set(name ${ARGV0})
6
        set(value ${ARGV1})
7
        if(NOT value)
8
            set(value "-undefined-")
9
        endif()
10
        string(APPEND name ":                           ")
11
        string(SUBSTRING ${name} 0 28 nameStr)
12
        list(APPEND simpleLines "${nameStr} ${value}")
13
    endmacro()
14

15
    # just a value
16
    macro(value)
17
    unset(val)
18
        set(name ${ARGV0})
19
        if(${name})
20
            set(val ${${name}}) # name has a value
21
        elseif(DEFINED ${name})
22
            set(val "OFF ") #!
23
        endif()
24
        simple(${name} ${val})
25
    endmacro()
26

27
    # conditional data
28
    macro(conditional)
29
        set(name ${ARGV0})
30
        set(condition ${ARGV1})
31
        set(ifFalse ${ARGV2})
32
        set(ifTrue ${ARGV3})
33
        if(${condition})
34
            set(out ${ifTrue})
35
        else()
36
            set(out ${ifFalse})
37
        endif()
38
        simple(${name} ${out})
39
    endmacro()
40

41
    function(section_begin name)
42
        unset(simpleLines PARENT_SCOPE)
43
        message("\n   ==============\n"
44
                "     ${name}\n"
45
                "   ==============\n")
46
    endfunction()
47

48
    function(section_end)
49
        list(SORT simpleLines CASE INSENSITIVE)
50
        foreach(line ${simpleLines})
51
            message(STATUS ${line})
52
        endforeach()
53
    endfunction()
54

55
    ############## System ####################
56

57
    section_begin(System)
58

59
    simple(Compiler "${CMAKE_CXX_COMPILER} (${CMAKE_CXX_COMPILER_VERSION})")
60
    value(CMAKE_VERSION)
61
    simple(prefix ${CMAKE_INSTALL_PREFIX})
62
    simple(bindir ${CMAKE_INSTALL_BINDIR})
63
    simple(datadir ${CMAKE_INSTALL_DATADIR})
64
    simple(docdir ${CMAKE_INSTALL_DOCDIR})
65
    simple(includedir ${CMAKE_INSTALL_INCLUDEDIR})
66
    simple(libdir ${CMAKE_INSTALL_LIBDIR})
67
    simple(Python "${Python3_VERSION} [${PYTHON_EXECUTABLE}] Suffix: [${PYTHON_CONFIG_SUFFIX}]")
68
    value(BLAS)
69

70
    section_end()
71

72
    ############## Config ####################
73

74
    section_begin(Config)
75

76
    value(CMAKE_CXX_STANDARD)
77
    value(CMAKE_CXX_FLAGS)
78
    value(CMAKE_BUILD_TYPE)
79
    value(ENABLE_DEVELOPER_TESTS)
80
    value(FREECAD_USE_FREETYPE)
81
    value(FREECAD_USE_EXTERNAL_SMESH)
82
    value(BUILD_SMESH)
83
    value(BUILD_VR)
84
    value(CMAKE_PREFIX_PATH)
85
    value(FREECAD_QT_VERSION)
86
    value(PYTHON_EXECUTABLE)
87
    value(PYTHON_LIBRARY)
88
    value(FREECAD_CREATE_MAC_APP)
89
    value(FREECAD_USE_PYBIND11)
90
    value(FREECAD_USE_EXTERNAL_KDL)
91
    value(BUILD_FEM)
92
    value(BUILD_WEB)
93
    value(BUILD_GUI)
94
    value(BUILD_START)
95
    value(BUILD_TECHDRAW)
96
    value(CMAKE_INSTALL_PREFIX)
97
    value(USE_CUDA)
98
    value(USE_OPENCV)
99
    value(FREECAD_LIBPACK_USE)
100

101
    section_end()
102

103
    ################ Libraries ##################
104

105
    section_begin(Libraries)
106

107
    # Qt5 needs/sets PYTHON_CONFIG_SUFFIX regarding Shiboken
108
    conditional(pybind11 pybind11_FOUND "not enabled" ${pybind11_VERSION})
109
    simple(Boost ${Boost_VERSION})
110
    simple(XercesC "${XercesC_VERSION} [${XercesC_LIBRARIES}] [${XercesC_INCLUDE_DIRS}]")
111
    simple(ZLIB "${ZLIB_VERSION_STRING}")
112
    simple(OCC "${OCC_VERSION_STRING} [${OCC_LIBRARY_DIR}] [${OCC_INCLUDE_DIR}]")
113
    simple(OCC_Libs "[${OCC_LIBRARIES}]")
114
    if(BUILD_SMESH)
115
        if(FREECAD_USE_EXTERNAL_SMESH)
116
            simple(SMESH "${SMESH_VERSION_MAJOR}.${SMESH_VERSION_MINOR}.${SMESH_VERSION_PATCH}.${SMESH_VERSION_TWEAK}")
117
        else()
118
            simple(SMESH "${SMESH_VERSION_MAJOR}.${SMESH_VERSION_MINOR}.${SMESH_VERSION_PATCH}.${SMESH_VERSION_TWEAK} build internal")
119
            simple(MEDFile "${MEDFILE_VERSION} [${MEDFILE_LIBRARIES}] [${MEDFILE_INCLUDE_DIRS}]")
120
            simple(HDF5 ${HDF5_VERSION})
121
            simple(VTK ${VTK_VERSION})
122
        endif()
123
    else()
124
        simple(SMESH "do not build")
125
    endif()
126
    conditional(NETGEN NETGEN_FOUND
127
                "not enabled"
128
                "${NETGEN_VERSION_MAJOR}.${NETGEN_VERSION_MINOR}.${NETGEN_VERSION_PATCH} (${NETGEN_VERSION}) [${NETGEN_DEFINITIONS}] [${NETGEN_CXX_FLAGS}] [${NGLIB_INCLUDE_DIR}] [${NGLIB_LIBRARIES}] [${NETGEN_INCLUDE_DIRS}]"
129
    )
130
    #simple(OpenCV ${OpenCV_VERSION})
131
    conditional(SWIG SWIG_FOUND "not found" ${SWIG_VERSION})
132
    conditional(Eigen3 EIGEN3_FOUND "not found" ${EIGEN3_VERSION})
133
    conditional(QtConcurrent BUILD_GUI "not needed" ${QtConcurrent_VERSION})
134
    simple(QtCore ${QtCore_VERSION})
135
    simple(QtNetwork ${QtNetwork_VERSION})
136
    conditional(QtOpenGL BUILD_GUI "not needed" ${QtOpenGL_VERSION})
137
    conditional(QtPrintSupport BUILD_GUI "not needed" ${QtPrintSupport_VERSION})
138
    conditional(QtSvg BUILD_GUI "not needed" ${QtSvg_VERSION})
139
    conditional(QtUiTools BUILD_GUI "not needed" ${QtUiTools_VERSION})
140
    conditional(QtWidgets BUILD_GUI "not needed" ${QtWidgets_VERSION})
141
    simple(QtXml ${QtXml_VERSION})
142
    conditional(QtTest ENABLE_DEVELOPER_TESTS "not needed" ${QtTest_VERSION})
143
    if (BUILD_GUI)
144
        conditional(QtWebEngineWidgets BUILD_WEB "not needed (BUILD_WEB is OFF)" ${QtWebEngineWidgets_VERSION})
145
        conditional(DesignerPlugin BUILD_DESIGNER_PLUGIN
146
                    "not built (BUILD_DESIGNER_PLUGIN is OFF)"
147
                    "[${DESIGNER_PLUGIN_LOCATION}/${libFreeCAD_widgets}]"
148
        )
149
    else()
150
        simple(QtWebKitWidgets "not needed")
151
    endif()
152
    conditional(Shiboken Shiboken${SHIBOKEN_MAJOR_VERSION}_FOUND "not found" "${Shiboken_VERSION} [${SHIBOKEN_INCLUDE_DIR}]")
153
    conditional(PySide PySide${PYSIDE_MAJOR_VERSION}_FOUND "not found" "${PySide_VERSION} [${PYSIDE_INCLUDE_DIR}]")
154
    conditional(PySideTools PYSIDE_TOOLS_FOUND
155
                "not found"
156
                "v: ${PySideTools_VERSION}  uic: [${PYSIDE_UIC_EXECUTABLE}]  rcc: [${PYSIDE_RCC_EXECUTABLE}]"
157
    )
158
    if(FREECAD_USE_FREETYPE)
159
        conditional(Freetype FREETYPE_FOUND "not found" ${FREETYPE_VERSION_STRING})
160
    else()
161
        simple(Freetype "disabled")
162
    endif()
163
    simple(OpenGL_Lib [${OPENGL_gl_LIBRARY}])
164
    simple(OpenGLU_Lib [${OPENGL_glu_LIBRARY}])
165
    simple(OpenGLU_Incl [${OPENGL_INCLUDE_DIR}])
166
    simple(Coin3D "${COIN3D_VERSION} [${COIN3D_LIBRARIES}] [${COIN3D_INCLUDE_DIRS}]")
167
    simple(pivy ${PIVY_VERSION})
168
    if (WIN32)
169
        #simple(SPNAV "not available yet for your OS") # FREECAD_USE_3DCONNEXION instead...
170
    else()
171
        conditional(SPNAV SPNAV_FOUND "not found" "[${SPNAV_LIBRARY}] [${SPNAV_INCLUDE_DIR}]")
172
    endif()
173
    conditional(Matplotlib MATPLOTLIB_FOUND "not found" "${MATPLOTLIB_VERSION} PathDirs: ${MATPLOTLIB_PATH_DIRS}")
174
    if(BUILD_VR)
175
        conditional(Rift RIFT_FOUND "not found" ${Rift_VERSION})
176
    else()
177
        simple(Rift "not enabled (BUILD_VR)")
178
    endif()
179
    conditional(Doxygen DOXYGEN_FOUND "not found" "${DOXYGEN_VERSION} Language: ${DOXYGEN_LANGUAGE}")
180
    conditional(Coin3D_DOC COIN3D_DOC_FOUND "not found" ${COIN3D_DOC_PATH})
181
    conditional(PYCXX PYCXX_FOUND "not found" "${PYCXX_VERSION} Incl: ${PYCXX_INCLUDE_DIR} Src:${PYCXX_SOURCE_DIR}")
182
    conditional(fmt fmt_FOUND "Sources downloaded to ${fmt_SOURCE_DIR}" "${fmt_VERSION}")
183

184
    section_end()
185

186
endmacro()
187

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

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

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

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