Resync
[CMakeLuaTailorHgBridge.git] / CMakeLua / Source / cmMakefileLibraryTargetGenerator.h
blobbc99c2cb1ea487ad9c645ccfce33b9bd0e3f6b79
1 /*=========================================================================
3 Program: CMake - Cross-Platform Makefile Generator
4 Module: $RCSfile: cmMakefileLibraryTargetGenerator.h,v $
5 Language: C++
6 Date: $Date: 2008-09-02 16:06:32 $
7 Version: $Revision: 1.9 $
9 Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved.
10 See Copyright.txt or http://www.cmake.org/HTML/Copyright.html for details.
12 This software is distributed WITHOUT ANY WARRANTY; without even
13 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
14 PURPOSE. See the above copyright notices for more information.
16 =========================================================================*/
17 #ifndef cmMakefileLibraryTargetGenerator_h
18 #define cmMakefileLibraryTargetGenerator_h
20 #include "cmMakefileTargetGenerator.h"
22 class cmMakefileLibraryTargetGenerator:
23 public cmMakefileTargetGenerator
25 public:
26 cmMakefileLibraryTargetGenerator(cmTarget* target);
28 /* the main entry point for this class. Writes the Makefiles associated
29 with this target */
30 virtual void WriteRuleFiles();
32 protected:
33 void WriteStaticLibraryRules();
34 void WriteSharedLibraryRules(bool relink);
35 void WriteModuleLibraryRules(bool relink);
36 void WriteLibraryRules(const char *linkRule, const char *extraFlags,
37 bool relink);
38 // MacOSX Framework support methods
39 void WriteFrameworkRules(bool relink);
40 void CreateFramework(std::string const& targetName);
42 // Store the computd framework version for OS X Frameworks.
43 std::string FrameworkVersion;
45 void AppendOSXVerFlag(std::string& flags, const char* lang,
46 const char* name, bool so);
49 #endif