# HG changeset patch # User Michael Goffioul # Date 1374069870 14400 # Node ID d468ce1eb6367dd609da84e2a3e07790dc1b2116 # Parent fae248a5b181116ca69891ad2739986a6f135be9 [MSVC] fix cmake for use with clgcc/clg++ - adapt toolchain file (avoid making cmake think it's cross-compiling) - patch cmake to prevent using link library prefix (-l) and suffix (.lib) diff -r fae248a5b181 -r d468ce1eb636 Makefile.in --- a/Makefile.in Mon Jul 15 21:29:42 2013 -0400 +++ b/Makefile.in Wed Jul 17 10:04:30 2013 -0400 @@ -551,10 +551,13 @@ define build-cmake-toolchain-file # create the CMake toolchain file [ -d '$(dir $(CMAKE_TOOLCHAIN_FILE))' ] || mkdir -p '$(dir $(CMAKE_TOOLCHAIN_FILE))' - (if [ $(MXE_SYSTEM) = mingw -o $(MXE_SYSTEM) = msvc ]; then \ + (if [ $(MXE_SYSTEM) = mingw ]; then \ echo 'set(CMAKE_SYSTEM_NAME Windows)'; \ echo 'set(MSYS 1)'; \ fi; \ + if [ $(MXE_SYSTEM) = msvc ]; then \ + echo 'set(MSVC 1)'; \ + fi; \ if [ $(BUILD_SHARED) = yes ]; then \ echo 'set(BUILD_SHARED_LIBS ON)'; \ else \ @@ -566,8 +569,13 @@ echo 'set(BUILD_STATIC_LIBS OFF)'; \ fi; \ echo 'set(CMAKE_BUILD_TYPE Release)'; \ - echo 'set(CMAKE_FIND_ROOT_PATH $(HOST_PREFIX))'; \ - echo 'set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)'; \ + if [ $(MXE_SYSTEM) = msvc ]; then \ + echo 'set(CMAKE_FIND_ROOT_PATH $(HOST_PREFIX_NATIVE))'; \ + echo 'set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM BOTH)'; \ + else \ + echo 'set(CMAKE_FIND_ROOT_PATH $(HOST_PREFIX))'; \ + echo 'set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)'; \ + fi; \ echo 'set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)'; \ echo 'set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)'; \ echo 'set(CMAKE_C_COMPILER $(MXE_CC))'; \ @@ -576,7 +584,11 @@ echo 'set(CMAKE_RC_COMPILER $(MXE_WINDRES))'; \ echo 'set(PKG_CONFIG_EXECUTABLE $(MXE_PKG_CONFIG))'; \ echo 'set(QT_QMAKE_EXECUTABLE $(MXE_QMAKE))'; \ - echo 'set(CMAKE_INSTALL_PREFIX $(HOST_PREFIX) CACHE PATH "Installation Prefix")'; \ + if [ $(MXE_SYSTEM) = msvc ]; then \ + echo 'set(CMAKE_INSTALL_PREFIX $(HOST_PREFIX_NATIVE) CACHE PATH "Installation Prefix")'; \ + else \ + echo 'set(CMAKE_INSTALL_PREFIX $(HOST_PREFIX) CACHE PATH "Installation Prefix")'; \ + fi; \ echo 'set(CMAKE_BUILD_TYPE Release CACHE STRING "Debug|Release|RelWithDebInfo|MinSizeRel")') \ > '$(CMAKE_TOOLCHAIN_FILE)' endef diff -r fae248a5b181 -r d468ce1eb636 dist-files.mk --- a/dist-files.mk Mon Jul 15 21:29:42 2013 -0400 +++ b/dist-files.mk Wed Jul 17 10:04:30 2013 -0400 @@ -279,6 +279,7 @@ mingwrt.mk \ mpfr.mk \ msitools.mk \ + msvc-build-cmake-1.patch \ msvc-dbus-1.patch \ msvc-fftw-1.patch \ msvc-fltk-1.patch \ diff -r fae248a5b181 -r d468ce1eb636 src/msvc-build-cmake-1.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/msvc-build-cmake-1.patch Wed Jul 17 10:04:30 2013 -0400 @@ -0,0 +1,11 @@ +diff -ur cmake-2.8.9-orig/Modules/Platform/Windows.cmake cmake-2.8.9/Modules/Platform/Windows.cmake +--- cmake-2.8.9-orig/Modules/Platform/Windows.cmake 2012-08-09 14:15:19 -0400 ++++ cmake-2.8.9/Modules/Platform/Windows.cmake 2013-07-17 09:59:10 -0400 +@@ -8,6 +8,7 @@ + SET(CMAKE_IMPORT_LIBRARY_SUFFIX ".lib") + SET(CMAKE_EXECUTABLE_SUFFIX ".exe") # .exe + SET(CMAKE_LINK_LIBRARY_SUFFIX ".lib") ++SET(CMAKE_LINK_LIBRARY_FLAG "") + SET(CMAKE_DL_LIBS "") + + SET(CMAKE_FIND_LIBRARY_PREFIXES "")