changeset 281:7f2e3ffa1c33

Workaround of the major dmd/optlink bug. All examples that failed on Windows now work.
author eldar
date Sun, 11 Oct 2009 05:23:41 +0000
parents bcc498ccf334
children 256ab6cb8e85
files cmake/FindD.cmake
diffstat 1 files changed, 8 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/cmake/FindD.cmake	Fri Oct 09 08:43:15 2009 +0000
+++ b/cmake/FindD.cmake	Sun Oct 11 05:23:41 2009 +0000
@@ -58,15 +58,19 @@
 
 if (NOT ONE_BUILD_COMMAND)
     if(D_IS_MARS)
-	set(opt_tmp "ON")
+        set(opt_tmp "ON")
     else(D_IS_MARS)
-	set(opt_tmp "OFF")
+        set(opt_tmp "OFF")
     endif(D_IS_MARS)   
     option(SINGLE_D_OBJECT "Build all d sources to one object file" ${opt_tmp})
     if(D_IS_LLVM)
-	set(D_FLAGS ${D_FLAGS} -singleobj)
+        set(D_FLAGS ${D_FLAGS} -singleobj)
     endif(D_IS_LLVM)
-    set(D_MODULES_PER_OBJECT 10000 CACHE STRING "Max number of modules per object file")
+    if(CMAKE_HOST_WIN32 AND D_IS_MARS)
+        set(D_MODULES_PER_OBJECT 200 CACHE STRING "Max number of modules per object file")
+    else(CMAKE_HOST_WIN32 AND D_IS_MARS)
+        set(D_MODULES_PER_OBJECT 10000 CACHE STRING "Max number of modules per object file")
+    endif(CMAKE_HOST_WIN32 AND D_IS_MARS)
 endif(NOT ONE_BUILD_COMMAND)
 
 ## Specific flags for build configurations.