浏览代码

modified how paths are escaped, added depends

Ken Martin 24 年之前
父节点
当前提交
c84f6448a6

+ 19 - 9
Source/CMakeLists.txt

@@ -53,16 +53,26 @@ LINK_LIBRARIES(CMakeLib)
 LINK_DIRECTORIES(${CMake_BINARY_DIR}/Sources)
 
 ADD_EXECUTABLE(cmake cmakemain)
-ADD_EXECUTABLE(cmaketest cmaketest.cxx cmSystemTools.cxx)
 
-CONFIGURE_FILE(
-${CMake_SOURCE_DIR}/Source/cmaketest.h.in 
-${CMake_BINARY_DIR}/Source/cmaketest.h ESCAPE_QUOTES)
-ADD_TEST(simple ${CMake_BINARY_DIR}/Source/cmaketest 
-  ${CMake_SOURCE_DIR}/Tests/Simple 
-  ${CMake_BINARY_DIR}/Tests/Simple 
-  ${CMake_BINARY_DIR}/Tests/Simple/simple
-)
+IF(BUILD_TESTING)
+  IF (DART_ROOT)
+    ADD_EXECUTABLE(cmaketest cmaketest.cxx cmSystemTools.cxx)
+    ADD_DEPENDENCIES(cmaketest cmake)
+    ADD_DEPENDENCIES(Nightly cmaketest cmake)
+    ADD_DEPENDENCIES(Experimental cmaketest cmake)
+
+    CONFIGURE_FILE(
+      ${CMake_SOURCE_DIR}/Source/cmaketest.h.in 
+      ${CMake_BINARY_DIR}/Source/cmaketest.h ESCAPE_QUOTES)
+    ADD_TEST(simple ${CMake_BINARY_DIR}/Source/cmaketest 
+      ${CMake_SOURCE_DIR}/Tests/Simple 
+      ${CMake_BINARY_DIR}/Tests/Simple 
+      ${CMake_BINARY_DIR}/Tests/Simple/simple
+    )
+
+  ENDIF (DART_ROOT)
+ENDIF(BUILD_TESTING)
+
 
 INSTALL_TARGETS(/bin cmake)
 

+ 1 - 0
Source/MFCDialog/CMakeLists.txt

@@ -14,3 +14,4 @@ ADD_DEFINITIONS(-D_AFXDLL)
 SET(CMAKE_MFC_FLAG 6)
 
 ADD_EXECUTABLE(CMakeSetup WIN32 SRCS)
+ADD_DEPENDENCIES(CMakeSetup cmake)

+ 13 - 4
Source/cmAddCustomTargetCommand.cxx

@@ -51,18 +51,27 @@ bool cmAddCustomTargetCommand::InitialPass(std::vector<std::string>& args)
     return false;
     }
   m_Makefile->ExpandVariablesInString(args[0]);
-  m_Makefile->ExpandVariablesInString(args[1]);
 
-    // all target option
+  // all target option
+  std::string result;
+  std::vector<std::string>::iterator s = args.begin();
+  ++s;
   if (args.size() >= 3)
     {
-    if (args[2] == "ALL")
+    if (args[1] == "ALL")
       {
       all = true;
+      ++s;
       }
     }
+  for (;s != args.end(); ++s)
+    {
+    m_Makefile->ExpandVariablesInString(*s);
+    result += cmSystemTools::EscapeSpaces(s->c_str());
+    result += " ";
+    }
   m_Makefile->AddUtilityCommand(args[0].c_str(), 
-                                args[1].c_str(), all);
+                                result.c_str(), all);
 
   return true;
 }

+ 1 - 1
Source/cmAddCustomTargetCommand.h

@@ -90,7 +90,7 @@ public:
   virtual const char* GetFullDocumentation()
     {
     return
-      "ADD_CUSTOM_TARGET(Name \"command to run\" ALL)\n"
+      "ADD_CUSTOM_TARGET(Name [ALL] command arg arg arg ...)\n"
       "The ALL option is optional. If it is specified it indicates that this target should be added to the Build all target.";
     }
   

+ 1 - 1
Source/cmBuildCommand.cxx

@@ -66,7 +66,7 @@ bool cmBuildCommand::InitialPass(std::vector<std::string>& args)
     makecommand += "\"";
     makecommand += " ";
     makecommand += m_Makefile->GetProjectName();
-    makecommand += ".dsw /MAKE \"ALL_BUILD - Release\" /REBUILD";
+    makecommand += ".dsw /MAKE \"ALL_BUILD - Release\" ";
     }
   else
     {