package.cmake 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. # This file is part of Desktop App Toolkit,
  2. # a set of libraries for developing nice desktop applications.
  3. #
  4. # For license and copyright information please follow this link:
  5. # https://github.com/desktop-app/legal/blob/master/LEGAL
  6. if (NOT DESKTOP_APP_USE_PACKAGED)
  7. if (DEFINED ENV{QT})
  8. set(qt_requested $ENV{QT} CACHE STRING "Qt version" FORCE)
  9. endif()
  10. if (NOT DEFINED qt_requested)
  11. message(FATAL_ERROR "Qt version is unknown, set `QT' environment variable")
  12. endif()
  13. if (WIN32)
  14. set(qt_loc ${libs_loc}/Qt-${qt_requested})
  15. if (${qt_requested} GREATER 6)
  16. set(OPENSSL_FOUND 1)
  17. set(OPENSSL_INCLUDE_DIR ${libs_loc}/openssl3/include)
  18. set(LIB_EAY_DEBUG ${libs_loc}/openssl3/out.dbg/libcrypto.lib)
  19. set(SSL_EAY_DEBUG ${libs_loc}/openssl3/out.dbg/libssl.lib)
  20. set(LIB_EAY_RELEASE ${libs_loc}/openssl3/out/libcrypto.lib)
  21. set(SSL_EAY_RELEASE ${libs_loc}/openssl3/out/libssl.lib)
  22. set(JPEG_FOUND 1)
  23. set(JPEG_INCLUDE_DIR ${libs_loc}/mozjpeg)
  24. set(JPEG_LIBRARY_DEBUG ${libs_loc}/mozjpeg/Debug/jpeg-static.lib)
  25. set(JPEG_LIBRARY_RELEASE ${libs_loc}/mozjpeg/Release/jpeg-static.lib)
  26. set(ZLIB_FOUND 1)
  27. set(ZLIB_INCLUDE_DIR ${libs_loc}/zlib)
  28. set(ZLIB_LIBRARY_DEBUG ${libs_loc}/zlib/Debug/zlibstaticd.lib)
  29. set(ZLIB_LIBRARY_RELEASE ${libs_loc}/zlib/Release/zlibstatic.lib)
  30. set(WebP_INCLUDE_DIR ${libs_loc}/libwebp/src)
  31. set(WebP_demux_INCLUDE_DIR ${libs_loc}/libwebp/src)
  32. set(WebP_mux_INCLUDE_DIR ${libs_loc}/libwebp/src)
  33. set(WebP_LIBRARY ${libs_loc}/libwebp/out/release-static/x86/lib/webp.lib)
  34. set(WebP_demux_LIBRARY ${libs_loc}/libwebp/out/release-static/x86/lib/webpdemux.lib)
  35. set(WebP_mux_LIBRARY ${libs_loc}/libwebp/out/release-static/x86/lib/webpmux.lib)
  36. set(LCMS2_FOUND 1)
  37. set(LCMS2_INCLUDE_DIR ${libs_loc}/liblcms2/include)
  38. set(LCMS2_LIBRARIES ${libs_loc}/liblcms2/out/Release/src/liblcms2.a)
  39. endif()
  40. elseif (APPLE)
  41. set(qt_loc ${libs_loc}/local/Qt-${qt_requested})
  42. else()
  43. set(qt_loc /usr/local/Qt-${qt_requested})
  44. endif()
  45. set(CMAKE_PREFIX_PATH ${qt_loc} ${libs_loc}/local)
  46. endif()
  47. if (NOT DEFINED QT_VERSION_MAJOR)
  48. find_package(QT NAMES Qt6 COMPONENTS Core QUIET)
  49. if (NOT QT_FOUND)
  50. find_package(QT NAMES Qt5 COMPONENTS Core QUIET)
  51. endif()
  52. if (NOT QT_FOUND)
  53. message(FATAL_ERROR "Neither Qt6 nor Qt5 is found")
  54. endif()
  55. endif()
  56. if (NOT DESKTOP_APP_USE_PACKAGED AND NOT "${qt_requested}" EQUAL "${QT_VERSION}")
  57. message(FATAL_ERROR "Configured Qt version ${QT_VERSION} does not match requested version ${qt_requested}. Please reconfigure.")
  58. endif()
  59. find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core Gui Widgets Network Svg REQUIRED)
  60. find_package(Qt${QT_VERSION_MAJOR} OPTIONAL_COMPONENTS Quick QuickWidgets QUIET)
  61. if (QT_VERSION_MAJOR GREATER_EQUAL 6)
  62. find_package(Qt${QT_VERSION_MAJOR} COMPONENTS OpenGL OpenGLWidgets REQUIRED)
  63. endif()
  64. if (LINUX)
  65. find_package(Qt${QT_VERSION_MAJOR} OPTIONAL_COMPONENTS DBus WaylandClient WaylandCompositor QUIET)
  66. endif()
  67. set_property(GLOBAL PROPERTY AUTOGEN_SOURCE_GROUP "(gen)")
  68. set_property(GLOBAL PROPERTY AUTOGEN_TARGETS_FOLDER "(gen)")