diff --git a/.gitignore b/.gitignore
index b0bb017eb2e17b16b30cf2967518b36e3e3e0082..b8a3225d80f48cd02653ad1abf9dcb033efaf3f7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,3 +5,4 @@ build-qml/
 
 msvc/
 translations/*.qm
+CMakeLists.txt.user
diff --git a/CMakeLists.txt b/CMakeLists.txt
index ba916933707bd964274882b635a2acb817c35c29..b3e31012627ae46ef04c2af3aab50045fc197392 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -245,13 +245,13 @@ ENDIF()
 
 IF(NOT (${ENABLE_VIDEO} MATCHES false))
    MESSAGE(STATUS "VIDEO enabled")
-   SET(ENABLE_VIDEO 1 CACHE BOOLEAN "Enable video")
+   SET(ENABLE_VIDEO 1 CACHE BOOL "Enable video")
    add_definitions( -DENABLE_VIDEO=true )
 ENDIF(NOT (${ENABLE_VIDEO} MATCHES false))
 
 IF(NOT (${ENABLE_PLUGIN} MATCHES false))
    MESSAGE(STATUS "PLUGIN enabled")
-   SET(ENABLE_PLUGIN 1 CACHE BOOLEAN "Enable plugin")
+   SET(ENABLE_PLUGIN 1 CACHE BOOL "Enable plugin")
    add_definitions( -DENABLE_PLUGIN=true )
 ENDIF(NOT (${ENABLE_PLUGIN} MATCHES false))
 
@@ -783,6 +783,8 @@ IF((${ENABLE_TEST} MATCHES true))
   ENDIF()
 ENDIF()
 
-IF (CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
-    SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /U_MBCS /DUNICODE")
-ENDIF()
+if (CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
+    add_definitions(-DUNICODE -D_UNICODE)
+    remove_definitions(-D_MBCS)
+    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
+endif()
diff --git a/src/qtwrapper/CMakeLists.txt b/src/qtwrapper/CMakeLists.txt
index b68ff4bd6f9de3f3bac4302a0f581ab482ea3f13..3cafbbcd4f7248ab4b9a68c469fb45e5a9a68c07 100644
--- a/src/qtwrapper/CMakeLists.txt
+++ b/src/qtwrapper/CMakeLists.txt
@@ -31,13 +31,13 @@ SET(libqtwrapper_LIB_SRCS
 IF(NOT (${ENABLE_VIDEO} MATCHES "false"))
    MESSAGE("VIDEO enabled")
    ADD_DEFINITIONS(-DENABLE_VIDEO=true)
-   SET(ENABLE_VIDEO 1 CACHE BOOLEAN "Enable video")
+   SET(ENABLE_VIDEO 1 CACHE BOOL "Enable video")
 ENDIF(NOT (${ENABLE_VIDEO} MATCHES "false"))
 
 IF(NOT (${ENABLE_PLUGIN} MATCHES "false"))
    MESSAGE("PLUGIN enabled")
    ADD_DEFINITIONS(-DENABLE_PLUGIN=true)
-   SET(ENABLE_PLUGIN 1 CACHE BOOLEAN "Enable plugin")
+   SET(ENABLE_PLUGIN 1 CACHE BOOL "Enable plugin")
 ENDIF(NOT (${ENABLE_PLUGIN} MATCHES "false"))
 
 IF(ENABLE_PLUGIN)
@@ -68,6 +68,8 @@ if (NOT (CMAKE_CXX_COMPILER_ID MATCHES "MSVC"))
    ADD_DEFINITIONS("-std=c++0x")
 endif()
 
-IF (CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
-    SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /U_MBCS /DUNICODE")
-ENDIF()
\ No newline at end of file
+if (CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
+    add_definitions(-DUNICODE -D_UNICODE)
+    remove_definitions(-D_MBCS)
+    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
+endif()
\ No newline at end of file