You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

54 lines
1.4 KiB

  1. /*=========================================================================
  2. Program: CMake - Cross-Platform Makefile Generator
  3. Module: $RCSfile$
  4. Language: C++
  5. Date: $Date$
  6. Version: $Revision$
  7. Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved.
  8. See Copyright.txt or http://www.cmake.org/HTML/Copyright.html for details.
  9. This software is distributed WITHOUT ANY WARRANTY; without even
  10. the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
  11. PURPOSE. See the above copyright notices for more information.
  12. =========================================================================*/
  13. #include "cmIncludeDirectoryCommand.h"
  14. // cmIncludeDirectoryCommand
  15. bool cmIncludeDirectoryCommand::InitialPass(std::vector<std::string> const& args)
  16. {
  17. if(args.size() < 1 )
  18. {
  19. return true;
  20. }
  21. std::vector<std::string>::const_iterator i = args.begin();
  22. bool before = this->Makefile->IsOn("CMAKE_INCLUDE_DIRECTORIES_BEFORE");
  23. if ((*i) == "BEFORE")
  24. {
  25. before = true;
  26. ++i;
  27. }
  28. else if ((*i) == "AFTER")
  29. {
  30. before = false;
  31. ++i;
  32. }
  33. for(; i != args.end(); ++i)
  34. {
  35. if(i->size() == 0)
  36. {
  37. cmSystemTools::Error("Empty Include Directory Passed into INCLUDE_DIRECTORIES command.");
  38. }
  39. std::string unixPath = *i;
  40. cmSystemTools::ConvertToUnixSlashes(unixPath);
  41. this->Makefile->AddIncludeDirectory(unixPath.c_str(), before);
  42. }
  43. return true;
  44. }