aboutsummaryrefslogtreecommitdiff
path: root/cmake
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2016-04-05 17:55:32 +0200
committerShauren <shauren.trinity@gmail.com>2016-04-09 12:38:20 +0200
commit702cfefddbc1a8a83e113cec44ee09ecc9daf6db (patch)
tree86ad39f4569dfaed2b123f7d18ddfc0bbd126625 /cmake
parent25b3564a9d2c9205ff3712488b0d48dc3c09cc4f (diff)
Buildsystem: Initial changes to support building with vs clang toolset
(cherry picked from commit 4a3a178d7fe9d2d7e8fde2fe915cf5cec5223502)
Diffstat (limited to 'cmake')
-rw-r--r--cmake/compiler/msvc/settings.cmake6
-rw-r--r--cmake/macros/FindPCHSupport.cmake2
-rw-r--r--cmake/platform/win/settings.cmake21
3 files changed, 11 insertions, 18 deletions
diff --git a/cmake/compiler/msvc/settings.cmake b/cmake/compiler/msvc/settings.cmake
index c2eda80512b..f9a89f72076 100644
--- a/cmake/compiler/msvc/settings.cmake
+++ b/cmake/compiler/msvc/settings.cmake
@@ -31,7 +31,11 @@ else()
endif()
# Set build-directive (used in core to tell which buildtype we used)
-add_definitions(-D_BUILD_DIRECTIVE=\\"$(ConfigurationName)\\")
+if(CMAKE_MAKE_PROGRAM MATCHES "nmake")
+ add_definitions(-D_BUILD_DIRECTIVE=\\"${CMAKE_BUILD_TYPE}\\")
+else()
+ add_definitions(-D_BUILD_DIRECTIVE=\\"$(ConfigurationName)\\")
+endif()
# multithreaded compiling on VS
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP")
diff --git a/cmake/macros/FindPCHSupport.cmake b/cmake/macros/FindPCHSupport.cmake
index 6edc8e92890..9cc39a13b04 100644
--- a/cmake/macros/FindPCHSupport.cmake
+++ b/cmake/macros/FindPCHSupport.cmake
@@ -143,7 +143,7 @@ FUNCTION(ADD_CXX_PCH_XCODE TARGET_NAME_LIST PCH_HEADER PCH_SOURCE)
ENDFUNCTION(ADD_CXX_PCH_XCODE)
FUNCTION(ADD_CXX_PCH TARGET_NAME_LIST PCH_HEADER PCH_SOURCE)
- IF (MSVC)
+ IF (CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
ADD_CXX_PCH_MSVC("${TARGET_NAME_LIST}" ${PCH_HEADER} ${PCH_SOURCE})
ELSEIF ("${CMAKE_GENERATOR}" MATCHES "Xcode")
ADD_CXX_PCH_XCODE("${TARGET_NAME_LIST}" ${PCH_HEADER} ${PCH_SOURCE})
diff --git a/cmake/platform/win/settings.cmake b/cmake/platform/win/settings.cmake
index da66daf0832..0c1a103304a 100644
--- a/cmake/platform/win/settings.cmake
+++ b/cmake/platform/win/settings.cmake
@@ -1,20 +1,9 @@
-# check the CMake preload parameters (commented out by default)
+add_definitions(-D_WIN32_WINNT=0x0601)
-# overload CMAKE_INSTALL_PREFIX if not being set properly
-#if( WIN32 )
-# if( NOT CYGWIN )
-# if( NOT CMAKE_INSTALL_PREFIX )
-# set(CMAKE_INSTALL_PREFIX "${CMAKE_BINARY_DIR}/bin")
-# endif()
-# endif()
-#endif()
-
-if (WIN32)
- add_definitions(-D_WIN32_WINNT=0x0601)
-endif()
-
-if ( MSVC )
+if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
include(${CMAKE_SOURCE_DIR}/cmake/compiler/msvc/settings.cmake)
-elseif ( MINGW )
+elseif (CMAKE_CXX_PLATFORM_ID MATCHES "MinGW")
include(${CMAKE_SOURCE_DIR}/cmake/compiler/mingw/settings.cmake)
+elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
+ include(${CMAKE_SOURCE_DIR}/cmake/compiler/clang/settings.cmake)
endif()