diff --git a/cmake/2.8.11-cygwin.patch b/cmake/2.8.11-cygwin.patch new file mode 100644 index 00000000..ad17605f --- /dev/null +++ b/cmake/2.8.11-cygwin.patch @@ -0,0 +1,237 @@ +--- origsrc/cmake-2.8.10/Source/cmFileCommand.cxx 2012-10-31 10:32:06.000000000 -0500 ++++ src/cmake-2.8.10/Source/cmFileCommand.cxx 2013-03-16 22:55:11.306681100 -0500 +@@ -1002,7 +1002,7 @@ protected: + MatchProperties CollectMatchProperties(const char* file) + { + // Match rules are case-insensitive on some platforms. +-#if defined(_WIN32) || defined(__APPLE__) || defined(__CYGWIN__) ++#if defined(_WIN32) || defined(__APPLE__) + std::string lower = cmSystemTools::LowerCase(file); + const char* file_to_match = lower.c_str(); + #else +--- origsrc/cmake-2.8.10/Source/cmInstallCommand.cxx 2012-10-31 10:32:06.000000000 -0500 ++++ src/cmake-2.8.10/Source/cmInstallCommand.cxx 2013-03-16 22:56:21.008667800 -0500 +@@ -1090,7 +1090,7 @@ cmInstallCommand::HandleDirectoryMode(st + { + literal_args += " REGEX \""; + // Match rules are case-insensitive on some platforms. +-#if defined(_WIN32) || defined(__APPLE__) || defined(__CYGWIN__) ++#if defined(_WIN32) || defined(__APPLE__) + std::string regex = cmSystemTools::LowerCase(args[i]); + #else + std::string regex = args[i]; +--- origsrc/cmake-2.8.10/Source/kwsys/Glob.cxx 2012-10-31 10:32:06.000000000 -0500 ++++ src/cmake-2.8.10/Source/kwsys/Glob.cxx 2013-03-16 22:58:54.192429400 -0500 +@@ -37,7 +37,7 @@ + #include + namespace KWSYS_NAMESPACE + { +-#if defined(_WIN32) || defined(__APPLE__) || defined(__CYGWIN__) ++#if defined(_WIN32) || defined(__APPLE__) + // On Windows and apple, no difference between lower and upper case + # define KWSYS_GLOB_CASE_INDEPENDENT + #endif +--- origsrc/cmake-2.8.11/Source/kwsys/SystemInformation.cxx 2013-05-15 12:38:13.000000000 -0500 ++++ src/cmake-2.8.11/Source/kwsys/SystemInformation.cxx 2013-07-08 01:57:31.216321800 -0500 +@@ -888,7 +888,7 @@ void SystemInformation::RunMemoryCheck() + // Hide implementation details in an anonymous namespace. + namespace { + // ***************************************************************************** +-#if defined(__linux) || defined(__APPLE__) ++#if defined(__linux) || defined(__APPLE__) || defined(__CYGWIN__) + int LoadLines( + FILE *file, + kwsys_stl::vector &lines) +@@ -918,7 +918,7 @@ int LoadLines( + return nRead; + } + +-# if defined(__linux) ++# if defined(__linux) || defined(__CYGWIN__) + // ***************************************************************************** + int LoadLines( + const char *fileName, +@@ -957,7 +957,7 @@ int NameValue( + } + #endif + +-#if defined(__linux) ++#if defined(__linux) || defined(__CYGWIN__) + // **************************************************************************** + template + int GetFieldsFromFile( +@@ -2869,7 +2869,6 @@ bool SystemInformationImplementation::Re + pos = buffer.find("processor\t",pos+1); + } + +-#ifdef __linux + // Find the largest physical id. + int maxId = -1; + kwsys_stl::string idc = +@@ -2893,14 +2892,6 @@ bool SystemInformationImplementation::Re + this->NumberOfPhysicalCPU=static_cast( + numberOfCoresPerCPU*(maxId+1)); + +-#else // __CYGWIN__ +- // does not have "physical id" entries, neither "cpu cores" +- // this has to be fixed for hyper-threading. +- kwsys_stl::string cpucount = +- this->ExtractValueFromCpuInfoFile(buffer,"cpu count"); +- this->NumberOfPhysicalCPU= +- this->NumberOfLogicalCPU = atoi(cpucount.c_str()); +-#endif + // gotta have one, and if this is 0 then we get a / by 0n + // better to have a bad answer than a crash + if(this->NumberOfPhysicalCPU <= 0) +@@ -3086,7 +3077,7 @@ SystemInformationImplementation::GetHost + GlobalMemoryStatusEx(&statex); + return statex.ullTotalPhys/1024; + # endif +-#elif defined(__linux) ++#elif defined(__linux) || defined(__CYGWIN__) + SystemInformation::LongLong memTotal=0; + int ierr=GetFieldFromFile("/proc/meminfo","MemTotal:",memTotal); + if (ierr) +@@ -3217,7 +3208,7 @@ SystemInformationImplementation::GetHost + GlobalMemoryStatusEx(&statex); + return (statex.ullTotalPhys - statex.ullAvailPhys)/1024; + # endif +-#elif defined(__linux) ++#elif defined(__linux) || defined(__CYGWIN__) + const char *names[3]={"MemTotal:","MemFree:",NULL}; + SystemInformation::LongLong values[2]={SystemInformation::LongLong(0)}; + int ierr=GetFieldsFromFile("/proc/meminfo",names,values); +@@ -3276,7 +3267,7 @@ SystemInformationImplementation::GetProc + return -2; + } + return pmc.WorkingSetSize/1024; +-#elif defined(__linux) ++#elif defined(__linux) || defined(__CYGWIN__) + SystemInformation::LongLong memUsed=0; + int ierr=GetFieldFromFile("/proc/self/status","VmRSS:",memUsed); + if (ierr) +@@ -3328,7 +3319,7 @@ SystemInformationImplementation::GetProc + { + #if defined(_WIN32) + return GetCurrentProcessId(); +-#elif defined(__linux) || defined(__APPLE__) ++#elif defined(__linux) || defined(__APPLE__) || defined(__CYGWIN__) + return getpid(); + #else + return -1; +--- origsrc/cmake-2.8.10/Source/kwsys/SystemTools.cxx 2012-10-31 10:32:06.000000000 -0500 ++++ src/cmake-2.8.10/Source/kwsys/SystemTools.cxx 2013-03-16 22:52:11.830415600 -0500 +@@ -75,19 +75,12 @@ + // Windows API. + #if defined(_WIN32) + # include +-#elif defined (__CYGWIN__) +-# include +-# undef _WIN32 + #endif + + #if !KWSYS_CXX_HAS_ENVIRON_IN_STDLIB_H + extern char **environ; + #endif + +-#ifdef __CYGWIN__ +-extern "C" void cygwin_conv_to_win32_path(const char *path, char *win32_path); +-#endif +- + // getpwnam doesn't exist on Windows and Cray Xt3/Catamount + // same for TIOCGWINSZ + #if defined(_WIN32) || defined (__LIBCATAMOUNT__) +@@ -1068,7 +1061,7 @@ bool SystemTools::SameFile(const char* f + } + + //---------------------------------------------------------------------------- +-#if defined(_WIN32) || defined(__CYGWIN__) ++#if defined(_WIN32) + static bool WindowsFileExists(const char* filename) + { + WIN32_FILE_ATTRIBUTE_DATA fd; +@@ -1083,7 +1076,7 @@ bool SystemTools::FileExists(const char* + { + return false; + } +-#if defined(__CYGWIN__) ++#if 0 + // Convert filename to native windows path if possible. + char winpath[MAX_PATH]; + if(SystemTools::PathCygwinToWin32(filename, winpath)) +@@ -1111,7 +1104,7 @@ bool SystemTools::FileExists(const char* + } + + //---------------------------------------------------------------------------- +-#ifdef __CYGWIN__ ++#if 0 + bool SystemTools::PathCygwinToWin32(const char *path, char *win32_path) + { + SystemToolsTranslationMap::iterator i = +@@ -3894,7 +3887,7 @@ bool SystemTools::LocateFileInDir(const + bool SystemTools::FileIsFullPath(const char* in_name) + { + kwsys_stl::string name = in_name; +-#if defined(_WIN32) || defined(__CYGWIN__) ++#if defined(_WIN32) + // On Windows, the name must be at least two characters long. + if(name.length() < 2) + { +@@ -4712,9 +4705,6 @@ bool SystemTools::ParseURL( const kwsys_ + unsigned int SystemToolsManagerCount; + SystemToolsTranslationMap *SystemTools::TranslationMap; + SystemToolsTranslationMap *SystemTools::LongPathMap; +-#ifdef __CYGWIN__ +-SystemToolsTranslationMap *SystemTools::Cyg2Win32Map; +-#endif + + // SystemToolsManager manages the SystemTools singleton. + // SystemToolsManager should be included in any translation unit +@@ -4760,9 +4750,6 @@ void SystemTools::ClassInitialize() + // Allocate the translation map first. + SystemTools::TranslationMap = new SystemToolsTranslationMap; + SystemTools::LongPathMap = new SystemToolsTranslationMap; +-#ifdef __CYGWIN__ +- SystemTools::Cyg2Win32Map = new SystemToolsTranslationMap; +-#endif + + // Add some special translation paths for unix. These are not added + // for windows because drive letters need to be maintained. Also, +@@ -4817,9 +4804,6 @@ void SystemTools::ClassFinalize() + { + delete SystemTools::TranslationMap; + delete SystemTools::LongPathMap; +-#ifdef __CYGWIN__ +- delete SystemTools::Cyg2Win32Map; +-#endif + } + + +--- origsrc/cmake-2.8.10/Source/kwsys/SystemTools.hxx.in 2012-10-31 10:32:06.000000000 -0500 ++++ src/cmake-2.8.10/Source/kwsys/SystemTools.hxx.in 2013-03-16 23:10:30.185237900 -0500 +@@ -277,15 +277,6 @@ public: + static bool FileExists(const char* filename); + + /** +- * Converts Cygwin path to Win32 path. Uses dictionary container for +- * caching and calls to cygwin_conv_to_win32_path from Cygwin dll +- * for actual translation. Returns true on success, else false. +- */ +-#ifdef __CYGWIN__ +- static bool PathCygwinToWin32(const char *path, char *win32_path); +-#endif +- +- /** + * Return file length + */ + static unsigned long FileLength(const char *filename); +@@ -887,9 +878,6 @@ private: + */ + static SystemToolsTranslationMap *TranslationMap; + static SystemToolsTranslationMap *LongPathMap; +-#ifdef __CYGWIN__ +- static SystemToolsTranslationMap *Cyg2Win32Map; +-#endif + friend class SystemToolsManager; + }; + diff --git a/cmake/2.8.9-perl-libs.patch b/cmake/2.8.9-perl-libs.patch new file mode 100644 index 00000000..6e411d05 --- /dev/null +++ b/cmake/2.8.9-perl-libs.patch @@ -0,0 +1,13 @@ +--- origsrc/cmake-2.8.9/Modules/FindPerlLibs.cmake 2012-08-09 13:15:19.000000000 -0500 ++++ src/cmake-2.8.9/Modules/FindPerlLibs.cmake 2012-08-24 05:48:43.898426900 -0500 +@@ -206,9 +206,8 @@ if (PERL_EXECUTABLE) + ) + if (NOT PERL_LIBRARY_RESULT_VARIABLE) + string(REGEX REPLACE "libperl='([^']+)'.*" "\\1" PERL_POSSIBLE_LIBRARY_NAMES ${PERL_LIBRARY_OUTPUT_VARIABLE}) +- else () +- set(PERL_POSSIBLE_LIBRARY_NAMES perl${PERL_VERSION_STRING} perl) + endif () ++ set(PERL_POSSIBLE_LIBRARY_NAMES ${PERL_POSSIBLE_LIBRARY_NAMES} perl${PERL_VERSION_STRING} perl) + + ### PERL_INCLUDE_PATH + find_path(PERL_INCLUDE_PATH diff --git a/cmake/2.8.9-ruby19.patch b/cmake/2.8.9-ruby19.patch new file mode 100644 index 00000000..514c7b84 --- /dev/null +++ b/cmake/2.8.9-ruby19.patch @@ -0,0 +1,20 @@ +--- origsrc/cmake-2.8.9/Modules/FindRuby.cmake 2012-08-09 13:15:19.000000000 -0500 ++++ src/cmake-2.8.9/Modules/FindRuby.cmake 2012-08-23 01:36:44.554852600 -0500 +@@ -88,6 +88,8 @@ IF(RUBY_EXECUTABLE AND NOT RUBY_VERSIO + _RUBY_CONFIG_VAR("libdir" RUBY_POSSIBLE_LIB_DIR) + _RUBY_CONFIG_VAR("rubylibdir" RUBY_RUBY_LIB_DIR) + ++ _RUBY_CONFIG_VAR("RUBY_SO_NAME" RUBY_SO_NAME) ++ + # site_ruby + _RUBY_CONFIG_VAR("sitearchdir" RUBY_SITEARCH_DIR) + _RUBY_CONFIG_VAR("sitelibdir" RUBY_SITELIB_DIR) +@@ -176,7 +178,7 @@ ENDIF( "${Ruby_FIND_VERSION_SHORT_NODOT} + + + # Determine the list of possible names for the ruby library +-set(_RUBY_POSSIBLE_LIB_NAMES ruby ruby-static ruby${_RUBY_VERSION_SHORT} ruby${_RUBY_VERSION_SHORT_NODOT} ruby-${_RUBY_VERSION_SHORT} ruby-${RUBY_VERSION}) ++set(_RUBY_POSSIBLE_LIB_NAMES ${RUBY_SO_NAME} ${RUBY_SO_NAME}-static ruby ruby-static) + + if(WIN32) + set( _RUBY_MSVC_RUNTIME "" ) diff --git a/cmake/PKGBUILD b/cmake/PKGBUILD new file mode 100644 index 00000000..8705ec0e --- /dev/null +++ b/cmake/PKGBUILD @@ -0,0 +1,76 @@ +# Maintainer: Alexey Pavlov + +pkgname=cmake +pkgver=2.8.12.2 +pkgrel=2 +pkgdesc="A cross-platform open-source make system (mingw-w64)." +arch=('i686' 'x86_64') +url="http://www.cmake.org/" +license=("MIT") +makedepends=("gcc" "pkg-config" + libcurl-devel + libexpat-devel + libarchive-devel + ncurses-devel + zlib-devel) +depends=("gcc-libs" + "libcurl" + "libexpat" + "libarchive" + "ncurses" + "pkg-config" + "zlib") +options=('staticlibs' 'strip') +source=("http://www.cmake.org/files/v2.8/${pkgname}-${pkgver}.tar.gz" + cmake-2.8.11.2-msys.patch + "findfreetype.patch" + "disable-response-files-for-msys.patch" + 2.8.11-cygwin.patch + 2.8.9-perl-libs.patch + 2.8.9-ruby19.patch) +md5sums=('17c6513483d23590cbce6957ec6d1e66' + '69b1bea788ef477b45137364793b87fb' + '90321de1d9d46cd8d6609d0509dbd7b0' + '9cb83b715a68f03f9db8c2eebc127f80' + '3a056694fe79d8e10f6560e86bab1558' + '3adff0ff67d05bb4576a195d017fde39' + '05a6d4218974bb28343c186996d1ad68') + +prepare() { + cd ${pkgname}-${pkgver} + patch -p1 -i ${srcdir}/cmake-2.8.11.2-msys.patch + patch -p1 -i ${srcdir}/findfreetype.patch + patch -p1 -i ${srcdir}/disable-response-files-for-msys.patch + patch -p2 -i ${srcdir}/2.8.11-cygwin.patch + patch -p2 -i ${srcdir}/2.8.9-perl-libs.patch + patch -p2 -i ${srcdir}/2.8.9-ruby19.patch +} + +build() { + mkdir -p "${srcdir}/build-${CARCH}" + cd "${srcdir}/build-${CARCH}" + + MSYSTEM=MSYS "${srcdir}"/${pkgname}-${pkgver}/configure \ + --prefix=/usr \ + --system-libs \ + --no-system-expat \ + --no-qt-gui \ + --parallel=3 \ + --mandir=share \ + --docdir=share/doc/cmake + + plain "Start building..." + make +} + +package() { + cd "${srcdir}/build-${CARCH}" + make DESTDIR=$pkgdir install + + vimpath="${pkgdir}/usr/share/vim/vimfiles" + install -Dm644 ${srcdir}/${pkgname}-${pkgver}/Docs/cmake-indent.vim "${vimpath}"/indent/cmake-indent.vim + install -Dm644 ${srcdir}/${pkgname}-${pkgver}/Docs/cmake-syntax.vim "${vimpath}"/syntax/cmake-syntax.vim + + install -Dm644 ${srcdir}/${pkgname}-${pkgver}/Copyright.txt \ + "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE +} diff --git a/cmake/cmake-2.8.11.2-msys.patch b/cmake/cmake-2.8.11.2-msys.patch new file mode 100644 index 00000000..cc848ba3 --- /dev/null +++ b/cmake/cmake-2.8.11.2-msys.patch @@ -0,0 +1,1407 @@ +diff -Naur cmake-2.8.11.2/bootstrap cmake-2.8.11.2-msys/bootstrap +--- cmake-2.8.11.2/bootstrap 2013-07-02 17:41:41.000000000 +0400 ++++ cmake-2.8.11.2-msys/bootstrap 2014-04-06 22:11:41.567000000 +0400 +@@ -58,6 +58,13 @@ + cmake_system_cygwin=false + fi + ++# Determine whether this is a MSYS environment. ++if echo "${cmake_system}" | grep MSYS >/dev/null 2>&1; then ++ cmake_system_msys=true ++else ++ cmake_system_msys=false ++fi ++ + # Determine whether this is a MinGW environment. + if echo "${cmake_system}" | grep MINGW >/dev/null 2>&1; then + cmake_system_mingw=true +@@ -672,6 +679,10 @@ + cmake_ld_flags="${LDFLAGS} -Wl,--enable-auto-import" + fi + ++if ${cmake_system_msys}; then ++ cmake_ld_flags="${LDFLAGS} -Wl,--enable-auto-import" ++fi ++ + # Add CoreFoundation framework on Darwin + if ${cmake_system_darwin}; then + cmake_ld_flags="${LDFLAGS} -framework CoreFoundation" +@@ -701,6 +712,7 @@ + case "${cmake_system}" in + *AIX*) cmake_toolchains='XL GNU' ;; + *CYGWIN*) cmake_toolchains='GNU' ;; ++ *MSYS*) cmake_toolchains='GNU' ;; + *Darwin*) cmake_toolchains='GNU Clang' ;; + *Linux*) cmake_toolchains='GNU Clang XL PGI PathScale' ;; + *MINGW*) cmake_toolchains='GNU' ;; +diff -Naur cmake-2.8.11.2/CMakeCPack.cmake cmake-2.8.11.2-msys/CMakeCPack.cmake +--- cmake-2.8.11.2/CMakeCPack.cmake 2013-07-02 17:41:39.000000000 +0400 ++++ cmake-2.8.11.2-msys/CMakeCPack.cmake 2014-04-06 22:14:23.853800000 +0400 +@@ -56,6 +56,8 @@ + # cygwin is good for the system name + if("${CMAKE_SYSTEM_NAME}" STREQUAL "CYGWIN") + set(CPACK_SYSTEM_NAME Cygwin) ++ elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "MSYS") ++ set(CPACK_SYSTEM_NAME MSYS) + else() + set(CPACK_SYSTEM_NAME ${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR}) + endif() +@@ -72,7 +74,7 @@ + # if the CPACK_PACKAGE_FILE_NAME is not defined by the cache + # default to source package - system, on cygwin system is not + # needed +- if(CYGWIN) ++ if(CYGWIN OR MSYS) + set(CPACK_PACKAGE_FILE_NAME "${CPACK_SOURCE_PACKAGE_FILE_NAME}") + else() + set(CPACK_PACKAGE_FILE_NAME +@@ -89,7 +91,7 @@ + endif() + + # cygwin specific packaging stuff +- if(CYGWIN) ++ if(CYGWIN OR MSYS) + # setup the cygwin package name + set(CPACK_PACKAGE_NAME cmake) + # setup the name of the package for cygwin cmake-2.4.3 +diff -Naur cmake-2.8.11.2/CMakeLists.txt cmake-2.8.11.2-msys/CMakeLists.txt +--- cmake-2.8.11.2/CMakeLists.txt 2013-07-02 17:41:39.000000000 +0400 ++++ cmake-2.8.11.2-msys/CMakeLists.txt 2014-04-06 22:16:10.885400000 +0400 +@@ -467,13 +467,17 @@ + set(CMAKE_MAN_DIR "man" CACHE STRING + "Install location for man pages (relative to prefix).") + mark_as_advanced(CMAKE_DATA_DIR CMAKE_DOC_DIR CMAKE_MAN_DIR) +-if(CYGWIN AND EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake") ++if((CYGWIN OR MSYS) AND EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake") + # Force doc, data and man dirs to conform to cygwin layout. + set(CMAKE_DOC_DIR "share/doc/cmake-${CMake_VERSION}") + set(CMAKE_DATA_DIR "share/cmake-${CMake_VERSION}") + set(CMAKE_MAN_DIR "share/man") + # let the user know we just forced these values +- message(STATUS "Setup for Cygwin packaging") ++ if(CYGWIN) ++ message(STATUS "Setup for Cygwin packaging") ++ else() ++ message(STATUS "Setup for MSYS packaging") ++ endif() + message(STATUS "Override cache CMAKE_DOC_DIR = ${CMAKE_DOC_DIR}") + message(STATUS "Override cache CMAKE_DATA_DIR = ${CMAKE_DATA_DIR}") + message(STATUS "Override cache CMAKE_MAN_DIR = ${CMAKE_MAN_DIR}") +diff -Naur cmake-2.8.11.2/Docs/cmake-syntax.vim cmake-2.8.11.2-msys/Docs/cmake-syntax.vim +--- cmake-2.8.11.2/Docs/cmake-syntax.vim 2013-07-02 17:41:39.000000000 +0400 ++++ cmake-2.8.11.2-msys/Docs/cmake-syntax.vim 2014-04-06 22:16:50.727800000 +0400 +@@ -41,7 +41,7 @@ + syn region cmakeArguments start=/(/ end=/)/ + \ contains=ALLBUT,cmakeArguments,cmakeTodo + syn keyword cmakeSystemVariables +- \ WIN32 UNIX APPLE CYGWIN BORLAND MINGW MSVC MSVC_IDE MSVC60 MSVC70 MSVC71 MSVC80 MSVC90 ++ \ WIN32 UNIX APPLE CYGWIN MSYS BORLAND MINGW MSVC MSVC_IDE MSVC60 MSVC70 MSVC71 MSVC80 MSVC90 + syn keyword cmakeOperators + \ ABSOLUTE AND BOOL CACHE COMMAND DEFINED DOC EQUAL EXISTS EXT FALSE GREATER INTERNAL LESS MATCHES NAME NAMES NAME_WE NOT OFF ON OR PATH PATHS PROGRAM STREQUAL STRGREATER STRING STRLESS TRUE + \ contained +diff -Naur cmake-2.8.11.2/Modules/CMakeCCompiler.cmake.in cmake-2.8.11.2-msys/Modules/CMakeCCompiler.cmake.in +--- cmake-2.8.11.2/Modules/CMakeCCompiler.cmake.in 2013-07-02 17:41:39.000000000 +0400 ++++ cmake-2.8.11.2-msys/Modules/CMakeCCompiler.cmake.in 2014-04-06 22:17:52.051400000 +0400 +@@ -13,10 +13,15 @@ + set(CMAKE_C_ABI_COMPILED @CMAKE_C_ABI_COMPILED@) + set(CMAKE_COMPILER_IS_MINGW @CMAKE_COMPILER_IS_MINGW@) + set(CMAKE_COMPILER_IS_CYGWIN @CMAKE_COMPILER_IS_CYGWIN@) ++set(CMAKE_COMPILER_IS_MSYS @CMAKE_COMPILER_IS_MSYS@) + if(CMAKE_COMPILER_IS_CYGWIN) + set(CYGWIN 1) + set(UNIX 1) + endif() ++if(CMAKE_COMPILER_IS_MSYS) ++ set(MSYS 1) ++ set(UNIX 1) ++endif() + + set(CMAKE_C_COMPILER_ENV_VAR "CC") + +diff -Naur cmake-2.8.11.2/Modules/CMakeCXXCompiler.cmake.in cmake-2.8.11.2-msys/Modules/CMakeCXXCompiler.cmake.in +--- cmake-2.8.11.2/Modules/CMakeCXXCompiler.cmake.in 2013-07-02 17:41:39.000000000 +0400 ++++ cmake-2.8.11.2-msys/Modules/CMakeCXXCompiler.cmake.in 2014-04-06 22:18:37.260200000 +0400 +@@ -13,10 +13,15 @@ + set(CMAKE_CXX_ABI_COMPILED @CMAKE_CXX_ABI_COMPILED@) + set(CMAKE_COMPILER_IS_MINGW @CMAKE_COMPILER_IS_MINGW@) + set(CMAKE_COMPILER_IS_CYGWIN @CMAKE_COMPILER_IS_CYGWIN@) ++set(CMAKE_COMPILER_IS_MSYS @CMAKE_COMPILER_IS_MSYS@) + if(CMAKE_COMPILER_IS_CYGWIN) + set(CYGWIN 1) + set(UNIX 1) + endif() ++if(CMAKE_COMPILER_IS_MSYS) ++ set(MSYS 1) ++ set(UNIX 1) ++endif() + + set(CMAKE_CXX_COMPILER_ENV_VAR "CXX") + +diff -Naur cmake-2.8.11.2/Modules/CMakeDetermineCCompiler.cmake cmake-2.8.11.2-msys/Modules/CMakeDetermineCCompiler.cmake +--- cmake-2.8.11.2/Modules/CMakeDetermineCCompiler.cmake 2013-07-02 17:41:39.000000000 +0400 ++++ cmake-2.8.11.2-msys/Modules/CMakeDetermineCCompiler.cmake 2014-04-06 22:19:18.615800000 +0400 +@@ -131,6 +131,8 @@ + set(CMAKE_COMPILER_IS_MINGW 1) + elseif("${CMAKE_C_PLATFORM_ID}" MATCHES "Cygwin") + set(CMAKE_COMPILER_IS_CYGWIN 1) ++ elseif("${CMAKE_C_PLATFORM_ID}" MATCHES "MSYS") ++ set(CMAKE_COMPILER_IS_MSYS 1) + endif() + endif() + +diff -Naur cmake-2.8.11.2/Modules/CMakeDetermineCXXCompiler.cmake cmake-2.8.11.2-msys/Modules/CMakeDetermineCXXCompiler.cmake +--- cmake-2.8.11.2/Modules/CMakeDetermineCXXCompiler.cmake 2013-07-02 17:41:39.000000000 +0400 ++++ cmake-2.8.11.2-msys/Modules/CMakeDetermineCXXCompiler.cmake 2014-04-06 22:19:50.361800000 +0400 +@@ -127,6 +127,8 @@ + set(CMAKE_COMPILER_IS_MINGW 1) + elseif("${CMAKE_CXX_PLATFORM_ID}" MATCHES "Cygwin") + set(CMAKE_COMPILER_IS_CYGWIN 1) ++ elseif("${CMAKE_CXX_PLATFORM_ID}" MATCHES "MSYS") ++ set(CMAKE_COMPILER_IS_MSYS 1) + endif() + endif() + +diff -Naur cmake-2.8.11.2/Modules/CMakeDetermineFortranCompiler.cmake cmake-2.8.11.2-msys/Modules/CMakeDetermineFortranCompiler.cmake +--- cmake-2.8.11.2/Modules/CMakeDetermineFortranCompiler.cmake 2013-07-02 17:41:39.000000000 +0400 ++++ cmake-2.8.11.2-msys/Modules/CMakeDetermineFortranCompiler.cmake 2014-04-06 22:20:59.173400000 +0400 +@@ -174,6 +174,9 @@ + if("${CMAKE_COMPILER_OUTPUT}" MATCHES ".*THIS_IS_CYGWIN.*" ) + set(CMAKE_Fortran_PLATFORM_ID "Cygwin") + endif() ++ if("${CMAKE_COMPILER_OUTPUT}" MATCHES ".*THIS_IS_MSYS.*" ) ++ set(CMAKE_Fortran_PLATFORM_ID "MSYS") ++ endif() + endif() + endif() + endif() +@@ -186,6 +189,8 @@ + set(CMAKE_COMPILER_IS_MINGW 1) + elseif("${CMAKE_Fortran_PLATFORM_ID}" MATCHES "Cygwin") + set(CMAKE_COMPILER_IS_CYGWIN 1) ++ elseif("${CMAKE_Fortran_PLATFORM_ID}" MATCHES "MSYS") ++ set(CMAKE_COMPILER_IS_MSYS 1) + endif() + endif() + +diff -Naur cmake-2.8.11.2/Modules/CMakeDetermineSystem.cmake cmake-2.8.11.2-msys/Modules/CMakeDetermineSystem.cmake +--- cmake-2.8.11.2/Modules/CMakeDetermineSystem.cmake 2013-07-02 17:41:39.000000000 +0400 ++++ cmake-2.8.11.2-msys/Modules/CMakeDetermineSystem.cmake 2014-04-06 22:26:05.619800000 +0400 +@@ -38,6 +38,7 @@ + # Tru64 Tru64 + # Ultrix ULTRIX + # cygwin CYGWIN_NT-5.1 ++# MSYS MSYS_NT-6.1 + # MacOSX Darwin + + +@@ -47,7 +48,7 @@ + if(CMAKE_UNAME) + exec_program(uname ARGS -s OUTPUT_VARIABLE CMAKE_HOST_SYSTEM_NAME) + exec_program(uname ARGS -r OUTPUT_VARIABLE CMAKE_HOST_SYSTEM_VERSION) +- if(CMAKE_HOST_SYSTEM_NAME MATCHES "Linux|CYGWIN.*") ++ if(CMAKE_HOST_SYSTEM_NAME MATCHES "Linux|CYGWIN.*|MSYS.*") + exec_program(uname ARGS -m OUTPUT_VARIABLE CMAKE_HOST_SYSTEM_PROCESSOR + RETURN_VALUE val) + elseif(CMAKE_HOST_SYSTEM_NAME MATCHES "OpenBSD") +@@ -145,6 +146,11 @@ + set(${_PREFIX}_NAME CYGWIN) + endif() + ++ # fix for MSYS which has windows version in it ++ if(${_PREFIX}_NAME MATCHES MSYS) ++ set(${_PREFIX}_NAME MSYS) ++ endif() ++ + # set CMAKE_SYSTEM to the CMAKE_SYSTEM_NAME + set(${_PREFIX} ${${_PREFIX}_NAME}) + # if there is a CMAKE_SYSTEM_VERSION then add a -${CMAKE_SYSTEM_VERSION} +diff -Naur cmake-2.8.11.2/Modules/CMakeFortranCompiler.cmake.in cmake-2.8.11.2-msys/Modules/CMakeFortranCompiler.cmake.in +--- cmake-2.8.11.2/Modules/CMakeFortranCompiler.cmake.in 2013-07-02 17:41:39.000000000 +0400 ++++ cmake-2.8.11.2-msys/Modules/CMakeFortranCompiler.cmake.in 2014-04-06 22:27:04.837400000 +0400 +@@ -11,11 +11,17 @@ + set(CMAKE_Fortran_ABI_COMPILED @CMAKE_Fortran_ABI_COMPILED@) + set(CMAKE_COMPILER_IS_MINGW @CMAKE_COMPILER_IS_MINGW@) + set(CMAKE_COMPILER_IS_CYGWIN @CMAKE_COMPILER_IS_CYGWIN@) ++set(CMAKE_COMPILER_IS_CYGWIN @CMAKE_COMPILER_IS_MSYS@) + if(CMAKE_COMPILER_IS_CYGWIN) + set(CYGWIN 1) + set(UNIX 1) + endif() + ++if(CMAKE_COMPILER_IS_MSYS) ++ set(MSYS 1) ++ set(UNIX 1) ++endif() ++ + set(CMAKE_Fortran_COMPILER_ENV_VAR "FC") + + set(CMAKE_Fortran_COMPILER_SUPPORTS_F90 @CMAKE_Fortran_COMPILER_SUPPORTS_F90@) +diff -Naur cmake-2.8.11.2/Modules/CMakeFortranCompilerId.F.in cmake-2.8.11.2-msys/Modules/CMakeFortranCompilerId.F.in +--- cmake-2.8.11.2/Modules/CMakeFortranCompilerId.F.in 2013-07-02 17:41:39.000000000 +0400 ++++ cmake-2.8.11.2-msys/Modules/CMakeFortranCompilerId.F.in 2014-04-06 22:28:08.454200000 +0400 +@@ -52,6 +52,8 @@ + #endif + #if defined(__linux) || defined(__linux__) || defined(linux) + PRINT *, 'INFO:platform[Linux]' ++#elif defined(__MSYS__) ++ PRINT *, 'INFO:platform[MSYS]' + #elif defined(__CYGWIN__) + PRINT *, 'INFO:platform[Cygwin]' + #elif defined(__MINGW32__) +diff -Naur cmake-2.8.11.2/Modules/CMakeJavaInformation.cmake cmake-2.8.11.2-msys/Modules/CMakeJavaInformation.cmake +--- cmake-2.8.11.2/Modules/CMakeJavaInformation.cmake 2013-07-02 17:41:39.000000000 +0400 ++++ cmake-2.8.11.2-msys/Modules/CMakeJavaInformation.cmake 2014-04-06 22:28:37.158200000 +0400 +@@ -52,7 +52,7 @@ + + # set java include flag option and the separator for multiple include paths + set(CMAKE_INCLUDE_FLAG_Java "-classpath ") +-if(WIN32 AND NOT CYGWIN) ++if(WIN32 AND NOT CYGWIN AND NOT MSYS) + set(CMAKE_INCLUDE_FLAG_SEP_Java ";") + else() + set(CMAKE_INCLUDE_FLAG_SEP_Java ":") +diff -Naur cmake-2.8.11.2/Modules/CMakePlatformId.h.in cmake-2.8.11.2-msys/Modules/CMakePlatformId.h.in +--- cmake-2.8.11.2/Modules/CMakePlatformId.h.in 2013-07-02 17:41:39.000000000 +0400 ++++ cmake-2.8.11.2-msys/Modules/CMakePlatformId.h.in 2014-04-06 22:29:15.378200000 +0400 +@@ -5,6 +5,9 @@ + #elif defined(__CYGWIN__) + # define PLATFORM_ID "Cygwin" + ++#elif defined(__MSYS__) ++# define PLATFORM_ID "MSYS" ++ + #elif defined(__MINGW32__) + # define PLATFORM_ID "MinGW" + +diff -Naur cmake-2.8.11.2/Modules/CMakeSystemSpecificInformation.cmake cmake-2.8.11.2-msys/Modules/CMakeSystemSpecificInformation.cmake +--- cmake-2.8.11.2/Modules/CMakeSystemSpecificInformation.cmake 2013-07-02 17:41:39.000000000 +0400 ++++ cmake-2.8.11.2-msys/Modules/CMakeSystemSpecificInformation.cmake 2014-04-06 22:29:38.996600000 +0400 +@@ -24,6 +24,7 @@ + set(APPLE ) + set(UNIX ) + set(CYGWIN ) ++set(MSYS ) + set(WIN32 ) + + +diff -Naur cmake-2.8.11.2/Modules/CMakeTestGNU.c cmake-2.8.11.2-msys/Modules/CMakeTestGNU.c +--- cmake-2.8.11.2/Modules/CMakeTestGNU.c 2013-07-02 17:41:39.000000000 +0400 ++++ cmake-2.8.11.2-msys/Modules/CMakeTestGNU.c 2014-04-06 22:30:05.906600000 +0400 +@@ -4,6 +4,9 @@ + #ifdef __MINGW32__ + void THIS_IS_MINGW(); + #endif ++#ifdef __MSYS__ ++void THIS_IS_MSYS(); ++#endif + #ifdef __CYGWIN__ + void THIS_IS_CYGWIN(); + #endif +diff -Naur cmake-2.8.11.2/Modules/CPack.cmake cmake-2.8.11.2-msys/Modules/CPack.cmake +--- cmake-2.8.11.2/Modules/CPack.cmake 2013-07-02 17:41:39.000000000 +0400 ++++ cmake-2.8.11.2-msys/Modules/CPack.cmake 2014-04-06 22:33:54.150200000 +0400 +@@ -420,6 +420,8 @@ + if(UNIX) + if(CYGWIN) + option(CPACK_BINARY_CYGWIN "Enable to build Cygwin binary packages" ON) ++ elseif(MSYS) ++ option(CPACK_BINARY_MSYS "Enable to build MSYS binary packages" ON) + else() + if(APPLE) + option(CPACK_BINARY_BUNDLE "Enable to build OSX bundles" OFF) +@@ -447,6 +449,7 @@ + cpack_optional_append(CPACK_GENERATOR CPACK_BINARY_PACKAGEMAKER PackageMaker) + cpack_optional_append(CPACK_GENERATOR CPACK_BINARY_OSXX11 OSXX11) + cpack_optional_append(CPACK_GENERATOR CPACK_BINARY_CYGWIN CygwinBinary) ++ cpack_optional_append(CPACK_GENERATOR CPACK_BINARY_MSYS MsysBinary) + cpack_optional_append(CPACK_GENERATOR CPACK_BINARY_DEB DEB) + cpack_optional_append(CPACK_GENERATOR CPACK_BINARY_RPM RPM) + cpack_optional_append(CPACK_GENERATOR CPACK_BINARY_NSIS NSIS) +@@ -464,6 +467,8 @@ + if(UNIX) + if(CYGWIN) + option(CPACK_SOURCE_CYGWIN "Enable to build Cygwin source packages" ON) ++ elseif(MSYS) ++ option(CPACK_SOURCE_MSYS "Enable to build MSYS source packages" ON) + else() + option(CPACK_SOURCE_TBZ2 "Enable to build TBZ2 source packages" ON) + option(CPACK_SOURCE_TGZ "Enable to build TGZ source packages" ON) +@@ -482,11 +487,11 @@ + endif() + + # mark the above options as advanced +-mark_as_advanced(CPACK_BINARY_CYGWIN CPACK_BINARY_PACKAGEMAKER CPACK_BINARY_OSXX11 ++mark_as_advanced(CPACK_BINARY_CYGWIN CPACK_BINARY_MSYS CPACK_BINARY_PACKAGEMAKER CPACK_BINARY_OSXX11 + CPACK_BINARY_STGZ CPACK_BINARY_TGZ CPACK_BINARY_TBZ2 + CPACK_BINARY_DEB CPACK_BINARY_RPM CPACK_BINARY_TZ + CPACK_BINARY_NSIS CPACK_BINARY_WIX CPACK_BINARY_ZIP CPACK_BINARY_BUNDLE +- CPACK_SOURCE_CYGWIN CPACK_SOURCE_TBZ2 CPACK_SOURCE_TGZ ++ CPACK_SOURCE_CYGWIN CPACK_SOURCE_MSYS CPACK_SOURCE_TBZ2 CPACK_SOURCE_TGZ + CPACK_SOURCE_TZ CPACK_SOURCE_ZIP CPACK_BINARY_DRAGNDROP) + + # Set some other variables +diff -Naur cmake-2.8.11.2/Modules/CPackMsys.cmake cmake-2.8.11.2-msys/Modules/CPackMsys.cmake +--- cmake-2.8.11.2/Modules/CPackMsys.cmake 1970-01-01 03:00:00.000000000 +0300 ++++ cmake-2.8.11.2-msys/Modules/CPackMsys.cmake 2014-04-06 22:36:05.586600000 +0400 +@@ -0,0 +1,33 @@ ++##section Variables specific to CPack MSYS generator ++##end ++##module ++# - MSYS CPack generator (MSYS). ++# The following variable is specific to installers build on ++# and/or for MSYS: ++##end ++# ++##variable ++# CPACK_MSYS_PATCH_NUMBER - The MSYS patch number. ++# FIXME: This documentation is incomplete. ++##end ++##variable ++# CPACK_MSYS_PATCH_FILE - The MSYS patch file. ++# FIXME: This documentation is incomplete. ++##end ++##variable ++# CPACK_MSYS_BUILD_SCRIPT - The MSYS build script. ++# FIXME: This documentation is incomplete. ++##end ++ ++#============================================================================= ++# Copyright 2006-2012 Kitware, Inc. ++# ++# Distributed under the OSI-approved BSD License (the "License"); ++# see accompanying file Copyright.txt for details. ++# ++# This software is distributed WITHOUT ANY WARRANTY; without even the ++# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ++# See the License for more information. ++#============================================================================= ++# (To distribute this file outside of CMake, substitute the full ++# License text for the above reference.) +diff -Naur cmake-2.8.11.2/Modules/CPackZIP.cmake cmake-2.8.11.2-msys/Modules/CPackZIP.cmake +--- cmake-2.8.11.2/Modules/CPackZIP.cmake 2013-07-02 17:41:39.000000000 +0400 ++++ cmake-2.8.11.2-msys/Modules/CPackZIP.cmake 2014-04-06 22:37:32.244600000 +0400 +@@ -31,6 +31,15 @@ + endif() + + if(NOT ZIP_EXECUTABLE) ++ find_package(Msys) ++ find_program(ZIP_EXECUTABLE zip PATHS "${MSYS_INSTALL_PATH}/bin") ++ if(ZIP_EXECUTABLE) ++ set(CPACK_ZIP_COMMAND "\"${ZIP_EXECUTABLE}\" -r \"\" . -i@") ++ set(CPACK_ZIP_NEED_QUOTES FALSE) ++ endif() ++endif() ++ ++if(NOT ZIP_EXECUTABLE) + find_package(Cygwin) + find_program(ZIP_EXECUTABLE zip PATHS "${CYGWIN_INSTALL_PATH}/bin") + if(ZIP_EXECUTABLE) +diff -Naur cmake-2.8.11.2/Modules/ExternalProject.cmake cmake-2.8.11.2-msys/Modules/ExternalProject.cmake +--- cmake-2.8.11.2/Modules/ExternalProject.cmake 2013-07-02 17:41:39.000000000 +0400 ++++ cmake-2.8.11.2-msys/Modules/ExternalProject.cmake 2014-04-06 22:38:39.964200000 +0400 +@@ -910,7 +910,7 @@ + string(REGEX REPLACE "^\\$\\(MAKE\\)" "\${make}" command "${command}") + set(make "-Dmake=$(MAKE)") + +- if(WIN32 AND NOT CYGWIN) ++ if(WIN32 AND NOT CYGWIN AND NOT MSYS) + set(code_cygpath_make " + if(\${make} MATCHES \"^/\") + execute_process( +diff -Naur cmake-2.8.11.2/Modules/FindBoost.cmake cmake-2.8.11.2-msys/Modules/FindBoost.cmake +--- cmake-2.8.11.2/Modules/FindBoost.cmake 2013-07-02 17:41:39.000000000 +0400 ++++ cmake-2.8.11.2-msys/Modules/FindBoost.cmake 2014-04-06 22:39:31.069800000 +0400 +@@ -719,7 +719,7 @@ + + # Setting some more suffixes for the library + set(Boost_LIB_PREFIX "") +-if ( WIN32 AND Boost_USE_STATIC_LIBS AND NOT CYGWIN) ++if ( WIN32 AND Boost_USE_STATIC_LIBS AND NOT CYGWIN AND NOT MSYS) + set(Boost_LIB_PREFIX "lib") + endif() + +diff -Naur cmake-2.8.11.2/Modules/FindCoin3D.cmake cmake-2.8.11.2-msys/Modules/FindCoin3D.cmake +--- cmake-2.8.11.2/Modules/FindCoin3D.cmake 2013-07-02 17:41:39.000000000 +0400 ++++ cmake-2.8.11.2-msys/Modules/FindCoin3D.cmake 2014-04-06 22:39:53.190600000 +0400 +@@ -23,7 +23,7 @@ + # License text for the above reference.) + + if (WIN32) +- if (CYGWIN) ++ if (CYGWIN OR MSYS) + + find_path(COIN3D_INCLUDE_DIRS Inventor/So.h) + find_library(COIN3D_LIBRARIES Coin) +diff -Naur cmake-2.8.11.2/Modules/FindCurses.cmake cmake-2.8.11.2-msys/Modules/FindCurses.cmake +--- cmake-2.8.11.2/Modules/FindCurses.cmake 2013-07-02 17:41:39.000000000 +0400 ++++ cmake-2.8.11.2-msys/Modules/FindCurses.cmake 2014-04-06 22:40:15.623400000 +0400 +@@ -37,7 +37,7 @@ + # cygwin ncurses stopped providing curses.h symlinks see above + # message. Cygwin is an ncurses package, so force ncurses on + # cygwin if the curses.h is missing +-if(CYGWIN) ++if(CYGWIN OR MSYS) + if(NOT EXISTS /usr/include/curses.h) + set(CURSES_USE_NCURSES TRUE) + endif() +diff -Naur cmake-2.8.11.2/Modules/FindFLTK.cmake cmake-2.8.11.2-msys/Modules/FindFLTK.cmake +--- cmake-2.8.11.2/Modules/FindFLTK.cmake 2013-07-02 17:41:39.000000000 +0400 ++++ cmake-2.8.11.2-msys/Modules/FindFLTK.cmake 2014-04-06 22:42:24.838200000 +0400 +@@ -48,7 +48,7 @@ + + # Platform dependent libraries required by FLTK + if(WIN32) +- if(NOT CYGWIN) ++ if(NOT CYGWIN AND NOT MSYS) + if(BORLAND) + set( FLTK_PLATFORM_DEPENDENT_LIBS import32 ) + else() +diff -Naur cmake-2.8.11.2/Modules/FindFLTK2.cmake cmake-2.8.11.2-msys/Modules/FindFLTK2.cmake +--- cmake-2.8.11.2/Modules/FindFLTK2.cmake 2013-07-02 17:41:39.000000000 +0400 ++++ cmake-2.8.11.2-msys/Modules/FindFLTK2.cmake 2014-04-06 22:42:38.878200000 +0400 +@@ -27,7 +27,7 @@ + + # Platform dependent libraries required by FLTK2 + if(WIN32) +- if(NOT CYGWIN) ++ if(NOT CYGWIN AND NOT MSYS) + if(BORLAND) + set( FLTK2_PLATFORM_DEPENDENT_LIBS import32 ) + else() +diff -Naur cmake-2.8.11.2/Modules/FindGnuplot.cmake cmake-2.8.11.2-msys/Modules/FindGnuplot.cmake +--- cmake-2.8.11.2/Modules/FindGnuplot.cmake 2013-07-02 17:41:39.000000000 +0400 ++++ cmake-2.8.11.2-msys/Modules/FindGnuplot.cmake 2014-04-06 22:44:04.475400000 +0400 +@@ -22,6 +22,7 @@ + # License text for the above reference.) + + include(${CMAKE_CURRENT_LIST_DIR}/FindCygwin.cmake) ++include(${CMAKE_CURRENT_LIST_DIR}/FindMsys.cmake) + + find_program(GNUPLOT_EXECUTABLE + NAMES +@@ -30,6 +31,7 @@ + wgnupl32 + PATHS + ${CYGWIN_INSTALL_PATH}/bin ++ ${MSYS_INSTALL_PATH}/bin + ) + + if (GNUPLOT_EXECUTABLE) +diff -Naur cmake-2.8.11.2/Modules/FindMsys.cmake cmake-2.8.11.2-msys/Modules/FindMsys.cmake +--- cmake-2.8.11.2/Modules/FindMsys.cmake 1970-01-01 03:00:00.000000000 +0300 ++++ cmake-2.8.11.2-msys/Modules/FindMsys.cmake 2014-04-06 22:41:54.745800000 +0400 +@@ -0,0 +1,28 @@ ++# - this module looks for Cygwin ++# ++ ++#============================================================================= ++# Copyright 2001-2009 Kitware, Inc. ++# ++# Distributed under the OSI-approved BSD License (the "License"); ++# see accompanying file Copyright.txt for details. ++# ++# This software is distributed WITHOUT ANY WARRANTY; without even the ++# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ++# See the License for more information. ++#============================================================================= ++# (To distribute this file outside of CMake, substitute the full ++# License text for the above reference.) ++ ++if (WIN32) ++ find_path(MSYS_INSTALL_PATH ++ msys2_shell.bat ++ "C:/MSYS" ++ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MSYS\\setup;rootdir]" ++ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Cygnus Solutions\\MSYS\\mounts v2\\/;native]" ++ ) ++ ++ mark_as_advanced( ++ MSYS_INSTALL_PATH ++ ) ++endif () +diff -Naur cmake-2.8.11.2/Modules/FindOpenGL.cmake cmake-2.8.11.2-msys/Modules/FindOpenGL.cmake +--- cmake-2.8.11.2/Modules/FindOpenGL.cmake 2013-07-02 17:41:39.000000000 +0400 ++++ cmake-2.8.11.2-msys/Modules/FindOpenGL.cmake 2014-04-06 22:44:28.218600000 +0400 +@@ -29,7 +29,7 @@ + + set(_OpenGL_REQUIRED_VARS OPENGL_gl_LIBRARY) + +-if (CYGWIN) ++if (CYGWIN OR MSYS) + + find_path(OPENGL_INCLUDE_DIR GL/gl.h ) + list(APPEND _OpenGL_REQUIRED_VARS OPENGL_INCLUDE_DIR) +diff -Naur cmake-2.8.11.2/Modules/FindOpenSSL.cmake cmake-2.8.11.2-msys/Modules/FindOpenSSL.cmake +--- cmake-2.8.11.2/Modules/FindOpenSSL.cmake 2013-07-02 17:41:39.000000000 +0400 ++++ cmake-2.8.11.2-msys/Modules/FindOpenSSL.cmake 2014-04-06 22:45:01.571400000 +0400 +@@ -68,7 +68,7 @@ + include + ) + +-if(WIN32 AND NOT CYGWIN) ++if(WIN32 AND NOT CYGWIN AND NOT MSYS) + if(MSVC) + # /MD and /MDd are the standard values - if someone wants to use + # others, the libnames have to change here too +diff -Naur cmake-2.8.11.2/Modules/FindPerl.cmake cmake-2.8.11.2-msys/Modules/FindPerl.cmake +--- cmake-2.8.11.2/Modules/FindPerl.cmake 2013-07-02 17:41:39.000000000 +0400 ++++ cmake-2.8.11.2-msys/Modules/FindPerl.cmake 2014-04-06 22:45:49.042200000 +0400 +@@ -19,9 +19,11 @@ + # License text for the above reference.) + + include(${CMAKE_CURRENT_LIST_DIR}/FindCygwin.cmake) ++include(${CMAKE_CURRENT_LIST_DIR}/FindMsys.cmake) + + set(PERL_POSSIBLE_BIN_PATHS + ${CYGWIN_INSTALL_PATH}/bin ++ ${MSYS_INSTALL_PATH}/bin + ) + + if(WIN32) +diff -Naur cmake-2.8.11.2/Modules/FindPNG.cmake cmake-2.8.11.2-msys/Modules/FindPNG.cmake +--- cmake-2.8.11.2/Modules/FindPNG.cmake 2013-07-02 17:41:39.000000000 +0400 ++++ cmake-2.8.11.2-msys/Modules/FindPNG.cmake 2014-04-06 22:46:30.148200000 +0400 +@@ -47,7 +47,7 @@ + set(PNG_INCLUDE_DIR ${PNG_INCLUDE_DIRS} ) # for backward compatiblity + set(PNG_LIBRARIES ${PNG_LIBRARY} ${ZLIB_LIBRARY}) + +- if (CYGWIN) ++ if (CYGWIN OR MSYS) + if(BUILD_SHARED_LIBS) + # No need to define PNG_USE_DLL here, because it's default for Cygwin. + else() +diff -Naur cmake-2.8.11.2/Modules/FindPythonLibs.cmake cmake-2.8.11.2-msys/Modules/FindPythonLibs.cmake +--- cmake-2.8.11.2/Modules/FindPythonLibs.cmake 2013-07-02 17:41:39.000000000 +0400 ++++ cmake-2.8.11.2-msys/Modules/FindPythonLibs.cmake 2014-04-06 22:46:52.908600000 +0400 +@@ -215,7 +215,7 @@ + + if(PYTHON_MODULE_${_NAME}_BUILD_SHARED) + set_target_properties(${_NAME} PROPERTIES PREFIX "${PYTHON_MODULE_PREFIX}") +- if(WIN32 AND NOT CYGWIN) ++ if(WIN32 AND NOT CYGWIN AND NOT MSYS) + set_target_properties(${_NAME} PROPERTIES SUFFIX ".pyd") + endif() + endif() +diff -Naur cmake-2.8.11.2/Modules/FindQt3.cmake cmake-2.8.11.2-msys/Modules/FindQt3.cmake +--- cmake-2.8.11.2/Modules/FindQt3.cmake 2013-07-02 17:41:39.000000000 +0400 ++++ cmake-2.8.11.2-msys/Modules/FindQt3.cmake 2014-04-06 22:47:15.793800000 +0400 +@@ -226,7 +226,7 @@ + set( QT_LIBRARIES ${QT_LIBRARIES} ${QT_QT_LIBRARY} ) + set( QT_DEFINITIONS "") + +- if (WIN32 AND NOT CYGWIN) ++ if (WIN32 AND NOT CYGWIN AND NOT MSYS) + if (QT_QTMAIN_LIBRARY) + # for version 3 + set (QT_DEFINITIONS -DQT_DLL -DQT_THREAD_SUPPORT -DNO_DEBUG) +diff -Naur cmake-2.8.11.2/Modules/FindSelfPackers.cmake cmake-2.8.11.2-msys/Modules/FindSelfPackers.cmake +--- cmake-2.8.11.2/Modules/FindSelfPackers.cmake 2013-07-02 17:41:39.000000000 +0400 ++++ cmake-2.8.11.2-msys/Modules/FindSelfPackers.cmake 2014-04-06 22:47:58.600200000 +0400 +@@ -19,10 +19,12 @@ + # License text for the above reference.) + + include(${CMAKE_CURRENT_LIST_DIR}/FindCygwin.cmake) ++include(${CMAKE_CURRENT_LIST_DIR}/FindMsys.cmake) + + find_program(SELF_PACKER_FOR_EXECUTABLE + upx + ${CYGWIN_INSTALL_PATH}/bin ++ ${MSYS_INSTALL_PATH}/bin + /bin + /usr/bin + /usr/local/bin +diff -Naur cmake-2.8.11.2/Modules/FindThreads.cmake cmake-2.8.11.2-msys/Modules/FindThreads.cmake +--- cmake-2.8.11.2/Modules/FindThreads.cmake 2013-07-02 17:41:39.000000000 +0400 ++++ cmake-2.8.11.2-msys/Modules/FindThreads.cmake 2014-04-06 22:49:00.579000000 +0400 +@@ -154,7 +154,7 @@ + set(CMAKE_THREAD_LIBS_INIT ) + endif() + +- if(CMAKE_SYSTEM MATCHES "CYGWIN_NT*") ++ if(CMAKE_SYSTEM MATCHES "CYGWIN_NT*" OR CMAKE_SYSTEM MATCHES "MSYS_NT*") + set(CMAKE_USE_PTHREADS_INIT 1) + set(Threads_FOUND TRUE) + set(CMAKE_THREAD_LIBS_INIT ) +diff -Naur cmake-2.8.11.2/Modules/FindUnixCommands.cmake cmake-2.8.11.2-msys/Modules/FindUnixCommands.cmake +--- cmake-2.8.11.2/Modules/FindUnixCommands.cmake 2013-07-02 17:41:39.000000000 +0400 ++++ cmake-2.8.11.2-msys/Modules/FindUnixCommands.cmake 2014-04-06 22:51:26.439000000 +0400 +@@ -16,10 +16,12 @@ + # License text for the above reference.) + + include(${CMAKE_CURRENT_LIST_DIR}/FindCygwin.cmake) ++include(${CMAKE_CURRENT_LIST_DIR}/FindMsys.cmake) + + find_program(BASH + bash + ${CYGWIN_INSTALL_PATH}/bin ++ ${MSYS_INSTALL_PATH}/bin + /bin + /usr/bin + /usr/local/bin +@@ -32,6 +34,7 @@ + find_program(CP + cp + ${CYGWIN_INSTALL_PATH}/bin ++ ${MSYS_INSTALL_PATH}/bin + /bin + /usr/bin + /usr/local/bin +@@ -44,6 +47,7 @@ + find_program(GZIP + gzip + ${CYGWIN_INSTALL_PATH}/bin ++ ${MSYS_INSTALL_PATH}/bin + /bin + /usr/bin + /usr/local/bin +@@ -56,6 +60,7 @@ + find_program(MV + mv + ${CYGWIN_INSTALL_PATH}/bin ++ ${MSYS_INSTALL_PATH}/bin + /bin + /usr/bin + /usr/local/bin +@@ -68,6 +73,7 @@ + find_program(RM + rm + ${CYGWIN_INSTALL_PATH}/bin ++ ${MSYS_INSTALL_PATH}/bin + /bin + /usr/bin + /usr/local/bin +@@ -83,6 +89,7 @@ + gtar + PATH + ${CYGWIN_INSTALL_PATH}/bin ++ ${MSYS_INSTALL_PATH}/bin + /bin + /usr/bin + /usr/local/bin +diff -Naur cmake-2.8.11.2/Modules/FindWget.cmake cmake-2.8.11.2-msys/Modules/FindWget.cmake +--- cmake-2.8.11.2/Modules/FindWget.cmake 2013-07-02 17:41:39.000000000 +0400 ++++ cmake-2.8.11.2-msys/Modules/FindWget.cmake 2014-04-06 22:52:31.522200000 +0400 +@@ -18,10 +18,12 @@ + # License text for the above reference.) + + include(${CMAKE_CURRENT_LIST_DIR}/FindCygwin.cmake) ++include(${CMAKE_CURRENT_LIST_DIR}/FindMsys.cmake) + + find_program(WGET_EXECUTABLE + wget + ${CYGWIN_INSTALL_PATH}/bin ++ ${MSYS_INSTALL_PATH}/bin + ) + + # handle the QUIETLY and REQUIRED arguments and set WGET_FOUND to TRUE if +diff -Naur cmake-2.8.11.2/Modules/GenerateExportHeader.cmake cmake-2.8.11.2-msys/Modules/GenerateExportHeader.cmake +--- cmake-2.8.11.2/Modules/GenerateExportHeader.cmake 2013-07-02 17:41:39.000000000 +0400 ++++ cmake-2.8.11.2-msys/Modules/GenerateExportHeader.cmake 2014-04-06 22:53:11.754600000 +0400 +@@ -169,6 +169,7 @@ + AND NOT _INTEL_TOO_OLD + AND NOT WIN32 + AND NOT CYGWIN ++ AND NOT MSYS + AND NOT "${CMAKE_CXX_COMPILER_ID}" MATCHES XL + AND NOT "${CMAKE_CXX_COMPILER_ID}" MATCHES PGI + AND NOT "${CMAKE_CXX_COMPILER_ID}" MATCHES Watcom) +diff -Naur cmake-2.8.11.2/Modules/KDE3Macros.cmake cmake-2.8.11.2-msys/Modules/KDE3Macros.cmake +--- cmake-2.8.11.2/Modules/KDE3Macros.cmake 2013-07-02 17:41:39.000000000 +0400 ++++ cmake-2.8.11.2-msys/Modules/KDE3Macros.cmake 2014-04-06 22:54:20.940600000 +0400 +@@ -321,7 +321,7 @@ + file(APPEND ${_laname} "# The name that we can dlopen(3).\n") + file(APPEND ${_laname} "dlname='${_soname}'\n") + file(APPEND ${_laname} "# Names of this library\n") +- if(CYGWIN) ++ if(CYGWIN OR MSYS) + file(APPEND ${_laname} "library_names='${_soname}'\n") + else() + file(APPEND ${_laname} "library_names='${_soname} ${_soname} ${_soname}'\n") +diff -Naur "cmake-2.8.11.2/Modules/Platform/MSYS-GNU.cmake" "cmake-2.8.11.2-msys/Modules/Platform/MSYS-GNU.cmake" +--- "cmake-2.8.11.2/Modules/Platform/MSYS-GNU.cmake" 1970-01-01 03:00:00.000000000 +0300 ++++ "cmake-2.8.11.2-msys/Modules/Platform/MSYS-GNU.cmake" 2013-07-02 17:41:40.000000000 +0400 +@@ -0,0 +1,56 @@ ++ ++#============================================================================= ++# Copyright 2002-2009 Kitware, Inc. ++# ++# Distributed under the OSI-approved BSD License (the "License"); ++# see accompanying file Copyright.txt for details. ++# ++# This software is distributed WITHOUT ANY WARRANTY; without even the ++# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ++# See the License for more information. ++#============================================================================= ++# (To distribute this file outside of CMake, substitute the full ++# License text for the above reference.) ++ ++# This module is shared by multiple languages; use include blocker. ++if(__MSYS_COMPILER_GNU) ++ return() ++endif() ++set(__MSYS_COMPILER_GNU 1) ++ ++# TODO: Is -Wl,--enable-auto-import now always default? ++set(CMAKE_EXE_LINKER_FLAGS_INIT "-Wl,--enable-auto-import") ++set(CMAKE_CREATE_WIN32_EXE "-mwindows") ++ ++set(CMAKE_GNULD_IMAGE_VERSION ++ "-Wl,--major-image-version,,--minor-image-version,") ++set(CMAKE_GENERATOR_RC windres) ++enable_language(RC) ++macro(__msys_compiler_gnu lang) ++ # Binary link rules. ++ set(CMAKE_${lang}_CREATE_SHARED_MODULE ++ " -o ${CMAKE_GNULD_IMAGE_VERSION} ") ++ set(CMAKE_${lang}_CREATE_SHARED_LIBRARY ++ " -o -Wl,--out-implib, ${CMAKE_GNULD_IMAGE_VERSION} ") ++ set(CMAKE_${lang}_LINK_EXECUTABLE ++ " -o -Wl,--out-implib, ${CMAKE_GNULD_IMAGE_VERSION} ") ++ ++ # No -fPIC on MSYS ++ set(CMAKE_${lang}_COMPILE_OPTIONS_PIC "") ++ set(CMAKE_${lang}_COMPILE_OPTIONS_PIE "") ++ set(CMAKE_SHARED_LIBRARY_${lang}_FLAGS "") ++ ++ # Initialize C link type selection flags. These flags are used when ++ # building a shared library, shared module, or executable that links ++ # to other libraries to select whether to use the static or shared ++ # versions of the libraries. ++ foreach(type SHARED_LIBRARY SHARED_MODULE EXE) ++ set(CMAKE_${type}_LINK_STATIC_${lang}_FLAGS "-Wl,-Bstatic") ++ set(CMAKE_${type}_LINK_DYNAMIC_${lang}_FLAGS "-Wl,-Bdynamic") ++ endforeach() ++ ++ set(CMAKE_EXE_EXPORTS_${lang}_FLAG "-Wl,--export-all-symbols") ++ # TODO: Is -Wl,--enable-auto-import now always default? ++ set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS "${CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS} -Wl,--enable-auto-import") ++ set(CMAKE_SHARED_MODULE_CREATE_${lang}_FLAGS "${CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS}") ++endmacro() +diff -Naur cmake-2.8.11.2/Modules/Platform/MSYS.cmake cmake-2.8.11.2-msys/Modules/Platform/MSYS.cmake +--- cmake-2.8.11.2/Modules/Platform/MSYS.cmake 1970-01-01 03:00:00.000000000 +0300 ++++ cmake-2.8.11.2-msys/Modules/Platform/MSYS.cmake 2014-04-06 22:57:23.603800000 +0400 +@@ -0,0 +1,64 @@ ++if("${CMAKE_MINIMUM_REQUIRED_VERSION}" VERSION_LESS "2.8.3.20101214") ++ set(__USE_CMAKE_LEGACY_CYGWIN_WIN32 1) ++endif() ++if(NOT DEFINED WIN32) ++ set(WIN32 0) ++ if(DEFINED __USE_CMAKE_LEGACY_CYGWIN_WIN32) ++ if(NOT DEFINED CMAKE_LEGACY_CYGWIN_WIN32 ++ AND DEFINED ENV{CMAKE_LEGACY_CYGWIN_WIN32}) ++ set(CMAKE_LEGACY_CYGWIN_WIN32 $ENV{CMAKE_LEGACY_CYGWIN_WIN32}) ++ endif() ++ if(CMAKE_LEGACY_CYGWIN_WIN32) ++ message(STATUS "Defining WIN32 under MSYS due to CMAKE_LEGACY_CYGWIN_WIN32") ++ set(WIN32 1) ++ elseif("x${CMAKE_LEGACY_CYGWIN_WIN32}" STREQUAL "x") ++ message(WARNING "CMake no longer defines WIN32 on MSYS!" ++ "\n" ++ "(1) If you are just trying to build this project, ignore this warning " ++ "or quiet it by setting CMAKE_LEGACY_CYGWIN_WIN32=0 in your environment or " ++ "in the CMake cache. " ++ "If later configuration or build errors occur then this project may " ++ "have been written under the assumption that MSYS is WIN32. " ++ "In that case, set CMAKE_LEGACY_CYGWIN_WIN32=1 instead." ++ "\n" ++ "(2) If you are developing this project, add the line\n" ++ " set(CMAKE_LEGACY_CYGWIN_WIN32 0) # Remove when CMake >= 2.8.4 is required\n" ++ "at the top of your top-level CMakeLists.txt file or set the minimum " ++ "required version of CMake to 2.8.4 or higher. " ++ "Then teach your project to build on Cygwin without WIN32.") ++ endif() ++ elseif(DEFINED CMAKE_LEGACY_CYGWIN_WIN32) ++ message(AUTHOR_WARNING "CMAKE_LEGACY_CYGWIN_WIN32 ignored because\n" ++ " cmake_minimum_required(VERSION ${CMAKE_MINIMUM_REQUIRED_VERSION})\n" ++ "is at least 2.8.4.") ++ endif() ++endif() ++if(DEFINED __USE_CMAKE_LEGACY_CYGWIN_WIN32) ++ # Pass WIN32 legacy setting to scripts. ++ if(WIN32) ++ set(ENV{CMAKE_LEGACY_CYGWIN_WIN32} 1) ++ else() ++ set(ENV{CMAKE_LEGACY_CYGWIN_WIN32} 0) ++ endif() ++ unset(__USE_CMAKE_LEGACY_CYGWIN_WIN32) ++endif() ++ ++set(MSYS 1) ++ ++set(CMAKE_SHARED_LIBRARY_PREFIX "msys-") ++set(CMAKE_SHARED_LIBRARY_SUFFIX ".dll") ++set(CMAKE_SHARED_MODULE_PREFIX "msys-") ++set(CMAKE_SHARED_MODULE_SUFFIX ".dll") ++set(CMAKE_IMPORT_LIBRARY_PREFIX "lib") ++set(CMAKE_IMPORT_LIBRARY_SUFFIX ".dll.a") ++set(CMAKE_EXECUTABLE_SUFFIX ".exe") # .exe ++# Modules have a different default prefix that shared libs. ++set(CMAKE_MODULE_EXISTS 1) ++ ++set(CMAKE_FIND_LIBRARY_PREFIXES "lib") ++set(CMAKE_FIND_LIBRARY_SUFFIXES ".dll.a" ".a") ++ ++# Shared libraries on MSYS can be named with their version number. ++set(CMAKE_SHARED_LIBRARY_NAME_WITH_VERSION 1) ++ ++include(Platform/UnixPaths) +diff -Naur cmake-2.8.11.2/Modules/Platform/MSYS-CXX.cmake cmake-2.8.11.2-msys/Modules/Platform/MSYS-CXX.cmake +--- cmake-2.8.11.2/Modules/Platform/MSYS-CXX.cmake 1970-01-01 03:00:00.000000000 +0300 ++++ cmake-2.8.11.2-msys/Modules/Platform/MSYS-CXX.cmake 2013-07-02 17:41:40.000000000 +0400 +@@ -0,0 +1,7 @@ ++if(NOT CMAKE_CXX_COMPILER_NAMES) ++ set(CMAKE_CXX_COMPILER_NAMES c++) ++endif() ++ ++# Exclude C++ compilers differing from C compiler only by case ++# because this platform may have a case-insensitive filesystem. ++set(CMAKE_CXX_COMPILER_EXCLUDE CC aCC xlC) +diff -Naur cmake-2.8.11.2/Modules/Platform/MSYS-GNU-C.cmake cmake-2.8.11.2-msys/Modules/Platform/MSYS-GNU-C.cmake +--- cmake-2.8.11.2/Modules/Platform/MSYS-GNU-C.cmake 1970-01-01 03:00:00.000000000 +0300 ++++ cmake-2.8.11.2-msys/Modules/Platform/MSYS-GNU-C.cmake 2014-04-06 22:59:38.341000000 +0400 +@@ -0,0 +1,2 @@ ++include(Platform/MSYS-GNU) ++__msys_compiler_gnu(C) +diff -Naur cmake-2.8.11.2/Modules/Platform/MSYS-GNU-CXX.cmake cmake-2.8.11.2-msys/Modules/Platform/MSYS-GNU-CXX.cmake +--- cmake-2.8.11.2/Modules/Platform/MSYS-GNU-CXX.cmake 1970-01-01 03:00:00.000000000 +0300 ++++ cmake-2.8.11.2-msys/Modules/Platform/MSYS-GNU-CXX.cmake 2014-04-06 23:00:30.585400000 +0400 +@@ -0,0 +1,2 @@ ++include(Platform/MSYS-GNU) ++__msys_compiler_gnu(CXX) +diff -Naur cmake-2.8.11.2/Modules/Platform/MSYS-GNU-Fortran.cmake cmake-2.8.11.2-msys/Modules/Platform/MSYS-GNU-Fortran.cmake +--- cmake-2.8.11.2/Modules/Platform/MSYS-GNU-Fortran.cmake 1970-01-01 03:00:00.000000000 +0300 ++++ cmake-2.8.11.2-msys/Modules/Platform/MSYS-GNU-Fortran.cmake 2014-04-06 23:01:19.366600000 +0400 +@@ -0,0 +1,2 @@ ++include(Platform/MSYS-GNU) ++__msys_compiler_gnu(Fortran) +diff -Naur cmake-2.8.11.2/Modules/Platform/MSYS-windres.cmake cmake-2.8.11.2-msys/Modules/Platform/MSYS-windres.cmake +--- cmake-2.8.11.2/Modules/Platform/MSYS-windres.cmake 1970-01-01 03:00:00.000000000 +0300 ++++ cmake-2.8.11.2-msys/Modules/Platform/MSYS-windres.cmake 2013-07-02 17:41:40.000000000 +0400 +@@ -0,0 +1 @@ ++set(CMAKE_RC_COMPILE_OBJECT " -O coff ") +diff -Naur cmake-2.8.11.2/Modules/UseJava.cmake cmake-2.8.11.2-msys/Modules/UseJava.cmake +--- cmake-2.8.11.2/Modules/UseJava.cmake 2013-07-02 17:41:40.000000000 +0400 ++++ cmake-2.8.11.2-msys/Modules/UseJava.cmake 2014-04-06 22:54:37.632600000 +0400 +@@ -242,7 +242,7 @@ + ${CMAKE_JAVA_LIBRARY_OUTPUT_PATH} + ) + +- if (WIN32 AND NOT CYGWIN AND CMAKE_HOST_SYSTEM_NAME MATCHES "Windows") ++ if (WIN32 AND NOT CYGWIN AND NOT MSYS AND CMAKE_HOST_SYSTEM_NAME MATCHES "Windows") + set(CMAKE_JAVA_INCLUDE_FLAG_SEP ";") + else () + set(CMAKE_JAVA_INCLUDE_FLAG_SEP ":") +diff -Naur cmake-2.8.11.2/Modules/UseSWIG.cmake cmake-2.8.11.2-msys/Modules/UseSWIG.cmake +--- cmake-2.8.11.2/Modules/UseSWIG.cmake 2013-07-02 17:41:40.000000000 +0400 ++++ cmake-2.8.11.2-msys/Modules/UseSWIG.cmake 2014-04-06 22:54:55.525800000 +0400 +@@ -234,7 +234,7 @@ + # Windows: .dll is no longer supported as a filename extension for extension modules. + # .pyd is now the only filename extension that will be searched for. + # +- if(WIN32 AND NOT CYGWIN) ++ if(WIN32 AND NOT CYGWIN AND NOT MSYS) + set_target_properties(${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES SUFFIX ".pyd") + endif() + endif () +diff -Naur cmake-2.8.11.2/Source/CMakeLists.txt cmake-2.8.11.2-msys/Source/CMakeLists.txt +--- cmake-2.8.11.2/Source/CMakeLists.txt 2013-07-02 17:41:40.000000000 +0400 ++++ cmake-2.8.11.2-msys/Source/CMakeLists.txt 2014-04-06 23:04:41.530000000 +0400 +@@ -381,7 +381,7 @@ + cmNinjaUtilityTargetGenerator.cxx + cmNinjaUtilityTargetGenerator.h + ) +-if(WIN32 AND NOT CYGWIN AND NOT BORLAND) ++if(WIN32 AND NOT CYGWIN AND NOT MSYS AND NOT BORLAND) + set_source_files_properties(cmcldeps.cxx PROPERTIES COMPILE_DEFINITIONS _WIN32_WINNT=0x0501) + add_executable(cmcldeps cmcldeps.cxx) + target_link_libraries(cmcldeps CMakeLib) +@@ -491,7 +491,7 @@ + CPack/cmCPackDocumentMacros.cxx + ) + +-if(CYGWIN) ++if(CYGWIN OR MSYS) + set(CPACK_SRCS ${CPACK_SRCS} + CPack/cmCPackCygwinBinaryGenerator.cxx + CPack/cmCPackCygwinSourceGenerator.cxx +diff -Naur cmake-2.8.11.2/Source/cmDocumentVariables.cxx cmake-2.8.11.2-msys/Source/cmDocumentVariables.cxx +--- cmake-2.8.11.2/Source/cmDocumentVariables.cxx 2013-07-02 17:41:40.000000000 +0400 ++++ cmake-2.8.11.2-msys/Source/cmDocumentVariables.cxx 2014-04-06 23:05:31.013200000 +0400 +@@ -1010,6 +1010,12 @@ + "Variables That Describe the System"); + + cm->DefineProperty ++ ("MSYS", cmProperty::VARIABLE, ++ "True for MSYS.", ++ "Set to true when using MSYS.",false, ++ "Variables That Describe the System"); ++ ++ cm->DefineProperty + ("CYGWIN", cmProperty::VARIABLE, + "True for cygwin.", + "Set to true when using CYGWIN.",false, +diff -Naur cmake-2.8.11.2/Source/cmExportBuildFileGenerator.cxx cmake-2.8.11.2-msys/Source/cmExportBuildFileGenerator.cxx +--- cmake-2.8.11.2/Source/cmExportBuildFileGenerator.cxx 2013-07-02 17:41:40.000000000 +0400 ++++ cmake-2.8.11.2-msys/Source/cmExportBuildFileGenerator.cxx 2014-04-06 23:05:56.550400000 +0400 +@@ -156,7 +156,7 @@ + + // Check whether this is a DLL platform. + bool dll_platform = +- (mf->IsOn("WIN32") || mf->IsOn("CYGWIN") || mf->IsOn("MINGW")); ++ (mf->IsOn("WIN32") || mf->IsOn("CYGWIN") || mf->IsOn("MSYS") || mf->IsOn("MINGW")); + + // Add the import library for windows DLLs. + if(dll_platform && +diff -Naur cmake-2.8.11.2/Source/cmExportFileGenerator.cxx cmake-2.8.11.2-msys/Source/cmExportFileGenerator.cxx +--- cmake-2.8.11.2/Source/cmExportFileGenerator.cxx 2013-07-02 17:41:40.000000000 +0400 ++++ cmake-2.8.11.2-msys/Source/cmExportFileGenerator.cxx 2014-04-06 23:06:15.878800000 +0400 +@@ -617,7 +617,7 @@ + { + // Check whether this is a DLL platform. + bool dll_platform = +- (mf->IsOn("WIN32") || mf->IsOn("CYGWIN") || mf->IsOn("MINGW")); ++ (mf->IsOn("WIN32") || mf->IsOn("CYGWIN") || mf->IsOn("MSYS") || mf->IsOn("MINGW")); + if(!dll_platform) + { + std::string prop; +diff -Naur cmake-2.8.11.2/Source/cmInstallCommand.cxx cmake-2.8.11.2-msys/Source/cmInstallCommand.cxx +--- cmake-2.8.11.2/Source/cmInstallCommand.cxx 2013-07-02 17:41:40.000000000 +0400 ++++ cmake-2.8.11.2-msys/Source/cmInstallCommand.cxx 2014-04-06 23:08:50.833600000 +0400 +@@ -352,6 +352,7 @@ + // Check whether this is a DLL platform. + bool dll_platform = (this->Makefile->IsOn("WIN32") || + this->Makefile->IsOn("CYGWIN") || ++ this->Makefile->IsOn("MSYS") || + this->Makefile->IsOn("MINGW")); + + for(std::vector::const_iterator +diff -Naur cmake-2.8.11.2/Source/cmLocalGenerator.cxx cmake-2.8.11.2-msys/Source/cmLocalGenerator.cxx +--- cmake-2.8.11.2/Source/cmLocalGenerator.cxx 2013-07-02 17:41:40.000000000 +0400 ++++ cmake-2.8.11.2-msys/Source/cmLocalGenerator.cxx 2014-04-06 23:09:26.136400000 +0400 +@@ -1528,7 +1528,7 @@ + linkFlags += " "; + } + if(this->Makefile->IsOn("WIN32") && +- !(this->Makefile->IsOn("CYGWIN") || this->Makefile->IsOn("MINGW"))) ++ !(this->Makefile->IsOn("CYGWIN") && !(this->Makefile->IsOn("MSYS")) || this->Makefile->IsOn("MINGW"))) + { + const std::vector& sources = target->GetSourceFiles(); + for(std::vector::const_iterator i = sources.begin(); +diff -Naur cmake-2.8.11.2/Source/cmTarget.cxx cmake-2.8.11.2-msys/Source/cmTarget.cxx +--- cmake-2.8.11.2/Source/cmTarget.cxx 2013-07-02 17:41:40.000000000 +0400 ++++ cmake-2.8.11.2-msys/Source/cmTarget.cxx 2014-04-06 23:10:21.703600000 +0400 +@@ -1476,6 +1476,7 @@ + // Check whether this is a DLL platform. + this->DLLPlatform = (this->Makefile->IsOn("WIN32") || + this->Makefile->IsOn("CYGWIN") || ++ this->Makefile->IsOn("MSYS") || + this->Makefile->IsOn("MINGW")); + + // Check whether we are targeting an Apple platform. +diff -Naur cmake-2.8.11.2/Source/kwsys/CMakeLists.txt cmake-2.8.11.2-msys/Source/kwsys/CMakeLists.txt +--- cmake-2.8.11.2/Source/kwsys/CMakeLists.txt 2013-07-02 17:41:40.000000000 +0400 ++++ cmake-2.8.11.2-msys/Source/kwsys/CMakeLists.txt 2014-04-06 23:11:57.706000000 +0400 +@@ -576,7 +576,7 @@ + IF(KWSYS_USE_SystemInformation) + SET_PROPERTY(SOURCE SystemInformation.cxx APPEND PROPERTY + COMPILE_DEFINITIONS SIZEOF_VOID_P=${CMAKE_SIZEOF_VOID_P}) +- IF(NOT CYGWIN) ++ IF(NOT CYGWIN AND NOT MSYS) + INCLUDE(CheckIncludeFiles) + CHECK_INCLUDE_FILES("sys/types.h;ifaddrs.h" KWSYS_SYS_HAS_IFADDRS_H) + IF(KWSYS_SYS_HAS_IFADDRS_H) +@@ -1074,9 +1074,9 @@ + ADD_EXECUTABLE(${KWSYS_NAMESPACE}TestProcess testProcess.c) + SET_PROPERTY(TARGET ${KWSYS_NAMESPACE}TestProcess PROPERTY LABELS ${KWSYS_LABELS_EXE}) + TARGET_LINK_LIBRARIES(${KWSYS_NAMESPACE}TestProcess ${KWSYS_NAMESPACE}_c) +- IF(NOT CYGWIN) ++ IF(NOT CYGWIN AND NOT MSYS) + SET(KWSYS_TEST_PROCESS_7 7) +- ENDIF(NOT CYGWIN) ++ ENDIF(NOT CYGWIN AND NOT MSYS) + FOREACH(n 1 2 3 4 5 6 ${KWSYS_TEST_PROCESS_7}) + ADD_TEST(kwsys.testProcess-${n} ${EXEC_DIR}/${KWSYS_NAMESPACE}TestProcess ${n}) + SET_PROPERTY(TEST kwsys.testProcess-${n} PROPERTY LABELS ${KWSYS_LABELS_TEST}) +diff -Naur cmake-2.8.11.2/Tests/CMakeLists.txt cmake-2.8.11.2-msys/Tests/CMakeLists.txt +--- cmake-2.8.11.2/Tests/CMakeLists.txt 2013-07-02 17:41:40.000000000 +0400 ++++ cmake-2.8.11.2-msys/Tests/CMakeLists.txt 2014-04-06 23:19:33.007600000 +0400 +@@ -115,7 +115,7 @@ + endif() + + if(do_cvs_tests AND NOT UNIX) +- if("${CVS_EXECUTABLE}" MATCHES "cygwin") ++ if("${CVS_EXECUTABLE}" MATCHES "cygwin" OR "${CVS_EXECUTABLE}" MATCHES "MSYS") + set(do_cvs_tests 0) + endif() + endif() +@@ -173,7 +173,7 @@ + # assume no resources building to test + set(TEST_RESOURCES FALSE) + # for windows and cygwin assume we have resources +- if(WIN32 OR CYGWIN) ++ if(WIN32 OR CYGWIN OR MSYS) + set(TEST_RESOURCES TRUE) + endif() + # for borland and watcom there is no resource support +@@ -1243,7 +1243,7 @@ + + # Test static linking on toolchains known to support it. + if("${CMAKE_C_COMPILER_ID}" MATCHES "^(GNU)$" +- AND NOT APPLE AND NOT WIN32 AND NOT CYGWIN ++ AND NOT APPLE AND NOT WIN32 AND NOT CYGWIN AND NOT MSYS + AND EXISTS "/usr/lib/libm.a") + add_test(LinkStatic ${CMAKE_CTEST_COMMAND} + --build-and-test +@@ -1668,7 +1668,7 @@ + endif() + set(CTEST_TEST_UPDATE_CVS ${CVS_FOUND}) + if(CTEST_TEST_UPDATE_CVS AND NOT UNIX) +- if("${CVS_EXECUTABLE}" MATCHES "cygwin") ++ if("${CVS_EXECUTABLE}" MATCHES "cygwin" OR "${CVS_EXECUTABLE}" MATCHES "MSYS") + message(STATUS "No CTest.UpdateCVS test with cygwin cvs.exe outside cygwin!") + set(CTEST_TEST_UPDATE_CVS 0) + endif() +@@ -1688,7 +1688,7 @@ + mark_as_advanced(BZR_EXECUTABLE) + set(CTEST_TEST_UPDATE_BZR 0) + if(BZR_EXECUTABLE) +- if(NOT "${BZR_EXECUTABLE}" MATCHES "cygwin" OR UNIX) ++ if(NOT "${BZR_EXECUTABLE}" MATCHES "cygwin" AND NOT "${BZR_EXECUTABLE}" MATCHES "MSYS" OR UNIX) + set(CTEST_TEST_UPDATE_BZR 1) + endif() + endif() +@@ -1720,7 +1720,7 @@ + mark_as_advanced(GIT_EXECUTABLE) + set(CTEST_TEST_UPDATE_GIT 0) + if(GIT_EXECUTABLE) +- if(NOT "${GIT_EXECUTABLE}" MATCHES "cygwin" OR UNIX) ++ if(NOT "${GIT_EXECUTABLE}" MATCHES "cygwin" AND NOT "${GIT_EXECUTABLE}" MATCHES "MSYS" OR UNIX) + set(CTEST_TEST_UPDATE_GIT 1) + endif() + endif() +@@ -1739,7 +1739,7 @@ + mark_as_advanced(HG_EXECUTABLE) + set(CTEST_TEST_UPDATE_HG 0) + if(HG_EXECUTABLE) +- if(NOT "${HG_EXECUTABLE}" MATCHES "cygwin" OR UNIX) ++ if(NOT "${HG_EXECUTABLE}" MATCHES "cygwin" AND NOT "${GIT_EXECUTABLE}" MATCHES "MSYS" OR UNIX) + set(CTEST_TEST_UPDATE_HG 1) + endif() + endif() +@@ -1936,7 +1936,7 @@ + set(CTestTestBadExe_REGEX "BAD_COMMAND") + # some cygwin can not be made to produce a BAD_COMMAND error + # the best we can get from it is a failed test +- if(CYGWIN) ++ if(CYGWIN OR MSYS) + set(CTestTestBadExe_REGEX "(\\*\\*\\*Failed)|BAD_COMMAND") + endif() + set_tests_properties(CTestTestBadExe PROPERTIES +diff -Naur cmake-2.8.11.2/Tests/CMakeOnly/CheckCXXCompilerFlag/CMakeLists.txt cmake-2.8.11.2-msys/Tests/CMakeOnly/CheckCXXCompilerFlag/CMakeLists.txt +--- cmake-2.8.11.2/Tests/CMakeOnly/CheckCXXCompilerFlag/CMakeLists.txt 2013-07-02 17:41:40.000000000 +0400 ++++ cmake-2.8.11.2-msys/Tests/CMakeOnly/CheckCXXCompilerFlag/CMakeLists.txt 2014-04-06 23:20:04.176400000 +0400 +@@ -36,7 +36,7 @@ + string (REGEX REPLACE ".*Version ([0-9]+(\\.[0-9]+)+).*" "\\1" _intel_version "${_intel_version_info}") + endif() + +-message("Platform:\n WIN32: ${WIN32}\n UNIX: ${UNIX}\n APPLE: ${APPLE}\n MINGW: ${MINGW}\n CYGWIN: ${CYGWIN}\n" ++message("Platform:\n WIN32: ${WIN32}\n UNIX: ${UNIX}\n APPLE: ${APPLE}\n MINGW: ${MINGW}\n CYGWIN: ${CYGWIN}\n MSYS: ${MSYS}\n" + " MSVC: ${MSVC}\n MSVC60: ${MSVC60}\n MSVC70: ${MSVC70}\n MSVC71: ${MSVC71}\n MSVC80: ${MSVC80}\n MSVC90: ${MSVC90}\n MSVC10: ${MSVC10}\n" + " GCC: ${_gcc_version}\n" + " Clang: ${_clang_version}\n" +diff -Naur cmake-2.8.11.2/Tests/CMakeTests/ImplicitLinkInfoTest.cmake.in cmake-2.8.11.2-msys/Tests/CMakeTests/ImplicitLinkInfoTest.cmake.in +--- cmake-2.8.11.2/Tests/CMakeTests/ImplicitLinkInfoTest.cmake.in 2013-07-02 17:41:40.000000000 +0400 ++++ cmake-2.8.11.2-msys/Tests/CMakeTests/ImplicitLinkInfoTest.cmake.in 2014-04-06 23:29:29.130400000 +0400 +@@ -488,23 +488,24 @@ + # MSYS + + # gcc dummy.c -v +-set(msys_gcc_text " C:/some-mingw/bin/../libexec/gcc/mingw32/3.4.5/collect2.exe -Bdynamic /some-mingw/lib/crt2.o C:/some-mingw/bin/../lib/gcc/mingw32/3.4.5/crtbegin.o -LC:/some-mingw/bin/../lib/gcc/mingw32/3.4.5 -LC:/some-mingw/bin/../lib/gcc -L/some-mingw/lib -LC:/some-mingw/bin/../lib/gcc/mingw32/3.4.5/../../.. C:/home/user/AppData/Local/Temp/cckQmvRt.o -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt -luser32 -lkernel32 -ladvapi32 -lshell32 -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt C:/some-mingw/bin/../lib/gcc/mingw32/3.4.5/crtend.o") +-set(msys_gcc_libs "mingw32;moldname;mingwex;msvcrt;user32;kernel32;advapi32;shell32;mingw32;moldname;mingwex;msvcrt") +-set(msys_gcc_dirs "C:/some-mingw/lib/gcc/mingw32/3.4.5;C:/some-mingw/lib/gcc;/some-mingw/lib;C:/some-mingw/lib") ++set(cygwin_gcc_text " /usr/lib/gcc/i686-pc-msys/4.8.2/collect2.exe -Bdynamic --dll-search-prefix=msys- /usr/lib/gcc/i686-pc-msys/4.8.2/../../../crt0.o -L/usr/lib/gcc/i686-pc-msys/4.8.2 -L/usr/lib/gcc/i686-pc-msys/4.8.2 -L/usr/lib/gcc/i686-pc-msys/4.8.2/../../.. /home/user/AppData/Local/Temp/cczg1Arh.o -lgcc -lmsys-2.0 -luser32 -lkernel32 -ladvapi32 -lshell32 -lgcc") ++set(cygwin_gcc_libs "msys;user32;kernel32;advapi32;shell32") ++set(cygwin_gcc_dirs "/usr/lib/gcc/i686-pc-msys/4.8.2;/usr/lib") + list(APPEND platforms msys_gcc) + + # g++ dummy.cxx -v +-set(msys_g++_text " C:/some-mingw/bin/../libexec/gcc/mingw32/3.4.5/collect2.exe -Bdynamic /some-mingw/lib/crt2.o C:/some-mingw/bin/../lib/gcc/mingw32/3.4.5/crtbegin.o -LC:/some-mingw/bin/../lib/gcc/mingw32/3.4.5 -LC:/some-mingw/bin/../lib/gcc -L/some-mingw/lib -LC:/some-mingw/bin/../lib/gcc/mingw32/3.4.5/../../.. C:/home/user/AppData/Local/Temp/cci5hYPk.o -lstdc++ -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt -luser32 -lkernel32 -ladvapi32 -lshell32 -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt C:/some-mingw/bin/../lib/gcc/mingw32/3.4.5/crtend.o") +-set(msys_g++_libs "stdc++;mingw32;moldname;mingwex;msvcrt;user32;kernel32;advapi32;shell32;mingw32;moldname;mingwex;msvcrt") +-set(msys_g++_dirs "C:/some-mingw/lib/gcc/mingw32/3.4.5;C:/some-mingw/lib/gcc;/some-mingw/lib;C:/some-mingw/lib") ++set(cygwin_g++_text " /usr/lib/gcc/i686-pc-cygwin/4.8.2/collect2.exe -Bdynamic --dll-search-prefix=msys- /usr/lib/gcc/i686-pc-msys/4.8.2/../../../crt0.o -L/usr/lib/gcc/i686-pc-msys/4.8.2 -L/usr/lib/gcc/i686-pc-msys/4.8.2 -L/usr/lib/gcc/i686-pc-msys/4.8.2/../../.. /home/user/AppData/Local/Temp/ccsvcDO6.o -lstdc++ -lgcc -lmsys-2.0 -luser32 -lkernel32 -ladvapi32 -lshell32 -lgcc") ++set(cygwin_g++_libs "stdc++;cygwin;user32;kernel32;advapi32;shell32") ++set(cygwin_g++_dirs "/usr/lib/gcc/i686-pc-cygwin/4.8.2;/usr/lib") + list(APPEND platforms msys_g++) + +-# g77 dummy.f -v +-set(msys_g77_text " C:/some-mingw/bin/../libexec/gcc/mingw32/3.4.5/collect2.exe -Bdynamic /some-mingw/lib/crt2.o C:/some-mingw/bin/../lib/gcc/mingw32/3.4.5/crtbegin.o -LC:/some-mingw/bin/../lib/gcc/mingw32/3.4.5 -LC:/some-mingw/bin/../lib/gcc -L/some-mingw/lib -LC:/some-mingw/bin/../lib/gcc/mingw32/3.4.5/../../.. C:/home/user/AppData/Local/Temp/ccabRxQ1.o -lfrtbegin -lg2c -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt -luser32 -lkernel32 -ladvapi32 -lshell32 -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt C:/some-mingw/bin/../lib/gcc/mingw32/3.4.5/crtend.o") +-set(msys_g77_libs "frtbegin;g2c;mingw32;moldname;mingwex;msvcrt;user32;kernel32;advapi32;shell32;mingw32;moldname;mingwex;msvcrt") +-set(msys_g77_dirs "C:/some-mingw/lib/gcc/mingw32/3.4.5;C:/some-mingw/lib/gcc;/some-mingw/lib;C:/some-mingw/lib") +-list(APPEND platforms msys_g77) +- ++# gfortran dummy.f -v ++set(cygwin_gfortran_text "Configured with: ... LD=/opt/gcc-tools/bin/ld.exe ++ /usr/lib/gcc/i686-pc-msys/4.8.2/collect2.exe -Bdynamic --dll-search-prefix=msys- -u ___register_frame_info -u ___deregister_frame_info /usr/lib/gcc/i686-pc-msys/4.8.2/../../../crt0.o /usr/lib/gcc/i686-pc-msys/4.8.2/crtbegin.o -L/usr/lib/gcc/i686-pc-msys/4.8.2 -L/usr/lib/gcc/i686-pc-msys/4.8.2 -L/usr/lib/gcc/i686-pc-msys/4.8.2/../../.. /home/user/AppData/Local/Temp/ccqRWKWg.o -lgfortranbegin -lgfortran -lgcc_s -lgcc_s -lgcc -lmsys-2.0 -luser32 -lkernel32 -ladvapi32 -lshell32 -lgcc_s -lgcc_s -lgcc /usr/lib/gcc/i686-pc-msys/4.8.2/crtend.o ++") ++set(msys_gfortran_libs "gfortranbegin;gfortran;msys;user32;kernel32;advapi32;shell32") ++set(msys_gfortran_dirs "/usr/lib/gcc/i686-pc-msys/4.8.2;/usr/lib") ++list(APPEND platforms msys_gfortran) + + #----------------------------------------------------------------------------- + # Test parsing for all above examples. +diff -Naur cmake-2.8.11.2/Tests/Complex/Library/CMakeLists.txt cmake-2.8.11.2-msys/Tests/Complex/Library/CMakeLists.txt +--- cmake-2.8.11.2/Tests/Complex/Library/CMakeLists.txt 2013-07-02 17:41:40.000000000 +0400 ++++ cmake-2.8.11.2-msys/Tests/Complex/Library/CMakeLists.txt 2014-04-06 23:29:57.163600000 +0400 +@@ -24,7 +24,7 @@ + add_library(CMakeTestLibrary ${LibrarySources}) + + if(WIN32) +- if(NOT CYGWIN) ++ if(NOT CYGWIN AND NOT MSYS) + if(NOT BORLAND) + if(NOT MINGW) + target_link_libraries(CMakeTestLibrary +diff -Naur cmake-2.8.11.2/Tests/ComplexOneConfig/Library/CMakeLists.txt cmake-2.8.11.2-msys/Tests/ComplexOneConfig/Library/CMakeLists.txt +--- cmake-2.8.11.2/Tests/ComplexOneConfig/Library/CMakeLists.txt 2013-07-02 17:41:40.000000000 +0400 ++++ cmake-2.8.11.2-msys/Tests/ComplexOneConfig/Library/CMakeLists.txt 2014-04-06 23:32:18.452800000 +0400 +@@ -24,7 +24,7 @@ + add_library(CMakeTestLibrary ${LibrarySources}) + + if(WIN32) +- if(NOT CYGWIN) ++ if(NOT CYGWIN AND NOT MSYS) + if(NOT BORLAND) + if(NOT MINGW) + target_link_libraries(CMakeTestLibrary +diff -Naur cmake-2.8.11.2/Tests/CTestTestTimeout/CMakeLists.txt cmake-2.8.11.2-msys/Tests/CTestTestTimeout/CMakeLists.txt +--- cmake-2.8.11.2/Tests/CTestTestTimeout/CMakeLists.txt 2013-07-02 17:41:40.000000000 +0400 ++++ cmake-2.8.11.2-msys/Tests/CTestTestTimeout/CMakeLists.txt 2014-04-06 23:32:31.213600000 +0400 +@@ -3,7 +3,7 @@ + include(CTest) + + if(NOT TIMEOUT) +- if(CYGWIN) ++ if(CYGWIN OR MSYS) + set(TIMEOUT 4) # Cygwin CMake sometimes takes > 1 second to load! + else() + set(TIMEOUT 1) +diff -Naur cmake-2.8.11.2/Tests/ExternalProject/CMakeLists.txt cmake-2.8.11.2-msys/Tests/ExternalProject/CMakeLists.txt +--- cmake-2.8.11.2/Tests/ExternalProject/CMakeLists.txt 2013-07-02 17:41:40.000000000 +0400 ++++ cmake-2.8.11.2-msys/Tests/ExternalProject/CMakeLists.txt 2014-04-06 23:34:01.256800000 +0400 +@@ -260,7 +260,7 @@ + endif() + + if(do_cvs_tests AND NOT UNIX) +- if("${CVS_EXECUTABLE}" MATCHES "cygwin") ++ if("${CVS_EXECUTABLE}" MATCHES "cygwin" OR "${CVS_EXECUTABLE}" MATCHES "MSYS") + message(STATUS "No ExternalProject cvs tests with cygwin cvs.exe outside cygwin!") + set(do_cvs_tests 0) + endif() +diff -Naur cmake-2.8.11.2/Tests/FindPackageTest/CMakeLists.txt cmake-2.8.11.2-msys/Tests/FindPackageTest/CMakeLists.txt +--- cmake-2.8.11.2/Tests/FindPackageTest/CMakeLists.txt 2013-07-02 17:41:40.000000000 +0400 ++++ cmake-2.8.11.2-msys/Tests/FindPackageTest/CMakeLists.txt 2014-04-06 23:34:24.547600000 +0400 +@@ -56,7 +56,7 @@ + #----------------------------------------------------------------------------- + # Test system package registry if possible. + set(CMakeTestSystemPackage "") +-if(WIN32 AND NOT CYGWIN) ++if(WIN32 AND NOT CYGWIN AND NOT MSYS) + # Try writing a value to the system package registry. + set(_data "${FindPackageTest_SOURCE_DIR}/SystemPackage") + set(_key "HKLM\\Software\\Kitware\\CMake\\Packages\\CMakeTestSystemPackage") +diff -Naur cmake-2.8.11.2/Tests/Fortran/CMakeLists.txt cmake-2.8.11.2-msys/Tests/Fortran/CMakeLists.txt +--- cmake-2.8.11.2/Tests/Fortran/CMakeLists.txt 2013-07-02 17:41:40.000000000 +0400 ++++ cmake-2.8.11.2-msys/Tests/Fortran/CMakeLists.txt 2014-04-06 23:34:43.158400000 +0400 +@@ -24,7 +24,7 @@ + + # Pick a module .def file with the properly mangled symbol name. + set(world_def "") +-if(WIN32 AND NOT CYGWIN) ++if(WIN32 AND NOT CYGWIN AND NOT MSYS) + if("${CMAKE_Fortran_COMPILER_ID}" MATCHES "GNU") + set(world_def world_gnu.def) + elseif("${CMAKE_Fortran_COMPILER_ID}" MATCHES "Intel" OR +diff -Naur cmake-2.8.11.2/Tests/Jump/Library/Shared/CMakeLists.txt cmake-2.8.11.2-msys/Tests/Jump/Library/Shared/CMakeLists.txt +--- cmake-2.8.11.2/Tests/Jump/Library/Shared/CMakeLists.txt 2013-07-02 17:41:40.000000000 +0400 ++++ cmake-2.8.11.2-msys/Tests/Jump/Library/Shared/CMakeLists.txt 2014-04-06 23:35:00.505600000 +0400 +@@ -1,6 +1,6 @@ + add_library(jumpShared SHARED jumpShared.cxx) + +-if(WIN32 OR CYGWIN) ++if(WIN32 OR CYGWIN OR MSYS) + set(SHARED_MUST_BE_IN_EXE_DIR 1) + endif() + +diff -Naur cmake-2.8.11.2/Tests/PerConfig/CMakeLists.txt cmake-2.8.11.2-msys/Tests/PerConfig/CMakeLists.txt +--- cmake-2.8.11.2/Tests/PerConfig/CMakeLists.txt 2013-07-02 17:41:40.000000000 +0400 ++++ cmake-2.8.11.2-msys/Tests/PerConfig/CMakeLists.txt 2014-04-06 23:35:16.480000000 +0400 +@@ -9,7 +9,7 @@ + set_property(TARGET pcShared PROPERTY DEBUG_POSTFIX -dbg) + set_property(TARGET pcShared PROPERTY VERSION 1.2) + set_property(TARGET pcShared PROPERTY SOVERSION 3) +-if(UNIX AND NOT CYGWIN) ++if(UNIX AND NOT CYGWIN AND NOT MSYS) + set(soname_file -DpcShared_soname_file=$) + endif() + add_executable(perconfig perconfig.c) +diff -Naur cmake-2.8.11.2/Tests/SimpleInstall/CMakeLists.txt cmake-2.8.11.2-msys/Tests/SimpleInstall/CMakeLists.txt +--- cmake-2.8.11.2/Tests/SimpleInstall/CMakeLists.txt 2013-07-02 17:41:40.000000000 +0400 ++++ cmake-2.8.11.2-msys/Tests/SimpleInstall/CMakeLists.txt 2014-04-06 23:35:50.971600000 +0400 +@@ -44,7 +44,7 @@ + message(SEND_ERROR "Stage 1 did not run install script 2.") + endif() + +- if(CYGWIN OR MINGW) ++ if(CYGWIN OR MSYS OR MINGW) + set(LIBPATHS ${LIBPATHS} "${CMAKE_INSTALL_PREFIX}/MyTest/bin") + endif() + message("Search for library in: ${LIBPATHS}") +@@ -110,7 +110,7 @@ + endif() + + # Check that scripts properly installed. +- if(WIN32 AND NOT CYGWIN) ++ if(WIN32 AND NOT CYGWIN AND NOT MSYS) + set(BAT .bat) + else() + set(BAT) +diff -Naur cmake-2.8.11.2/Tests/SimpleInstallS2/CMakeLists.txt cmake-2.8.11.2-msys/Tests/SimpleInstallS2/CMakeLists.txt +--- cmake-2.8.11.2/Tests/SimpleInstallS2/CMakeLists.txt 2013-07-02 17:41:40.000000000 +0400 ++++ cmake-2.8.11.2-msys/Tests/SimpleInstallS2/CMakeLists.txt 2014-04-06 23:36:14.574400000 +0400 +@@ -44,7 +44,7 @@ + message(SEND_ERROR "Stage 1 did not run install script 2.") + endif() + +- if(CYGWIN OR MINGW) ++ if(CYGWIN OR MSYS OR MINGW) + set(LIBPATHS ${LIBPATHS} "${CMAKE_INSTALL_PREFIX}/MyTest/bin") + endif() + message("Search for library in: ${LIBPATHS}") +@@ -110,7 +110,7 @@ + endif() + + # Check that scripts properly installed. +- if(WIN32 AND NOT CYGWIN) ++ if(WIN32 AND NOT CYGWIN AND NOT MSYS) + set(BAT .bat) + else() + set(BAT) +diff -Naur cmake-2.8.11.2/Utilities/cmlibarchive/CMakeLists.txt cmake-2.8.11.2-msys/Utilities/cmlibarchive/CMakeLists.txt +--- cmake-2.8.11.2/Utilities/cmlibarchive/CMakeLists.txt 2013-07-02 17:41:41.000000000 +0400 ++++ cmake-2.8.11.2-msys/Utilities/cmlibarchive/CMakeLists.txt 2014-04-06 23:37:51.590800000 +0400 +@@ -138,7 +138,7 @@ + # + MACRO (TRY_MACRO_FOR_LIBRARY INCLUDES LIBRARIES + TRY_TYPE SAMPLE_SOURCE MACRO_LIST) +- IF(WIN32 AND NOT CYGWIN) ++ IF(WIN32 AND NOT CYGWIN AND NOT MSYS) + CMAKE_PUSH_CHECK_STATE() # Save the state of the variables + SET(CMAKE_REQUIRED_INCLUDES ${INCLUDES}) + SET(CMAKE_REQUIRED_LIBRARIES ${LIBRARIES}) +@@ -163,15 +163,15 @@ + "Macro ${VAR} is checked with") + ENDFOREACH(VAR) + CMAKE_POP_CHECK_STATE() # Restore the state of the variables +- ENDIF(WIN32 AND NOT CYGWIN) ++ ENDIF(WIN32 AND NOT CYGWIN AND NOT MSYS) + ENDMACRO (TRY_MACRO_FOR_LIBRARY) + # + # Check compress/decompress libraries + # +-IF(WIN32 AND NOT CMAKE_CL_64 AND NOT CYGWIN) ++IF(WIN32 AND NOT CMAKE_CL_64 AND NOT CYGWIN AND NOT MSYS) + # GnuWin32 is only for Win32, not Win64. + SET(__GNUWIN32PATH "C:/Program Files/GnuWin32") +-ENDIF(WIN32 AND NOT CMAKE_CL_64 AND NOT CYGWIN) ++ENDIF(WIN32 AND NOT CMAKE_CL_64 AND NOT CYGWIN AND NOT MSYS) + IF(DEFINED __GNUWIN32PATH AND EXISTS "${__GNUWIN32PATH}") + # You have to add a path availabel DLL file into PATH environment variable. + # Maybe DLL path is "C:/Program Files/GnuWin32/bin". +@@ -171,7 +171,7 @@ + SET(HAVE_ZLIB_H 1) + INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIR}) + LIST(APPEND ADDITIONAL_LIBS ${ZLIB_LIBRARIES}) +- IF(WIN32 AND NOT CYGWIN) ++ IF(WIN32 AND NOT CYGWIN AND NOT MSYS) + # + # Test if ZLIB_WINAPI macro is needed to use. + # +@@ -231,7 +231,7 @@ + ADD_DEFINITIONS(-DZLIB_DLL) + ENDIF(ZLIB_DLL) + ENDIF(ZLIB_WINAPI) +- ENDIF(WIN32 AND NOT CYGWIN) ++ ENDIF(WIN32 AND NOT CYGWIN AND NOT MSYS) + ELSE(ZLIB_FOUND) + MESSAGE(FATAL_ERROR "CMake requires zlib to be available to libarchive") + ENDIF(ZLIB_FOUND) +@@ -446,7 +446,7 @@ + # of Windows XP do not support SHA256, SHA384 and SHA512. + # + MACRO(CHECK_CRYPTO_WIN CRYPTO_LIST) +- IF(WIN32 AND NOT CYGWIN) ++ IF(WIN32 AND NOT CYGWIN AND NOT MSYS) + FOREACH(CRYPTO ${CRYPTO_LIST}) + IF(NOT DEFINED ARCHIVE_CRYPTO_${CRYPTO}_WIN) + STRING(TOUPPER "${CRYPTO}" crypto) +@@ -505,7 +505,7 @@ + + ENDIF(NOT DEFINED ARCHIVE_CRYPTO_${CRYPTO}_WIN) + ENDFOREACH(CRYPTO) +- ENDIF(WIN32 AND NOT CYGWIN) ++ ENDIF(WIN32 AND NOT CYGWIN AND NOT MSYS) + ENDMACRO(CHECK_CRYPTO_WIN CRYPTO_LIST) + + # +@@ -1082,7 +1082,7 @@ + # + # Register installation of PDF documents. + # +-IF(WIN32 AND NOT CYGWIN) ++IF(WIN32 AND NOT CYGWIN AND NOT MSYS) + # + # On Windows platform, It's better that we install PDF documents + # on one's computer. +@@ -1094,7 +1094,7 @@ + FILES_MATCHING PATTERN "*.pdf" + ) + ENDIF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/doc/pdf) +-ENDIF(WIN32 AND NOT CYGWIN) ++ENDIF(WIN32 AND NOT CYGWIN AND NOT MSYS) + # + # + # +diff -Naur cmake-2.8.11.2/Utilities/cmlibarchive/libarchive/CMakeLists.txt cmake-2.8.11.2-msys/Utilities/cmlibarchive/libarchive/CMakeLists.txt +--- cmake-2.8.11.2/Utilities/cmlibarchive/libarchive/CMakeLists.txt 2013-07-02 17:41:41.000000000 +0400 ++++ cmake-2.8.11.2-msys/Utilities/cmlibarchive/libarchive/CMakeLists.txt 2014-04-06 23:38:41.713600000 +0400 +@@ -138,14 +138,14 @@ + tar.5 + ) + +-IF(WIN32 AND NOT CYGWIN) ++IF(WIN32 AND NOT CYGWIN AND NOT MSYS) + LIST(APPEND libarchive_SOURCES archive_entry_copy_bhfi.c) + LIST(APPEND libarchive_SOURCES archive_read_disk_windows.c) + LIST(APPEND libarchive_SOURCES archive_windows.c) + LIST(APPEND libarchive_SOURCES archive_windows.h) + LIST(APPEND libarchive_SOURCES archive_write_disk_windows.c) + LIST(APPEND libarchive_SOURCES filter_fork_windows.c) +-ENDIF(WIN32 AND NOT CYGWIN) ++ENDIF(WIN32 AND NOT CYGWIN AND NOT MSYS) + + # CMake needs just one static "cmlibarchive" library. + ADD_LIBRARY(cmlibarchive STATIC ${libarchive_SOURCES} ${include_HEADERS}) +diff -Naur cmake-2.8.11.2/Utilities/Release/release_cmake.cmake cmake-2.8.11.2-msys/Utilities/Release/release_cmake.cmake +--- cmake-2.8.11.2/Utilities/Release/release_cmake.cmake 2013-07-02 17:41:41.000000000 +0400 ++++ cmake-2.8.11.2-msys/Utilities/Release/release_cmake.cmake 2014-04-06 23:40:09.697600000 +0400 +@@ -100,6 +100,10 @@ + set(SUFFIXES ${SUFFIXES} "*.tar.bz2") + set(extra_files setup.hint) + endif() ++ if("${gen}" MATCHES "MSYS") ++ set(SUFFIXES ${SUFFIXES} "*.tar.bz2") ++ set(extra_files setup.hint) ++ endif() + if("${gen}" STREQUAL "TZ") + set(SUFFIXES ${SUFFIXES} "*.tar.Z") + endif() diff --git a/cmake/disable-response-files-for-msys.patch b/cmake/disable-response-files-for-msys.patch new file mode 100644 index 00000000..089f75ee --- /dev/null +++ b/cmake/disable-response-files-for-msys.patch @@ -0,0 +1,15 @@ +--- cmake-2.8.12.2/Modules/Platform/Windows-GNU.cmake.orig 2014-01-30 23:55:26.783200000 +0400 ++++ cmake-2.8.12.2/Modules/Platform/Windows-GNU.cmake 2014-01-31 00:03:27.411200000 +0400 +@@ -86,8 +86,10 @@ + set(CMAKE_${lang}_COMPILE_OPTIONS_PIE "") + set(CMAKE_SHARED_LIBRARY_${lang}_FLAGS "") + +- set(CMAKE_${lang}_USE_RESPONSE_FILE_FOR_OBJECTS ${__WINDOWS_GNU_LD_RESPONSE}) +- set(CMAKE_${lang}_USE_RESPONSE_FILE_FOR_INCLUDES 1) ++ if(NOT CMAKE_GENERATOR STREQUAL "MSYS Makefiles") ++ set(CMAKE_${lang}_USE_RESPONSE_FILE_FOR_OBJECTS ${__WINDOWS_GNU_LD_RESPONSE}) ++ set(CMAKE_${lang}_USE_RESPONSE_FILE_FOR_INCLUDES 1) ++ endif() + + # We prefer "@" for response files but it is not supported by gcc 3. + execute_process(COMMAND ${CMAKE_${lang}_COMPILER} --version OUTPUT_VARIABLE _ver ERROR_VARIABLE _ver) diff --git a/cmake/findfreetype.patch b/cmake/findfreetype.patch new file mode 100644 index 00000000..454b591d --- /dev/null +++ b/cmake/findfreetype.patch @@ -0,0 +1,26 @@ +diff --git a/Modules/FindFreetype.cmake b/Modules/FindFreetype.cmake +index 179dc00..0f5a2b4 100644 +--- a/Modules/FindFreetype.cmake ++++ b/Modules/FindFreetype.cmake +@@ -62,10 +62,10 @@ find_path(FREETYPE_INCLUDE_DIR_ft2build ft2build.h + ENV GTKMM_BASEPATH + [HKEY_CURRENT_USER\\SOFTWARE\\gtkmm\\2.4;Path] + [HKEY_LOCAL_MACHINE\\SOFTWARE\\gtkmm\\2.4;Path] +- PATH_SUFFIXES include/freetype2 include ++ PATH_SUFFIXES include/freetype2 include/freetype include + ) + +-find_path(FREETYPE_INCLUDE_DIR_freetype2 freetype/config/ftheader.h ++find_path(FREETYPE_INCLUDE_DIR_freetype2 config/ftheader.h + HINTS + ENV FREETYPE_DIR + PATHS +@@ -76,7 +76,7 @@ find_path(FREETYPE_INCLUDE_DIR_freetype2 freetype/config/ftheader.h + ENV GTKMM_BASEPATH + [HKEY_CURRENT_USER\\SOFTWARE\\gtkmm\\2.4;Path] + [HKEY_LOCAL_MACHINE\\SOFTWARE\\gtkmm\\2.4;Path] +- PATH_SUFFIXES include/freetype2 include ++ PATH_SUFFIXES include/freetype2 include/freetype include include/freetype2/freetype + ) + + find_library(FREETYPE_LIBRARY