1
/*=========================================================================
3
Program: CMake - Cross-Platform Makefile Generator
4
Module: $RCSfile: cmOrderDirectories.h,v $
6
Date: $Date: 2008-07-30 18:54:49 $
7
Version: $Revision: 1.1.2.1 $
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
=========================================================================*/
1
/*============================================================================
2
CMake - Cross Platform Makefile Generator
3
Copyright 2000-2009 Kitware, Inc., Insight Software Consortium
5
Distributed under the OSI-approved BSD License (the "License");
6
see accompanying file Copyright.txt for details.
8
This software is distributed WITHOUT ANY WARRANTY; without even the
9
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10
See the License for more information.
11
============================================================================*/
17
12
#ifndef cmOrderDirectories_h
18
13
#define cmOrderDirectories_h
38
33
void AddRuntimeLibrary(std::string const& fullPath, const char* soname = 0);
39
34
void AddLinkLibrary(std::string const& fullPath);
40
35
void AddUserDirectories(std::vector<std::string> const& extra);
36
void AddLanguageDirectories(std::vector<std::string> const& dirs);
41
37
void SetImplicitDirectories(std::set<cmStdString> const& implicitDirs);
42
38
void SetLinkExtensionInfo(std::vector<std::string> const& linkExtensions,
43
39
std::string const& removeExtRegex);
56
52
std::vector<cmOrderDirectoriesConstraint*> ConstraintEntries;
57
53
std::vector<cmOrderDirectoriesConstraint*> ImplicitDirEntries;
58
54
std::vector<std::string> UserDirectories;
55
std::vector<std::string> LanguageDirectories;
59
56
cmsys::RegularExpression RemoveLibraryExtension;
60
57
std::vector<std::string> LinkExtensions;
61
58
std::set<cmStdString> ImplicitDirectories;
66
63
std::vector<int> DirectoryVisited;
67
64
void CollectOriginalDirectories();
68
65
int AddOriginalDirectory(std::string const& dir);
66
void AddOriginalDirectories(std::vector<std::string> const& dirs);
69
67
void FindConflicts();
70
68
void FindImplicitConflicts();
71
69
void OrderDirectories();