set(MKSPECS_BASE_DIR "${ECM_MKSPECS_INSTALL_DIR}")

foreach(SELECTED ${QT_MAJOR_ENABLED})
	set(PACKAGE_NAME ${PROJECT_NAME})
	configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/Config.cmake.in
		"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}${SELECTED}Config.cmake"
		INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}${SELECTED}
		PATH_VARS CMAKE_INSTALL_INCLUDEDIR
	)

	write_basic_package_version_file(
		"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}${SELECTED}ConfigVersion.cmake"
		VERSION "${PROJECT_VERSION}"
		COMPATIBILITY SameMajorVersion
	)

	install(FILES
		"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}${SELECTED}Config.cmake"
		"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}${SELECTED}ConfigVersion.cmake"
		DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}${SELECTED}
	)

	string(REPLACE ";" " " QT_QMAKE_COMPONENTS "${QT_REQUIRED_COMPONENTS}")
	string(TOLOWER "${QT_QMAKE_COMPONENTS}" QT_QMAKE_COMPONENTS)
	set(QT_PKGCONF_COMPONENTS)
	foreach(COMPONENT ${QT_REQUIRED_COMPONENTS})
		list(APPEND QT_PKGCONF_COMPONENTS DEPS PRIVATE Qt${SELECTED}${COMPONENT})
	endforeach()

	qt_path_find(qt${SELECTED}_hostdata HOST_DATA VERSION ${SELECTED} RELATIVE)
	set(ECM_MKSPECS_INSTALL_DIR "${qt${SELECTED}_hostdata}/${MKSPECS_BASE_DIR}")
	add_subdirectory(qmake${SELECTED})

	if(BUILD_STATIC)
		ecm_generate_pkgconfig_file(
			BASE_NAME ${PROJECT_NAME}${SELECTED}-static
			LIB_NAME ${PROJECT_NAME}${SELECTED}_static
			"${QT_PKGCONF_COMPONENTS}"
			INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}"
			DESCRIPTION "${PROJECT_DESCRIPTION} (Qt${SELECTED}, static)"
			URL "${PROJECT_HOMEPAGE_URL}"
		    INSTALL
		)
	endif()

	if(BUILD_SHARED)
		ecm_generate_pkgconfig_file(
			BASE_NAME ${PROJECT_NAME}${SELECTED}
			LIB_NAME ${PROJECT_NAME}${SELECTED}
			"${QT_PKGCONF_COMPONENTS}"
			INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}"
			DESCRIPTION "${PROJECT_DESCRIPTION} (Qt${SELECTED})"
			URL "${PROJECT_HOMEPAGE_URL}"
		    INSTALL
		)
	endif()
endforeach()

set(ECM_MKSPECS_INSTALL_DIR "${MKSPECS_BASE_DIR}")
