CVS resync
[CMakeLuaTailorHgBridge.git] / CMakeLua / Source / cmMakefileLibraryTargetGenerator.h
blob66fe2e4617b2cb18717484305bf8d4031e07cc9d
1 /*=========================================================================
3 Program: CMake - Cross-Platform Makefile Generator
4 Module: $RCSfile: cmMakefileLibraryTargetGenerator.h,v $
5 Language: C++
6 Date: $Date: 2007/08/14 18:12:08 $
7 Version: $Revision: 1.5 $
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();
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& targetName,
41 std::string& outpath);
42 void CreateFrameworkLinksAndDirs(std::string& targetName,
43 std::string& outpath,
44 const char* version);
45 void CopyFrameworkSources(std::string& targetName,
46 std::string& outpath,
47 const char* version,
48 const char* propertyName,
49 const char* subdir);
52 #endif