mirror of
https://github.com/reactos/CMake.git
synced 2024-11-28 14:01:21 +00:00
470f39cf4e
Header files listed in a target's PUBLIC_HEADER or similar properties are marked as OS X Framework content. Refactoring performed by commit11d9b211
(Add cmGeneratorTarget to represent a target during generation, 2012-03-07) commit45c2f932
(Simplify cmMakefileTargetGenerator using cmGeneratorTarget, 2012-03-07) commit328c0f65
(Simplify cmVisualStudio10TargetGenerator source classification, 2012-03-19) and related commits accidentally removed such files from treatment as normal header files by the VS generator (generators other than Makefiles and Xcode). Move handling of such files out of cmGeneratorTarget and back to cmMakefileTargetGenerator. The central cmGeneratorTarget classification will always treat them as header or extra sources.
64 lines
1.9 KiB
C++
64 lines
1.9 KiB
C++
/*============================================================================
|
|
CMake - Cross Platform Makefile Generator
|
|
Copyright 2000-2012 Kitware, Inc., Insight Software Consortium
|
|
|
|
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 cmGeneratorTarget_h
|
|
#define cmGeneratorTarget_h
|
|
|
|
#include "cmStandardIncludes.h"
|
|
|
|
class cmCustomCommand;
|
|
class cmGlobalGenerator;
|
|
class cmLocalGenerator;
|
|
class cmMakefile;
|
|
class cmSourceFile;
|
|
class cmTarget;
|
|
|
|
class cmGeneratorTarget
|
|
{
|
|
public:
|
|
cmGeneratorTarget(cmTarget*);
|
|
|
|
cmTarget* Target;
|
|
cmMakefile* Makefile;
|
|
cmLocalGenerator* LocalGenerator;
|
|
cmGlobalGenerator* GlobalGenerator;
|
|
|
|
/** Sources classified by purpose. */
|
|
std::vector<cmSourceFile*> CustomCommands;
|
|
std::vector<cmSourceFile*> ExtraSources;
|
|
std::vector<cmSourceFile*> HeaderSources;
|
|
std::vector<cmSourceFile*> ObjectSources;
|
|
std::vector<cmSourceFile*> ExternalObjects;
|
|
std::vector<cmSourceFile*> IDLSources;
|
|
std::string ModuleDefinitionFile;
|
|
|
|
std::map<cmSourceFile const*, std::string> Objects;
|
|
std::set<cmSourceFile const*> ExplicitObjectName;
|
|
|
|
/** Full path with trailing slash to the top-level directory
|
|
holding object files for this target. Includes the build
|
|
time config name placeholder if needed for the generator. */
|
|
std::string ObjectDirectory;
|
|
|
|
std::vector<cmTarget*> ObjectLibraries;
|
|
|
|
void UseObjectLibraries(std::vector<std::string>& objs);
|
|
|
|
private:
|
|
void ClassifySources();
|
|
void LookupObjectLibraries();
|
|
|
|
cmGeneratorTarget(cmGeneratorTarget const&);
|
|
void operator=(cmGeneratorTarget const&);
|
|
};
|
|
|
|
#endif
|