diff cmake/FindD.cmake @ 273:2161595da42b

Unittest flags.
author SokoL_SD
date Mon, 28 Sep 2009 05:20:16 +0000
parents 2d061b52e077
children f5606687c578
line wrap: on
line diff
--- a/cmake/FindD.cmake	Thu Sep 24 13:33:59 2009 +0000
+++ b/cmake/FindD.cmake	Mon Sep 28 05:20:16 2009 +0000
@@ -76,14 +76,21 @@
 if(D_IS_LLVM)
     set(D_RELEASE_FLAGS ${D_RELEASE_FLAGS} -enable-inlining)
     set(D_DEBUG_FLAGS ${D_DEBUG_FLAGS} -d-debug)
+    set(D_VERSION_FLAG -d-version)
 else(D_IS_LLVM)
     set(D_RELEASE_FLAGS ${D_RELEASE_FLAGS} -inline)
     set(D_DEBUG_FLAGS ${D_DEBUG_FLAGS} -debug)
+    set(D_VERSION_FLAG -version)
 endif(D_IS_LLVM)
 if(CMAKE_HOST_WIN32)
     set(D_RELEASE_FLAGS ${D_RELEASE_FLAGS} -L/subsystem:windows)
 endif(CMAKE_HOST_WIN32)   
 
+# Unittest flags.
+option(UNITTEST "Includes unittests" "OFF")
+if(UNITTEST)
+    set(D_FLAGS ${D_FLAGS} -unittest)
+endif(UNITTEST)
 
 ## Settings.
 if(CMAKE_HOST_WIN32)
@@ -105,6 +112,12 @@
 ## Macros and functions.
 ##--------------------------------------------
 
+macro(add_d_versions)
+    foreach(arg_tmp ${ARGN})
+	set(D_FLAGS ${D_FLAGS} ${D_VERSION_FLAG}=${arg_tmp})
+    endforeach(arg_tmp ${ARGN})
+endmacro(add_d_versions)
+
 ## Make a native path.
 ## Usage:
 ##	set(path c:/file_path/file_name.cpp)
@@ -209,6 +222,9 @@
 		    )
 	endforeach (d_source_p_tmp ${SOURCES_tmp})
     else(NOT SINGLE_D_OBJECT)
+	if(is_ldc)
+	    set(FLAGS_tmp ${FLAGS_tmp} -oq )
+	endif(is_ldc)
 	set(count_objects_tmp 0)
 	set(files${count_objects_tmp}_tmp )
 	set(counter_tmp 0)