Mercurial > mxe-octave
changeset 3146:d468ce1eb636
[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)
author | Michael Goffioul <michael.goffioul@gmail.com> |
---|---|
date | Wed, 17 Jul 2013 10:04:30 -0400 |
parents | fae248a5b181 |
children | 9cd2f1a4d68f |
files | Makefile.in dist-files.mk src/msvc-build-cmake-1.patch |
diffstat | 3 files changed, 28 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- 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
--- 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 \
--- /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 "")