- 28 Oct, 2013 2 commits
-
-
Support new languages using CMAKE_MODULE_PATH.
-
Brad King authored
When compiler id detection also provides a CMAKE_<LANG>_COMPILER value, use it unconditionally. It is known to be the compiler that is actually in use by IDE builds in VS and Xcode. Do not let a stray cache entry try to say otherwise.
-
- 22 Oct, 2013 2 commits
-
-
Brad King authored
Even though this variable gets set to CMAKE_<LANG>_COMPILER-NOTFOUND when the compiler is not found, CMake<LANG>Compiler.cmake gets removed by cmGlobalGenerator::EnableLanguage so in try compiles the value is empty. Quote references to the variable in Modules/CMake(C|CXX|Fortran)Information.cmake Modules/CMakeDetermineCompilerId.cmake to avoid dropping arguments from commands that expect them.
-
Brad King authored
If no CMAKE_${lang}_COMPILER is available then do not try to run it to determine the compiler vendor.
-
- 19 Oct, 2013 1 commit
-
-
Brad King authored
Teach CMakeDetermineCompilerId to skip trying to build a .vfproj file for Intel Fortran under Visual Studio 6. The msdev command-line build produces a popup error dialog that hangs the configuration.
-
- 18 Oct, 2013 1 commit
-
-
Brad King authored
Teach CMakeDetermineCompilerId to use a .vfproj project file to build the Fortran compiler id source file under the Visual Studio generators.
-
- 16 Oct, 2013 2 commits
-
-
Brad King authored
The Intel Fortran compiler needs the /fpp option to enable C preprocessing. Without the option the compiler may warn and ignore preprocessor lines instead of failing with an error. Detect the warning and treat it as failure so that we move on to try /fpp and detect the correct id. Without this it works only by luck because Intel is the first compiler id in our detection source file.
-
Brad King authored
When the platform toolset is from Intel, look for "icl.exe" instead of "cl.exe".
-
- 04 Oct, 2013 2 commits
-
-
Brad King authored
Some compilers try to simulate other compilers as a drop-in replacement supporting all the same command-line options and predefined preprocessor macros. In such cases it will be useful to have CMake load the compiler information files for the simulated compiler instead of duplicating the information. Teach CMakeDetermineCompilerId to extract the simulated compiler id and version when the compiler id detection provides it.
-
Brad King authored
Add initialization of the ARCHITECTURE_ID local and fix the initialization of the COMPILER_ID_TWICE local.
-
- 25 Sep, 2013 1 commit
-
-
The subsystem must be set to WINDWOSCE for some SDKs to link an executable. Set it to 9 for VS2005 and to 8 for VS2008, since the value differs between the different Visual Studio versions.
-
- 03 Sep, 2013 1 commit
-
-
Brad King authored
When the VS IDE build output setting Tools -> Options -> Projects and Solutions -> Build and Run -> MSBuild project output verbosity is set to "Diagnostic" the build output contains a " (TaskId:###)" suffix on the CMAKE_<lang>_COMPILER= line used to extract the compiler executable location. Strip this suffix before checking that the reported location exists.
-
- 05 Aug, 2013 5 commits
-
-
Patrick Gansterer authored
Read the machine field from the COFF file header to get the exact target architecture for ARM and SHx on the Windows platform.
-
Patrick Gansterer authored
Since we do not need the information about the target architecture we can use the PlatformName only to specify the this information. This also removes setting of the MSVC_*_ARCHITECTURE_ID variable which is not required, because this variable gets set by the compiler detection code in CMAKE_DETERMINE_COMPILER_ID_CHECK().
-
Patrick Gansterer authored
Move the code which sets CMAKE_VS_PLATFORM_NAME from cmGlobalVisualStudio8Generator to cmGlobalVisualStudio7Generator.
-
Patrick Gansterer authored
The Microsoft linker is intelligent enough to detect the target machine type depending on the input files. This allows us to get the target architecture from the compiler instead of maintaining the mapping to the platform name.
-
Patrick Gansterer authored
id_machine6 is never set to an other value than x86. So it is safe to remove the replacements with "x86" directly.
-
- 08 May, 2013 1 commit
-
-
This enables detection with the VS2012 CTP for windows Blue (8.1). To build native ARM you need to have the WOA SDK (Windows on ARM).
-
- 07 Feb, 2013 1 commit
-
-
Brad King authored
Implement generator toolset selection (cmake -T) for Xcode > 2.0 by adding the GCC_VERSION build setting to project files.
-
- 30 Nov, 2012 2 commits
-
-
Patrick Gansterer authored
Set the entry point to mainACRTStartup to make sure that main() can be found when linking the application to check the compiler.
-
Patrick Gansterer authored
Some WinCE linker only work when the subsystem is set to WINDOWSCE.
-
- 27 Nov, 2012 1 commit
-
-
Add a dummy mainCRTStartup() function, since the linker searches for it instead of main() and set the CMAKE_SYSTEM_* variables depending on the MSVC_C_ARCHITECTURE_ID and CMAKE_VS_WINCE_VERSION variables.
-
- 26 Nov, 2012 1 commit
-
-
When adding more platforms to the Visual Studio generators a simple regular expressing can not handle all cases anymore. This new define holds the name of the Visual Studio target platform.
-
- 20 Nov, 2012 1 commit
-
-
Patrick Gansterer authored
If the TargetMachine isn't defined the linker will choose the correct target depending on the input file. This helps us later with additional compiler platforms for WinCE.
-
- 24 Sep, 2012 1 commit
-
-
Brad King authored
Xcode honors this environment variable if the project file does not set it. Hide it from Xcode while building the compiler id project.
-
- 18 Sep, 2012 1 commit
-
-
Brad King authored
Use the registry entries that vsvars32.bat uses to detect the location of MSBuild.exe in the framework directory. Invoke MSBuild with the option /p:VisualStudioVersion=$version so it knows from which VS version to load the system build rules. Teach cmGlobalVisualStudio11Generator to set its ExpressEdition member using the registry.
-
- 24 Aug, 2012 1 commit
-
-
Brad King authored
At the top of a build tree we configure inside the CMakeFiles directory files such as "CMakeSystem.cmake" and "CMake<lang>Compiler.cmake" to save information detected about the system and compilers in use. The method of detection and the exact results store varies across CMake versions as things improve. This leads to problems when loading files configured by a different version of CMake. Previously we ignored such existing files only if the major.minor part of the CMake version component changed, and depended on the CMakeCache.txt to tell us the last version of CMake that wrote the files. This led to problems if the user deletes the CMakeCache.txt or we add required information to the files in a patch-level release of CMake (still a "feature point" release by modern CMake versioning convention). Ensure that we always have version-consistent platform information files by storing them in a subdirectory named with the CMake version. Every version of CMake will do its own system and compiler identification checks even when a build tree has already been configured by another version of CMake. Stored results will not clobber those from other versions of CMake which may be run again on the same tree in the future. Loaded results will match what the system and language modules expect. Rename the undocumented variable CMAKE_PLATFORM_ROOT_BIN to CMAKE_PLATFORM_INFO_DIR to clarify its purpose. The new variable points at the version-specific directory while the old variable did not.
-
- 22 Aug, 2012 3 commits
-
-
Brad King authored
Configure a hand-generated Visual Studio project to build the compiler id source file since we cannot run the compiler command-line tool directly. Add a post-build command to print out the full path to the compiler tool. Parse the full path to the compiler tool from the build output.
-
Brad King authored
Configure a hand-generated Xcode project to build the compiler id source file since we cannot run the compiler command-line tool directly. Add a post-build shell script phase to print out the compiler toolset build setting. Run xcodebuild to compile the identification binary. Parse the full path to the compiler tool from the xcodebuild output.
-
Brad King authored
Teach CMAKE_DETERMINE_COMPILER_ID to check for variable CMAKE_${lang}_COMPILER_ID_TOOL after CMAKE_DETERMINE_COMPILER_ID_BUILD to use as CMAKE_${lang}_COMPILER since it will not be known until after the IDE runs. In CMAKE_DETERMINE_COMPILER_ID_BUILD prepare a cascading "if" so we can use a generator-specific method to compile the identification source file. Leave "if(0)" as a placeholder for now and put the direct compiler invocation in "else()". After running the compiler to build the compiler identification source we file(GLOB) the list of output files as candidates for extracting the compiler information. An IDE may create directories, so exclude exclude directories from this list.
-
- 13 Aug, 2012 2 commits
-
-
Ancient versions of CMake required else(), endif(), and similar block termination commands to have arguments matching the command starting the block. This is no longer the preferred style. Run the following shell code: for c in else endif endforeach endfunction endmacro endwhile; do echo 's/\b'"$c"'\(\s*\)(.\+)/'"$c"'\1()/' done >convert.sed && git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' | egrep -z -v '^(Utilities/cm|Source/kwsys/)' | egrep -z -v 'Tests/CMakeTests/While-Endwhile-' | xargs -0 sed -i -f convert.sed && rm convert.sed
-
Ancient CMake versions required upper-case commands. Later command names became case-insensitive. Now the preferred style is lower-case. Run the following shell code: cmake --help-command-list | grep -v "cmake version" | while read c; do echo 's/\b'"$(echo $c | tr '[:lower:]' '[:upper:]')"'\(\s*\)(/'"$c"'\1(/g' done >convert.sed && git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' | egrep -z -v '^(Utilities/cm|Source/kwsys/)' | xargs -0 sed -i -f convert.sed && rm convert.sed
-
- 12 Jun, 2012 1 commit
-
-
Alexander Neundorf authored
This must have been left in accidentially. Alex
-
- 07 Dec, 2011 1 commit
-
-
Brad King authored
Teach CMakePlatformId.h to construct an "INFO:compiler_version[]" string literal from macros COMPILER_VERSION_(MAJOR|MINOR|PATCH|TWEAK) to be defined in CMake(C|CXX)CompilerId.(c|cpp) for each compiler. Provide conversion macros DEC() and HEX() to decode decimal or hex digits from integer values. Parse the version out of the compiler id binary along with the other INFO values already present. Store the result in variable CMAKE_<LANG>_COMPILER_VERSION in the format "major[.minor[.patch[.tweak]]]". Save the value persistently in CMake(C|CXX)Compiler.cmake in the build tree. Document the variable for internal use since we do not set it everywhere yet. Report the compiler version on the compiler id result line e.g. The C compiler identification is GNU 4.5.2 Report CMAKE_(C|CXX)_COMPILER_(ID|VERSION) in SystemInformation test.
-
- 01 Mar, 2011 1 commit
-
-
Alexander Neundorf authored
Alex
-
- 01 Sep, 2010 1 commit
-
-
- 17 Aug, 2010 1 commit
-
-
Alexander Neundorf authored
In CMAKE_DETERMINE_COMPILER_ID_VENDOR() the compiler is called with various arguments. In some cases, this can make the compiler hang and wait forever for input (e.g. "as -v"). That's why add an timeout so it terminates finally. 10 seconds should be more than enough, this is the time it takes to startup the compiler, which is usually quite fast. Alex
-
- 15 Aug, 2010 2 commits
-
-
Alexander Neundorf authored
For assembler, the "compiler ID" cannot be detected by "compiling" a source file, since there is not source file all assemblers understand. Instead the function CMAKE_DETERMINE_COMPILER_ID_VENDOR() is used to run the assembler and check its output. For this the CMAKE_DETERMINE_COMPILER_ID_VENDOR() function had to be extended so that it creates the run directory if it doesn't exist yet. In CMakeASMInformation.cmake now also CMAKE_ASM_COMPILER_ID is used (but there are no such files yet, will come with the support for the IAR toolchain). Alex
-
Alexander Neundorf authored
Alex
-
- 09 Aug, 2010 1 commit
-
-