Commit Graph

45 Commits

Author SHA1 Message Date
Brad King 9211b0d234 ENH: Improvied compiler identification robustness
- Write a single source file into the compiler id directory
  - This avoid requiring the compiler to behave correctly with
    respect to include rules and the current working directory
  - Helps to identify cross-compiling toolchains with unusual
    default behavior
2008-02-25 09:23:14 -05:00
Brad King a75079d9e0 ENH: When detecting the compiler id try compiling only to an object file. 2008-02-11 17:00:54 -05:00
Brad King c12a7e388d BUG: When configuring compiler information files into the CMakeFiles directory in the project build tree, use IMMEDIATE option for CONFIGURE_FILE explicitly. It is needed in case the user sets CMAKE_BACKWARDS_COMPATIBILITY to 2.0 or lower. 2008-02-04 10:04:23 -05:00
Brad King bbbb2be765 BUG: When forcing the C and CXX compilers do not try to detect the ABI information. Cleanup configured language compiler info files by always using @ONLY. This addresses bug#6297. 2008-02-03 17:24:50 -05:00
Alexander Neundorf ff9ed18dad ENH: if CMAKE_(C|CXX)_COMPILER is preset to a list of two elements, use the
first one as the compiler and the second one as ARG1 for the compiler

Alex
2007-07-18 10:52:53 -04:00
Alexander Neundorf 930bb0cd37 ENH: remove support for presetting CMAKE_SYSTEM_INFO_FILE,
CMAKE_SYSTEM_AND_C_COMPILER_INFO_FILE, CMAKE_SYSTEM_AND_CXX_COMPILER_INFO_FILE,
CMAKE_SYSTEM_AND_C_COMPILER_AND_PROCESSOR_INFO_FILE and CMAKE_SYSTEM_AND_CXX_COMPILER_AND_PROCESSOR_INFO_FILE

Instead of presetting these variables to arbitrary filenames, users should
set up CMAKE_SYSTEM_NAME and the compilers correctly and also create a
Platform/ directory so these files will all follow the official cmake style,
which should make it easier to understand and debug project which have their
own platform/toolchain support files.

-remove support for a suffix to MS crosscompilers, since this is not (yet)
supported by cmake and might confuse users

Alex
2007-07-02 13:29:36 -04:00
Alexander Neundorf 5fb7dab541 ENH: check for CMAKE_HOST_SYSTEM_NAME to decide whether to load
CMakeDetermineSystem.cmake, since CMAKE_SYSTEM_NAME might already be preset
when using cmake for cross compiling
use type STRING instead of FILEPATH since otherwise a strange filename was
generated

Alex
2007-06-26 13:00:42 -04:00
Alexander Neundorf 422dc631b6 ENH: split cmGlobalGenerator::SetLanguageEnabled() in two parts, where the
second part copies the values from the cmake variables into internal maps.
So this can now be done after the compiler-specific information has been
loaded, which can now overwrite more settings.

Alex
2007-06-11 15:31:42 -04:00
Alexander Neundorf c8dd1caff9 BUG: don't fail if a compiler is given in CMAKE_C/CXX_COMPILER but it can't
be found in the path

Alex
2007-05-21 10:58:04 -04:00
Alexander Neundorf 61d3444f93 ENH: merge CMake-CrossCompileBasic to HEAD
-add a RESULT_VARIABLE to INCLUDE()
-add CMAKE_TOOLCHAIN_FILE for specifiying your (potentially crosscompiling) toolchain
-have TRY_RUN() complain if you try to use it in crosscompiling mode (which were compiled but cannot run on this system)
-use CMAKE_EXECUTABLE_SUFFIX in TRY_RUN(), probably TRY_RUN won't be able to
run the executables if they have a different suffix because they are
probably crosscompiled, but nevertheless it should be able to find them
-make several cmake variables presettable by the user: CMAKE_C/CXX_COMPILER, CMAKE_C/CXX_OUTPUT_EXTENSION, CMAKE_SYSTEM_NAME, CMAKE_SYSTEM_INFO_FILE
-support prefix for GNU toolchains (arm-elf-gcc, arm-elf-ar, arm-elf-strip etc.)
-move ranlib on OSX from the file command to a command in executed in cmake_install.cmake
-add support for stripping during install in cmake_install.cmake
-split out cl.cmake from Windows-cl.cmake, first (very incomplete) step to support MS crosscompiling tools
-remove stdio.h from the simple C program which checks if the compiler works, since this may not exist for some embedded platforms
-create a new CMakeFindBinUtils.cmake which collects the search fro ar, ranlib, strip, ld, link, install_name_tool and other tools like these
-add support for CMAKE_FIND_ROOT_PATH for all FIND_XXX commands, which is a
list of directories which will be prepended to all search directories, right
now as a cmake variable, turning it into a global cmake property may need
some more work
-remove cmTestTestHandler::TryExecutable(), it's unused
-split cmFileCommand::HandleInstall() into slightly smaller functions

Alex
2007-05-17 13:20:44 -04:00
Brad King 44ab336a0c ENH: Merging CompilerId updates from branch CMake-Modules-CompilerId to the main tree. Changes between CMake-Modules-CompilerId-mp1 and CMake-Modules-CompilerId-mp2 are included. 2007-05-03 08:24:32 -04:00
Brad King eac71647dd ENH: Merging CompilerId implementation from branch CMake-Modules-CompilerId to the main tree. Changes between CMake-Modules-CompilerId-bp and CMake-Modules-CompilerId-mp1 are included. 2007-04-28 09:35:01 -04:00
Alexander Neundorf f693951480 STYLE: fix typo "CCC" -> "CC", add comments which variables it sets
Alex
2007-04-25 16:22:46 -04:00
Bill Hoffman 3a32cec969 ENH: merge in changes for beos support 2006-12-04 17:26:41 -05:00
Brad King 7001a88a74 BUG: Search for the compiler only once and store a full path to it in the cache. This avoids problems with the case of locations in the PATH variable on Windows that change the compiler name when CMake is re-run. CMakeFiles/CMake*Compiler.cmake files should hold the full path to the compiler always. 2006-08-29 13:59:15 -04:00
Brad King 592f602c98 BUG: CMAKE_AR should be advanced. 2006-07-22 08:11:30 -04:00
Brad King d56e6a9241 BUG: Fixed building of C++-only projects and added a test. 2006-07-21 11:53:23 -04:00
Ken Martin 8e9a6beccc ENH: centralized locaiton of CMakeFiles setting 2006-06-14 12:28:32 -04:00
Bill Hoffman c80faed7f6 ENH: add mingw test to cxx 2006-04-17 13:57:34 -04:00
Bill Hoffman aa98e3647d ENH: fix more than one argument passed in to compilers via environment 2006-01-25 11:41:05 -05:00
Bill Hoffman b7fa820118 ENH: add documentation support for modules 2005-12-14 13:51:08 -05:00
Ken Martin c6b011e35e ENH: put cmake files intoa CMakeFiles subdir to clean up bin tree 2005-07-29 09:19:25 -04:00
Bill Hoffman b8b298104b ENH: make sure flags set in CC or CXX environment variables stay with the compiler 2005-07-20 15:44:55 -04:00
Ken Martin 2e4264e0d1 ENH: do not check for gnu for visual studio 2004-09-15 10:32:28 -04:00
Bill Hoffman 66a08c10e5 ENH: more uniform approach to enable language, one step closer to being able to enable a language without modifing cmake source code 2004-08-26 14:55:55 -04:00
Bill Hoffman 89fe29a41a ENH: reduce the number of times gnu is tested for 2003-12-12 09:12:49 -05:00
Brad King 9a4c654d23 BUG: Fixed same spaces-in-paths problem for CMakeTestGNU.c as in CMakeDetermineCCompiler.cmake. 2003-10-17 16:09:18 -04:00
Andy Cedilnik 8149dbed29 ENH: Cleanups and add missing CMakeOutput.log and CMakeError.log appending. Close Bug #136 - Verify that all modules that do try compile produce CMakeError.log and CMakeOutput.log 2003-08-08 11:59:07 -04:00
Bill Hoffman d9a74e1b1e ENH: move full path compiler to internal and not just advanced 2003-02-14 10:40:00 -05:00
Bill Hoffman 2f4ea98a4c add a fatal error, and make sure c and c++ compilers work before using them 2003-01-21 12:50:48 -05:00
Bill Hoffman 3da465e24f ENH: look for AIX compiler as well 2003-01-06 09:04:18 -05:00
Bill Hoffman bd74882d3e ENH: use CMAKE_ROOT and not PROJECT_ for try compile stuff, this allows projects within projects to have different languages 2002-12-17 14:54:25 -05:00
Brad King 38b2667de2 ERR: Need double-quotes around expression to be mached in IF command. 2002-12-12 10:25:18 -05:00
Bill Hoffman b3ca217a23 clean up compiler picking code 2002-12-06 10:09:41 -05:00
Bill Hoffman 35fb6f22ba fix for generator picked compilers 2002-12-06 10:02:19 -05:00
Bill Hoffman 5a75e03037 allow flags to be in the CC and CXX environment variables 2002-11-19 18:17:17 -05:00
Bill Hoffman 7140c6f364 fixes to better honor env CC and CXX 2002-11-19 15:55:19 -05:00
Bill Hoffman 9b14032ab4 BUG: fix handling of CXX 2002-11-19 12:18:12 -05:00
Bill Hoffman 83d273334a BUG: fix path problems 2002-11-12 16:58:38 -05:00
Bill Hoffman f54bfe467c store the compiler in the cache 2002-11-08 17:24:45 -05:00
Bill Hoffman f5d95fb078 Complete rework of makefile generators expect trouble 2002-11-08 15:46:08 -05:00
Bill Hoffman 319c3adf2a *** empty log message *** 2002-10-25 14:08:17 -04:00
Bill Hoffman fa782867b3 closer to removing autoconf 2002-10-23 16:53:53 -04:00
Bill Hoffman da460f9008 test for gnu compiler 2002-10-22 18:17:07 -04:00
Bill Hoffman b1114a344f new cmake based configuration 2002-10-22 10:34:07 -04:00