# Build Qt automatically set(QT_SOURCES_DIR "${CMAKE_CURRENT_LIST_DIR}/sources" CACHE PATH "Qt5 sources path") set(QT_DEST_DIR "${CMAKE_CURRENT_BINARY_DIR}/qt-sdk") if (WIN32 AND NOT ANDROID) set(QT_BUILD_SCRIPT "${CMAKE_CURRENT_LIST_DIR}/build_qt_windows.bat.in") elseif (IOS) set(QT_BUILD_SCRIPT "${CMAKE_CURRENT_LIST_DIR}/build_qt_ios.sh.in") elseif (APPLE) set(QT_BUILD_SCRIPT "${CMAKE_CURRENT_LIST_DIR}/build_qt_osx.sh.in") elseif (LINUX32) set(QT_BUILD_SCRIPT "${CMAKE_CURRENT_LIST_DIR}/build_qt_linux32.sh.in") elseif (LINUX64) set(QT_BUILD_SCRIPT "${CMAKE_CURRENT_LIST_DIR}/build_qt_linux.sh.in") elseif (RPI) set(QT_BUILD_SCRIPT "${CMAKE_CURRENT_LIST_DIR}/build_qt_rpi.sh.in") else () message(SEND_ERROR "No script to build Qt for this platform: ${CMAKE_SYSTEM_NAME}") endif() if (WIN32) configure_file(${QT_BUILD_SCRIPT} "${CMAKE_CURRENT_BINARY_DIR}/build_qt.bat" @ONLY) else (WIN32) configure_file(${QT_BUILD_SCRIPT} "${CMAKE_CURRENT_BINARY_DIR}/build_qt.sh" @ONLY) endif (WIN32) if (NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/qt_dummy.cpp) file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/qt_dummy.cpp "int x = 0;") endif() add_library(qtDummy STATIC ${CMAKE_CURRENT_BINARY_DIR}/qt_dummy.cpp) message(STATUS "Building Qt") if (WIN32) add_custom_command( TARGET qtDummy POST_BUILD COMMAND build_qt.bat WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} ) else (WIN32) add_custom_command( TARGET qtDummy POST_BUILD COMMAND ./build_qt.sh WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} ) endif (WIN32) install( DIRECTORY ${QT_DEST_DIR}/ DESTINATION qt USE_SOURCE_PERMISSIONS )