Browse Source

ENH: build codeblocks generator also on Windows

Alex
Alexander Neundorf 18 years ago
parent
commit
27244a1fde
3 changed files with 28 additions and 14 deletions
  1. 6 3
      Source/CMakeLists.txt
  2. 8 4
      Source/cmExtraCodeBlocksGenerator.cxx
  3. 14 7
      Source/cmake.cxx

+ 6 - 3
Source/CMakeLists.txt

@@ -173,10 +173,13 @@ SET(SRCS
 
 # Kdevelop only works on UNIX and not windows
 IF(UNIX)
-  SET(SRCS ${SRCS}
-    cmGlobalKdevelopGenerator.cxx
-    cmExtraCodeBlocksGenerator.cxx)
+  SET(SRCS ${SRCS} cmGlobalKdevelopGenerator.cxx)
 ENDIF(UNIX)
+
+IF(NOT CYGWIN)
+  SET(SRCS ${SRCS} cmExtraCodeBlocksGenerator.cxx)
+ENDIF(NOT CYGWIN)
+
 # XCode only works on apple
 IF(APPLE)
   SET(SRCS ${SRCS}

+ 8 - 4
Source/cmExtraCodeBlocksGenerator.cxx

@@ -37,15 +37,19 @@ void cmExtraCodeBlocksGenerator
     "Project files for CodeBlocks will be created in the top directory "
     "and in every subdirectory which features a CMakeLists.txt file "
     "containing a PROJECT() call. "
-    "Additionally a hierarchy of UNIX makefiles is generated into the "
-    "build tree.  Any "
-    "standard UNIX-style make program can build the project through the "
-    "default make target.  A \"make install\" target is also provided.";
+    "Additionally a hierarchy of makefiles is generated into the "
+    "build tree.  The appropriate make program can build the project through "
+    "the default make target.  A \"make install\" target is also provided.";
 }
 
 cmExtraCodeBlocksGenerator::cmExtraCodeBlocksGenerator()
 :cmExternalMakefileProjectGenerator()
 {
+#if defined(_WIN32)
+  this->SupportedGlobalGenerators.push_back("NMake Makefiles");
+  this->SupportedGlobalGenerators.push_back("MSYS Makefiles");
+  this->SupportedGlobalGenerators.push_back("MinGW Makefiles");
+#endif
   this->SupportedGlobalGenerators.push_back("Unix Makefiles");
 }
 

+ 14 - 7
Source/cmake.cxx

@@ -70,9 +70,12 @@
 #endif
 #include "cmGlobalUnixMakefileGenerator3.h"
 
+#if !defined(__CYGWIN__) && !defined(CMAKE_BOOT_MINGW)
+# include "cmExtraCodeBlocksGenerator.h"
+#endif
+
 #ifdef CMAKE_USE_KDEVELOP
 # include "cmGlobalKdevelopGenerator.h"
-# include "cmExtraCodeBlocksGenerator.h"
 #endif
 
 #include <stdlib.h> // required for atoi
@@ -1472,15 +1475,17 @@ void cmake::AddExtraGenerator(const char* name,
 
 void cmake::AddDefaultExtraGenerators()
 {
+#if defined(CMAKE_BUILD_WITH_CMAKE)
 #if defined(_WIN32) && !defined(__CYGWIN__)
-# if !defined(CMAKE_BOOT_MINGW)
-  // e.g. codeblocks, kdevelop4 ?
-# endif
+  // e.g. kdevelop4 ?
 #endif
-// e.g. eclipse ?
-#ifdef CMAKE_USE_KDEVELOP
-  this->AddExtraGenerator(cmExtraCodeBlocksGenerator::GetActualName(), 
+
+#if !defined(__CYGWIN__)
+  this->AddExtraGenerator(cmExtraCodeBlocksGenerator::GetActualName(),
                           &cmExtraCodeBlocksGenerator::New);
+#endif
+
+#ifdef CMAKE_USE_KDEVELOP
   this->AddExtraGenerator(cmGlobalKdevelopGenerator::GetActualName(), 
                           &cmGlobalKdevelopGenerator::New);
   // for kdevelop also add the generator with just the name of the 
@@ -1488,6 +1493,8 @@ void cmake::AddDefaultExtraGenerators()
   this->ExtraGenerators[cmGlobalKdevelopGenerator::GetActualName()] 
                                              = &cmGlobalKdevelopGenerator::New;
 #endif
+
+#endif
 }