/*============================================================================ CMake - Cross Platform Makefile Generator Copyright 2004-2011 Kitware, Inc. Copyright 2011 Alexander Neundorf (neundorf@kde.org) Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #ifndef cmQtAutoGeneratorInitializer_h #define cmQtAutoGeneratorInitializer_h #include "cmStandardIncludes.h" #include #include #include class cmSourceFile; class cmTarget; class cmLocalGenerator; class cmQtAutoGeneratorInitializer { public: static void InitializeAutogenSources(cmTarget* target); static void InitializeAutogenTarget(cmLocalGenerator* lg, cmTarget* target); static void SetupAutoGenerateTarget(cmTarget const* target); static std::string GetAutogenTargetName(cmTarget const* target); static std::string GetAutogenTargetDir(cmTarget const* target); private: static void SetupSourceFiles(cmTarget const* target, std::vector& skipMoc, std::vector& mocSources, std::vector& mocHeaders, std::vector& skipUic); static void SetupAutoMocTarget(cmTarget const* target, const std::string &autogenTargetName, const std::vector& skipMoc, const std::vector& mocHeaders, std::map &configIncludes, std::map &configDefines); static void SetupAutoUicTarget(cmTarget const* target, const std::vector& skipUic, std::map &configUicOptions); static void SetupAutoRccTarget(cmTarget const* target); static void MergeRccOptions(std::vector &opts, const std::vector &fileOpts, bool isQt5); static std::string GetRccExecutable(cmTarget const* target); static std::string ListQt5RccInputs(cmSourceFile* sf, cmTarget const* target, std::vector& depends); static std::string ListQt4RccInputs(cmSourceFile* sf, std::vector& depends); }; #endif