1 /*=========================================================================
3 Program: CMake - Cross-Platform Makefile Generator
4 Module: $RCSfile: cmCPackDragNDropGenerator.h,v $
6 Date: $Date: 2009-02-20 15:14:40 $
7 Version: $Revision: 1.3 $
9 Copyright (c) 2002 Kitware, Inc. 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 =========================================================================*/
18 #ifndef cmCPackDragNDropGenerator_h
19 #define cmCPackDragNDropGenerator_h
21 #include "cmCPackGenerator.h"
23 /** \class cmCPackDragNDropGenerator
24 * \brief A generator for OSX drag-n-drop installs
26 class cmCPackDragNDropGenerator
: public cmCPackGenerator
29 cmCPackTypeMacro(cmCPackDragNDropGenerator
, cmCPackGenerator
);
31 cmCPackDragNDropGenerator();
32 virtual ~cmCPackDragNDropGenerator();
35 virtual int InitializeInternal();
36 virtual const char* GetOutputExtension();
37 int CompressFiles(const char* outFileName
, const char* toplevel
,
38 const std::vector
<std::string
>& files
);
40 bool CopyFile(cmOStringStream
& source
, cmOStringStream
& target
);
41 bool RunCommand(cmOStringStream
& command
, std::string
* output
= 0);
43 virtual int CreateDMG(const std::string
& installdir
,
44 const std::string
& outdmg
);
46 std::string InstallPrefix
;