# Distributed under the OSI-approved BSD 3-Clause License. See accompanying # file Copyright.txt or https://cmake.org/licensing for details. # This file is included by cmGlobalGenerator::EnableLanguage. # It is included before the compiler has been determined. # before cmake 2.6 these variables were set in cmMakefile.cxx. This is still # done to keep scripts and custom language and compiler modules working. # But they are reset here and set again in the platform files for the target # platform, so they can be used for testing the target platform instead # of testing the host platform. unset(APPLE) unset(UNIX) unset(CYGWIN) unset(MSYS) unset(WIN32) unset(BSD) unset(LINUX) # The CMAKE_EFFECTIVE_SYSTEM_NAME is used to load compiler and compiler # wrapper configuration files. By default it equals to CMAKE_SYSTEM_NAME # but could be overridden in the ${CMAKE_SYSTEM_NAME}-Initialize files. # # It is useful to share the same aforementioned configuration files and # avoids duplicating them in case of tightly related platforms. # # An example are the platforms supported by Xcode (macOS, iOS, tvOS, visionOS # and watchOS). For all of those the CMAKE_EFFECTIVE_SYSTEM_NAME is # set to Apple which results in using # Platform/Apple-AppleClang-CXX.cmake for the Apple C++ compiler. set(CMAKE_EFFECTIVE_SYSTEM_NAME "${CMAKE_SYSTEM_NAME}") include(Platform/${CMAKE_SYSTEM_NAME}-Initialize OPTIONAL) set(CMAKE_SYSTEM_SPECIFIC_INITIALIZE_LOADED 1)