From d6b58c8a1e44349cd16c107cc6848dd08078c537 Mon Sep 17 00:00:00 2001
From: Laurent Van Migroet <l.vanmiegroet@ulg.ac.be>
Date: Mon, 17 Aug 2009 14:37:52 +0000
Subject: [PATCH] Add _WITH_OOFELIE_ variable to put good compiler flags

---
 CMakeLists.txt | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 34363e4ab5..ef7d6ff37b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -579,6 +579,28 @@ add_library(lib STATIC EXCLUDE_FROM_ALL ${GMSH_SRC})
 set_target_properties(lib PROPERTIES OUTPUT_NAME Gmsh)
 if(MSVC)
   SET_TARGET_PROPERTIES(lib PROPERTIES DEBUG_POSTFIX d) 
+  OPTION(_WITH_OOFELIE_ "Set compiler options for oofelie stand alone" OFF)
+  IF(_WITH_OOFELIE_)
+	SET_TARGET_PROPERTIES(lib PROPERTIES LINK_FLAGS_RELEASE "/nodefaultlib:LIBCMT")
+	STRING(REPLACE "/MD" "/MT /Ot"   CMAKE_CXX_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE})   
+	STRING(REPLACE "/MDd" "/MTd /Ot" CMAKE_CXX_FLAGS_DEBUG   ${CMAKE_CXX_FLAGS_DEBUG})   
+	STRING(REPLACE "/MD" "/MT /Ot" CMAKE_C_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE})   
+	STRING(REPLACE "/MDd" "/MTd /Ot" CMAKE_C_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG})   
+	STRING(REPLACE "/O2" "/Ox" CMAKE_CXX_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE})   
+	STRING(REPLACE "/O2" "/Ox" CMAKE_C_FLAGS_RELEASE   ${CMAKE_C_FLAGS_RELEASE})   
+	STRING(REPLACE "/INCREMENTAL:NO" "/INCREMENTAL:YES" CMAKE_MODULE_LINKER_FLAGS_RELEASE ${CMAKE_MODULE_LINKER_FLAGS_RELEASE})
+	STRING(REPLACE "/INCREMENTAL:NO" "/INCREMENTAL:YES" CMAKE_EXE_LINKER_FLAGS_RELEASE ${CMAKE_EXE_LINKER_FLAGS_RELEASE})
+	STRING(REPLACE "/INCREMENTAL:NO" "/INCREMENTAL:YES" CMAKE_SHARED_LINKER_FLAGS_RELEASE ${CMAKE_SHARED_LINKER_FLAGS_RELEASE})
+
+	SET(CMAKE_CXX_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE} CACHE STRING "CXX Compiler Flags for Release" FORCE)
+	SET(CMAKE_CXX_FLAGS_DEBUG ${CMAKE_CXX_FLAGS_DEBUG} CACHE STRING "CXX Compiler Flags for Debug" FORCE)
+	SET(CMAKE_C_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE} CACHE STRING "C Compiler Flags for Release" FORCE)
+	SET(CMAKE_C_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG} CACHE STRING "C Compiler Flags for Debug" FORCE)
+	SET(CMAKE_MODULE_LINKER_FLAGS_RELEASE ${CMAKE_MODULE_LINKER_FLAGS_RELEASE} CACHE STRING "Lib Linker Flags for Release" FORCE)
+	SET(CMAKE_EXE_LINKER_FLAGS_RELEASE ${CMAKE_EXE_LINKER_FLAGS_RELEASE} CACHE STRING "Exe Linker Flags for Release" FORCE)
+	SET(CMAKE_SHARED_LINKER_FLAGS_RELEASE ${CMAKE_SHARED_LINKER_FLAGS_RELEASE} CACHE STRING "Dll Linker Flags for Release" FORCE)
+	SET(CMAKE_SHARED_LINKER_FLAGS_RELEASE ${CMAKE_SHARED_LINKER_FLAGS_RELEASE} CACHE STRING "Dll Linker Flags for Release" FORCE)
+  ENDIF(_WITH_OOFELIE_)
 endif(MSVC)
 
 if(HAVE_FLTK)
-- 
GitLab