mirror of
https://github.com/reactos/CMake.git
synced 2024-11-29 14:30:27 +00:00
Merge topic 'cygwin'
85c0a69
Cygwin: Do not define 'WIN32' (#10122)62c6d2d
Merge branch 'cmake_--system-information_min-version' into cygwin72db20f
Merge branch 'tests-if-CYGWIN' into cygwin5adef16
Merge branch 'cygwin-module-prefix' into cygwincbc3258
Merge branch 'try-compile-min-version' into cygwin
This commit is contained in:
commit
9f46051490
@ -10,6 +10,7 @@
|
||||
# See the License for more information.
|
||||
#=============================================================================
|
||||
CMAKE_MINIMUM_REQUIRED(VERSION 2.4.5 FATAL_ERROR)
|
||||
SET(CMAKE_LEGACY_CYGWIN_WIN32 0) # Remove when CMake >= 2.8.4 is required
|
||||
PROJECT(CMake)
|
||||
IF(COMMAND CMAKE_POLICY)
|
||||
CMAKE_POLICY(SET CMP0003 NEW)
|
||||
|
@ -1,4 +1,48 @@
|
||||
SET(WIN32 1)
|
||||
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 Cygwin 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 Cygwin!"
|
||||
"\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 Cygwin 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(CYGWIN 1)
|
||||
|
||||
SET(CMAKE_SHARED_LIBRARY_PREFIX "cyg")
|
||||
|
@ -2341,17 +2341,19 @@ void cmMakefile::AddDefaultDefinitions()
|
||||
working, these variables are still also set here in this place, but they
|
||||
will be reset in CMakeSystemSpecificInformation.cmake before the platform
|
||||
files are executed. */
|
||||
#if defined(_WIN32) || defined(__CYGWIN__)
|
||||
#if defined(_WIN32)
|
||||
this->AddDefinition("WIN32", "1");
|
||||
this->AddDefinition("CMAKE_HOST_WIN32", "1");
|
||||
#else
|
||||
this->AddDefinition("UNIX", "1");
|
||||
this->AddDefinition("CMAKE_HOST_UNIX", "1");
|
||||
#endif
|
||||
// Cygwin is more like unix so enable the unix commands
|
||||
#if defined(__CYGWIN__)
|
||||
this->AddDefinition("UNIX", "1");
|
||||
this->AddDefinition("CMAKE_HOST_UNIX", "1");
|
||||
if(cmSystemTools::IsOn(cmSystemTools::GetEnv("CMAKE_LEGACY_CYGWIN_WIN32")))
|
||||
{
|
||||
this->AddDefinition("WIN32", "1");
|
||||
this->AddDefinition("CMAKE_HOST_WIN32", "1");
|
||||
}
|
||||
#endif
|
||||
#if defined(__APPLE__)
|
||||
this->AddDefinition("APPLE", "1");
|
||||
|
Loading…
Reference in New Issue
Block a user