1 /*============================================================================
2 CMake - Cross Platform Makefile Generator
3 Copyright 2011 Peter Collingbourne <peter@pcc.me.uk>
4 Copyright 2011 Nicolas Despres <nicolas.despres@gmail.com>
6 Distributed under the OSI-approved BSD License (the "License");
7 see accompanying file Copyright.txt for details.
9 This software is distributed WITHOUT ANY WARRANTY; without even the
10 implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
11 See the License for more information.
12 ============================================================================*/
13 #ifndef cmNinjaNormalTargetGenerator_h
14 # define cmNinjaNormalTargetGenerator_h
16 # include "cmNinjaTargetGenerator.h"
17 # include "cmNinjaTypes.h"
18 # include "cmStandardIncludes.h"
23 class cmOSXBundleGenerator;
25 class cmNinjaNormalTargetGenerator : public cmNinjaTargetGenerator
28 cmNinjaNormalTargetGenerator(cmTarget* target);
29 ~cmNinjaNormalTargetGenerator();
34 std::string LanguageLinkerRule() const;
35 const char* GetVisibleTypeName() const;
36 void WriteLanguagesRules();
37 void WriteLinkRule(bool useResponseFile);
38 void WriteLinkStatement();
39 void WriteObjectLibStatement();
40 std::vector<std::string> ComputeLinkCmd();
44 std::string TargetNameOut;
45 std::string TargetNameSO;
46 std::string TargetNameReal;
47 std::string TargetNameImport;
48 std::string TargetNamePDB;
49 const char *TargetLinkLanguage;
52 #endif // ! cmNinjaNormalTargetGenerator_h