| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
- file Copyright.txt or https://cmake.org/licensing for details. */
- #ifndef cmProjectCommand_h
- #define cmProjectCommand_h
- #include "cmConfigure.h" // IWYU pragma: keep
- #include <string>
- #include <vector>
- #include "cm_memory.hxx"
- #include "cmCommand.h"
- class cmExecutionStatus;
- /** \class cmProjectCommand
- * \brief Specify the name for this build project.
- *
- * cmProjectCommand is used to specify a name for this build project.
- * It is defined once per set of CMakeList.txt files (including
- * all subdirectories). Currently it just sets the name of the workspace
- * file for Microsoft Visual C++
- */
- class cmProjectCommand : public cmCommand
- {
- public:
- /**
- * This is a virtual constructor for the command.
- */
- std::unique_ptr<cmCommand> Clone() override
- {
- return cm::make_unique<cmProjectCommand>();
- }
- /**
- * This is called when the command is first encountered in
- * the CMakeLists.txt file.
- */
- bool InitialPass(std::vector<std::string> const& args,
- cmExecutionStatus& status) override;
- private:
- bool IncludeByVariable(const std::string& variable);
- void TopLevelCMakeVarCondSet(const char* name, const char* value);
- };
- #endif
|