Simplify usage in Final Report and move Libpack copy stuff out

Added report function to separate logic from presentation and automate layout
Removed Libpack stuff to its own cmake file CopyLibpackDirectories.cmake
Added call in main CMakeLists.txt to libpack stuff
This commit is contained in:
berniev
2023-01-28 12:56:40 +10:00
committed by Chris Hennes
parent c318bc08cb
commit 243ad94fb2
3 changed files with 151 additions and 164 deletions

View File

@@ -92,8 +92,12 @@ BuildAndInstallDesignerPlugin()
CreatePackagingTargets()
PrintFinalReport()
if(MSVC AND FREECAD_LIBPACK_USE AND LIBPACK_FOUND)
CopyLibpackDirectories()
endif()
if (BUILD_TEST)
add_subdirectory(tests)
endif()
PrintFinalReport()

View File

@@ -0,0 +1,56 @@
macro(CopyLibpackDirectories)
# Copy libpack dependency directories to build folder for user as part of overall build process
if(FREECAD_COPY_DEPEND_DIRS_TO_BUILD)
message(STATUS "=======================================\n"
"Copying libpack dependency directories to build directory for Windows MSVC build.\n")
file(COPY ${FREECAD_LIBPACK_DIR}/bin/assistant.exe DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/bin/QtWebEngineProcess.exe DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/bin/QtWebEngineProcessd.exe DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/bin/qt.conf DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/plugins/platforms DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/plugins/imageformats DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/plugins/iconengines DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/plugins/sqldrivers DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/plugins/styles DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/plugins/printsupport DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/resources DESTINATION ${CMAKE_BINARY_DIR})
file(COPY ${FREECAD_LIBPACK_DIR}/translations/qtwebengine_locales DESTINATION ${CMAKE_BINARY_DIR}/translations)
message(STATUS "... end copying.\n=======================================\n")
endif()
if(COPY_LIBPACK_BIN_TO_BUILD)
if(FREECAD_COPY_LIBPACK_BIN_TO_BUILD)
message("=======================================\n"
"Copying libpack 'bin' directory to build directory.\n")
file(COPY ${FREECAD_LIBPACK_DIR}/bin DESTINATION ${CMAKE_BINARY_DIR})
message("... done copying libpack 'bin' directory.\n=======================================\n")
endif()
if(FREECAD_COPY_PLUGINS_BIN_TO_BUILD)
message(STATUS "=======================================\n"
"Copying plugins to build directory.")
file(COPY ${FREECAD_LIBPACK_DIR}/plugins/imageformats DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/plugins/platforms DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/plugins/styles DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/bin/QtWebEngineProcess.exe DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/bin/QtWebEngineProcessd.exe DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/translations/qtwebengine_locales DESTINATION ${CMAKE_BINARY_DIR}/translations)
file(COPY ${FREECAD_LIBPACK_DIR}/resources DESTINATION ${CMAKE_BINARY_DIR})
file(WRITE ${CMAKE_BINARY_DIR}/bin/qt.conf "[Paths]\nPrefix=..\n")
endif()
endif()
if(FREECAD_INSTALL_DEPEND_DIRS)
# Test install command for installing/copying directories
message(STATUS "=======================================")
install(DIRECTORY ${FREECAD_LIBPACK_DIR}/plugins/platforms DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
install(DIRECTORY ${FREECAD_LIBPACK_DIR}/plugins/imageformats DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
install(DIRECTORY ${FREECAD_LIBPACK_DIR}/plugins/iconengines DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
install(DIRECTORY ${FREECAD_LIBPACK_DIR}/plugins/sqldrivers DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
install(DIRECTORY ${FREECAD_LIBPACK_DIR}/plugins/styles DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
install(DIRECTORY ${FREECAD_LIBPACK_DIR}/plugins/printsupport DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
install(DIRECTORY ${FREECAD_LIBPACK_DIR}/translations/qtwebengine_locales DESTINATION ${CMAKE_INSTALL_PREFIX}/translations)
install(DIRECTORY ${FREECAD_LIBPACK_DIR}/resources DESTINATION ${CMAKE_INSTALL_PREFIX})
install(DIRECTORY ${FREECAD_LIBPACK_DIR}/bin DESTINATION ${CMAKE_INSTALL_PREFIX})
message(STATUS "Created install commands for INSTALL target.\n")
endif()
endmacro()

View File

@@ -2,250 +2,177 @@ macro(PrintFinalReport)
message(STATUS "\n==============\n"
"Summary report\n"
"==============\n")
if (DEFINED CMAKE_BUILD_TYPE)
message(STATUS "Build type: ${CMAKE_BUILD_TYPE}")
endif()
message(STATUS "Compiler: ${CMAKE_CXX_COMPILER} (${CMAKE_CXX_COMPILER_VERSION})")
message(STATUS "Flags: ${CMAKE_CXX_FLAGS}")
message(STATUS "Standard: Requires C++${CMAKE_CXX_STANDARD}")
function(report name)
if(NOT ARGV1)
set(ARGV1 "-undefined-")
endif()
string(APPEND nameSp ${name} ": ")
string(SUBSTRING ${nameSp} 0 20 nameStr)
message(STATUS "${nameStr} ${ARGV1}")
endfunction()
report(BuildType ${CMAKE_BUILD_TYPE})
report(Compiler "${CMAKE_CXX_COMPILER} (${CMAKE_CXX_COMPILER_VERSION})")
report(Flags ${CMAKE_CXX_FLAGS})
report(Standard "Requires C++${CMAKE_CXX_STANDARD}")
# Qt5 needs/sets PYTHON_CONFIG_SUFFIX regarding Shiboken
message(STATUS "Python: ${PYTHON_VERSION_STRING} [${PYTHON_EXECUTABLE}] [${PYTHON_CONFIG_SUFFIX}]")
report(Python "${PYTHON_VERSION_STRING} [${PYTHON_EXECUTABLE}] [${PYTHON_CONFIG_SUFFIX}]")
if(PCL_FOUND)
message(STATUS "PCL: ${PCL_VERSION}")
report(PCL ${PCL_VERSION})
else()
message(STATUS "PCL: not enabled")
report(PCL "not enabled")
endif()
if(pybind11_FOUND)
message(STATUS "pybind11: ${pybind11_VERSION}")
report(pybind11 "${pybind11_VERSION}")
else()
message(STATUS "pybind11: not enabled")
report(pybind11 "not enabled")
endif()
message(STATUS "Boost: ${Boost_VERSION}")
message(STATUS "XercesC: ${XercesC_VERSION} [${XercesC_LIBRARIES}] [${XercesC_INCLUDE_DIRS}]")
message(STATUS "ZLIB: ${ZLIB_VERSION_STRING}")
message(STATUS "PyCXX: ${PYCXX_VERSION} [${PYCXX_INCLUDE_DIR}]")
message(STATUS "OCC: ${OCC_VERSION_STRING} [${OCC_LIBRARIES}] [${OCC_LIBRARY_DIR}] [${OCC_INCLUDE_DIR}]")
report(Boost ${Boost_VERSION})
report(XercesC "${XercesC_VERSION} [${XercesC_LIBRARIES}] [${XercesC_INCLUDE_DIRS}]")
report(ZLIB "${ZLIB_VERSION_STRING}")
report(PyCXX "${PYCXX_VERSION} [${PYCXX_INCLUDE_DIR}]")
report(OCC "${OCC_VERSION_STRING} [${OCC_LIBRARIES}] [${OCC_LIBRARY_DIR}] [${OCC_INCLUDE_DIR}]")
if(BUILD_SMESH)
if(FREECAD_USE_EXTERNAL_SMESH)
message(STATUS "SMESH: ${SMESH_VERSION_MAJOR}.${SMESH_VERSION_MINOR}.${SMESH_VERSION_PATCH}.${SMESH_VERSION_TWEAK}")
report(SMESH "${SMESH_VERSION_MAJOR}.${SMESH_VERSION_MINOR}.${SMESH_VERSION_PATCH}.${SMESH_VERSION_TWEAK}")
else()
message(STATUS "SMESH: ${SMESH_VERSION_MAJOR}.${SMESH_VERSION_MINOR}.${SMESH_VERSION_PATCH}.${SMESH_VERSION_TWEAK} build internal")
message(STATUS "MEDFile: ${MEDFILE_VERSION} [${MEDFILE_LIBRARIES}] [${MEDFILE_INCLUDE_DIRS}]")
message(STATUS "HDF5: ${HDF5_VERSION}")
message(STATUS "VTK: ${VTK_VERSION}")
report(SMESH "${SMESH_VERSION_MAJOR}.${SMESH_VERSION_MINOR}.${SMESH_VERSION_PATCH}.${SMESH_VERSION_TWEAK} build internal")
report(MEDFile "${MEDFILE_VERSION} [${MEDFILE_LIBRARIES}] [${MEDFILE_INCLUDE_DIRS}]")
report(HDF5 ${HDF5_VERSION})
report(VTK ${VTK_VERSION})
endif()
else()
message(STATUS "SMESH: do not build")
report(SMESH "do not build")
endif()
if(NETGEN_FOUND)
message(STATUS "NETGEN: ${NETGEN_VERSION_MAJOR}.${NETGEN_VERSION_MINOR}.${NETGEN_VERSION_PATCH} (${NETGEN_VERSION}) [${NETGEN_DEFINITIONS}] [${NETGEN_CXX_FLAGS}] [${NGLIB_INCLUDE_DIR}] [${NGLIB_LIBRARIES}] [${NETGEN_INCLUDE_DIRS}]")
report(NETGEN "${NETGEN_VERSION_MAJOR}.${NETGEN_VERSION_MINOR}.${NETGEN_VERSION_PATCH} (${NETGEN_VERSION}) [${NETGEN_DEFINITIONS}] [${NETGEN_CXX_FLAGS}] [${NGLIB_INCLUDE_DIR}] [${NGLIB_LIBRARIES}] [${NETGEN_INCLUDE_DIRS}]")
else()
message(STATUS "NETGEN: not enabled")
report(NETGEN "not enabled")
endif()
#message(STATUS "OpenCV: ${OpenCV_VERSION}")
#report(OpenCV ${OpenCV_VERSION})
if(SWIG_FOUND)
message(STATUS "SWIG: ${SWIG_VERSION}")
report(SWIG ${SWIG_VERSION})
else()
message(STATUS "SWIG: not found")
report(SWIG "not found")
endif()
if(EIGEN3_FOUND)
message(STATUS "Eigen3 ${EIGEN3_VERSION}")
report(Eigen3 ${EIGEN3_VERSION})
else()
message(STATUS "Eigen3: not found")
report(Eigen3 "not found")
endif()
message(STATUS "QtCore: ${QtCore_VERSION}")
message(STATUS "QtNetwork: ${QtNetwork_VERSION}")
message(STATUS "QtXml: ${QtXml_VERSION}")
report(QtCore ${QtCore_VERSION})
report(QtNetwork ${QtNetwork_VERSION})
report(QtXml ${QtXml_VERSION})
if (BUILD_GUI)
message(STATUS "QtWidgets: ${QtWidgets_VERSION}")
message(STATUS "QtPrintSupport: ${QtPrintSupport_VERSION}")
message(STATUS "QtOpenGL: ${QtOpenGL_VERSION}")
message(STATUS "QtSvg: ${QtSvg_VERSION}")
message(STATUS "QtUiTools: ${QtUiTools_VERSION}")
message(STATUS "QtConcurrent: ${QtConcurrent_VERSION}")
report(QtWidgets ${QtWidgets_VERSION})
report(QtPrintSupport ${QtPrintSupport_VERSION})
report(QtOpenGL ${QtOpenGL_VERSION})
report(QtSvg ${QtSvg_VERSION})
report(QtUiTools ${QtUiTools_VERSION})
report(QtConcurrent ${QtConcurrent_VERSION})
if(BUILD_WEB)
message(STATUS "QtWebEngineWidgets: ${QtWebEngineWidgets_VERSION}")
report(QtWebEngineWidgets ${QtWebEngineWidgets_VERSION})
else()
message(STATUS "QtWebEngineWidgets: not needed (BUILD_WEB is OFF)")
report(QtWebEngineWidgets "not needed (BUILD_WEB is OFF)")
endif()
if(BUILD_DESIGNER_PLUGIN)
message(STATUS "Designer plugin: ${DESIGNER_PLUGIN_LOCATION}/${libFreeCAD_widgets}")
report(DesignerPlugin "${DESIGNER_PLUGIN_LOCATION}/${libFreeCAD_widgets}")
else()
message(STATUS "Designer plugin: not built (BUILD_DESIGNER_PLUGIN is OFF)")
report(DesignerPlugin "not built (BUILD_DESIGNER_PLUGIN is OFF)")
endif()
else()
message(STATUS "QtWidgets: not needed")
message(STATUS "QtPrintSupport: not needed")
message(STATUS "QtOpenGL: not needed")
message(STATUS "QtSvg: not needed")
message(STATUS "QtUiTools: not needed")
message(STATUS "QtConcurrent: not needed")
message(STATUS "QtWebKitWidgets: not needed")
report(QtWidgets "not needed")
report(QtPrintSupport "not needed")
report(QtOpenGL "not needed")
report(QtSvg "not needed")
report(QtUiTools "not needed")
report(QtConcurrent "not needed")
report(QtWebKitWidgets "not needed")
endif()
if(DEFINED MACPORTS_PREFIX)
if(Shiboken_FOUND)
message(STATUS "Shiboken: ${Shiboken_VERSION} [${SHIBOKEN_INCLUDE_DIR}]")
if(Shiboken${SHIBOKEN_MAJOR_VERSION}_FOUND)
report(Shiboken "${Shiboken_VERSION} [${SHIBOKEN_INCLUDE_DIR}]")
else()
message(STATUS "Shiboken: not found (only searched if MACPORTS_PREFIX is defined)")
report(Shiboken "not found (only searched if MACPORTS_PREFIX is defined)")
endif()
if(PySide_FOUND)
message(STATUS "PySide: ${PySide_VERSION} [${PYSIDE_INCLUDE_DIR}]")
report(PySide "${PySide_VERSION} [${PYSIDE_INCLUDE_DIR}]")
if(NOT PYSIDE_INCLUDE_DIR)
message(STATUS " IncludeDir: Unable to find, python version mismatch?")
report(IncludeDir "Unable to find, python version mismatch?")
endif()
else()
message(STATUS "PySide: not found (only searched if MACPORTS_PREFIX is defined)")
report(PySide: "not found (only searched if MACPORTS_PREFIX is defined)")
endif()
endif()
if(Shiboken${SHIBOKEN_MAJOR_VERSION}_FOUND)
message(STATUS "Shiboken: ${Shiboken_VERSION} [${Shiboken${SHIBOKEN_MAJOR_VERSION}_DIR}] [${SHIBOKEN_INCLUDE_DIR}]")
else()
message(STATUS "Shiboken: not found")
endif()
if(PySide${SHIBOKEN_MAJOR_VERSION}_FOUND)
message(STATUS "PySide: ${PySide_VERSION} [${PYSIDE_INCLUDE_DIR}]")
report(PySide "${PYSIDE_VERSION} [${PYSIDE_INCLUDE_DIR}]")
if(NOT PYSIDE_INCLUDE_DIR)
message(STATUS " IncludeDir: Unable to find, python version mismatch?")
report(PySideIncludeDir "Unable to find, python version mismatch?")
endif()
else()
message(STATUS "PySide: not found")
report(PySide "not found")
endif()
if(PYSIDE_TOOLS_FOUND)
message(STATUS "PySideTools: [${PYSIDE_UIC_EXECUTABLE}] [${PYSIDE_RCC_EXECUTABLE}]")
report(PySideTools "[${PYSIDE_UIC_EXECUTABLE}] [${PYSIDE_RCC_EXECUTABLE}]")
else()
message(STATUS "PySideTools: not found")
report(PySideTools "not found")
endif()
if(FREECAD_USE_FREETYPE)
if(FREETYPE_FOUND)
message(STATUS "Freetype: ${FREETYPE_VERSION_STRING}")
report(Freetype ${FREETYPE_VERSION_STRING})
else()
message(STATUS "Freetype: not found")
report(Freetype "not found")
endif()
else()
message(STATUS "Freetype: disabled")
report(Freetype "disabled")
endif()
message(STATUS "OpenGL: ${OPENGL_gl_LIBRARY}")
message(STATUS "OpenGLU: [${OPENGL_glu_LIBRARY}][${OPENGL_INCLUDE_DIR}]")
message(STATUS "Coin3D: ${COIN3D_VERSION} [${COIN3D_LIBRARIES}] [${COIN3D_INCLUDE_DIRS}]")
message(STATUS "Pivy: ${PIVY_VERSION}")
report(OpenGL ${OPENGL_gl_LIBRARY})
report(OpenGLU "[${OPENGL_glu_LIBRARY}][${OPENGL_INCLUDE_DIR}]")
report(Coin3D "${COIN3D_VERSION} [${COIN3D_LIBRARIES}] [${COIN3D_INCLUDE_DIRS}]")
report(Pivy ${PIVY_VERSION})
if (WIN32)
#message(STATUS "SPNAV: not available yet for your OS") # FREECAD_USE_3DCONNEXION instead...
#report(SPNAV "not available yet for your OS") # FREECAD_USE_3DCONNEXION instead...
else()
if(SPNAV_FOUND)
message(STATUS "SPNAV: [${SPNAV_LIBRARY}] [${SPNAV_INCLUDE_DIR}]")
report(SPNAV "[${SPNAV_LIBRARY}] [${SPNAV_INCLUDE_DIR}]")
else()
message(STATUS "SPNAV: not found")
report(SPNAV "not found")
endif()
endif()
if(MATPLOTLIB_FOUND)
message(STATUS "Matplotlib: ${MATPLOTLIB_VERSION}")
report(Matplotlib ${MATPLOTLIB_VERSION})
else()
message(STATUS "Matplotlib: not found")
report(Matplotlib "not found")
endif()
if(BUILD_VR)
if(RIFT_FOUND)
message(STATUS "Rift: ${Rift_VERSION}")
report(Rift ${Rift_VERSION})
else()
message(STATUS "Rift: not found")
report(Rift "not found")
endif()
else()
message(STATUS "Rift: not enabled (BUILD_VR)")
report(Rift "not enabled (BUILD_VR)")
endif()
if(DOXYGEN_FOUND)
message(STATUS "Doxygen: ${DOXYGEN_VERSION}")
message(STATUS "Language: ${DOXYGEN_LANGUAGE}")
report(Doxygen ${DOXYGEN_VERSION})
report(Language ${DOXYGEN_LANGUAGE})
if(COIN3D_DOC_FOUND)
message(STATUS "Coin3D_DOC: found [${COIN3D_DOC_PATH}]")
report(Coin3D_DOC "found [${COIN3D_DOC_PATH}]")
else()
message(STATUS "Coin3D_DOC: not found")
report(Coin3D_DOC "not found")
endif()
else()
message(STATUS "Doxygen: not found")
report(Doxygen "not found")
endif()
if(MSVC)
# Copy libpack dependency directories to build folder for user as part of overall build process
if(FREECAD_LIBPACK_USE AND LIBPACK_FOUND)
if(FREECAD_COPY_DEPEND_DIRS_TO_BUILD)
message(STATUS "=======================================\n"
"Copying libpack dependency directories to build directory for Windows MSVC build.\n")
file(COPY ${FREECAD_LIBPACK_DIR}/bin/assistant.exe DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/bin/QtWebEngineProcess.exe DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/bin/QtWebEngineProcessd.exe DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/bin/qt.conf DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/plugins/platforms DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/plugins/imageformats DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/plugins/iconengines DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/plugins/sqldrivers DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/plugins/styles DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/plugins/printsupport DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/resources DESTINATION ${CMAKE_BINARY_DIR})
file(COPY ${FREECAD_LIBPACK_DIR}/translations/qtwebengine_locales DESTINATION ${CMAKE_BINARY_DIR}/translations)
message(STATUS "... end copying.\n=======================================\n")
endif()
if(COPY_LIBPACK_BIN_TO_BUILD)
if(FREECAD_COPY_LIBPACK_BIN_TO_BUILD)
message("=======================================\n"
"Copying libpack 'bin' directory to build directory.\n")
file(COPY ${FREECAD_LIBPACK_DIR}/bin DESTINATION ${CMAKE_BINARY_DIR})
message("... done copying libpack 'bin' directory.\n=======================================\n")
endif()
if(FREECAD_COPY_PLUGINS_BIN_TO_BUILD)
message(STATUS "=======================================\n"
"Copying plugins to build directory.")
file(COPY ${FREECAD_LIBPACK_DIR}/plugins/imageformats DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/plugins/platforms DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/plugins/styles DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/bin/QtWebEngineProcess.exe DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/bin/QtWebEngineProcessd.exe DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/translations/qtwebengine_locales DESTINATION ${CMAKE_BINARY_DIR}/translations)
file(COPY ${FREECAD_LIBPACK_DIR}/resources DESTINATION ${CMAKE_BINARY_DIR})
file(WRITE ${CMAKE_BINARY_DIR}/bin/qt.conf "[Paths]\nPrefix=..\n")
endif()
endif()
if(FREECAD_INSTALL_DEPEND_DIRS)
# Test install command for installing/copying directories
message(STATUS "=======================================")
install(DIRECTORY ${FREECAD_LIBPACK_DIR}/plugins/platforms DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
install(DIRECTORY ${FREECAD_LIBPACK_DIR}/plugins/imageformats DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
install(DIRECTORY ${FREECAD_LIBPACK_DIR}/plugins/iconengines DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
install(DIRECTORY ${FREECAD_LIBPACK_DIR}/plugins/sqldrivers DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
install(DIRECTORY ${FREECAD_LIBPACK_DIR}/plugins/styles DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
install(DIRECTORY ${FREECAD_LIBPACK_DIR}/plugins/printsupport DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
install(DIRECTORY ${FREECAD_LIBPACK_DIR}/translations/qtwebengine_locales DESTINATION ${CMAKE_INSTALL_PREFIX}/translations)
install(DIRECTORY ${FREECAD_LIBPACK_DIR}/resources DESTINATION ${CMAKE_INSTALL_PREFIX})
install(DIRECTORY ${FREECAD_LIBPACK_DIR}/bin DESTINATION ${CMAKE_INSTALL_PREFIX})
message(STATUS "Created install commands for INSTALL target.\n")
endif()
endif()
if(BUILD_TEST)
report(Tests "ON")
else()
report(Tests "OFF")
endif()
# Print message to start build process