Commit Graph

1280 Commits

Author SHA1 Message Date
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 3c1c335800 BUG: with MS Visual Studio currently there is no compiler id, so check the
generator too

Alex
2007-07-02 12:46:55 -04:00
Alexander Neundorf 5b18b80b58 ENH: initial support for assembler in cmake, needs testing by our users
Alex
2007-06-28 09:14:27 -04:00
Alexander Neundorf d44bd2551c BUG: use ${LANG}_COMPILER_ARG1 also here, otherwise some compilers won't be
able to compile e.g. the C++ source file (e.g. the ADSP compiler needs -c++
for compiling C++ files)

Alex
2007-06-27 14:55:42 -04:00
Brad King eab81489f1 ENH: Added global property FIND_LIBRARY_USE_LIB64_PATHS to allow lib64 paths to be searched optionally. Turn off the feature on debian systems. This addresses debian report 419007. 2007-06-27 12:07:34 -04:00
Brad King a5e6f52a96 ENH: Added GNU/Hurd platform. Taken from debian patch 407155. 2007-06-27 11:42:10 -04:00
Alexander Neundorf 25a425ecf0 ENH: 2007-06-26 15:15:52 -04:00
Alexander Neundorf cd8687782b ENH: add basic support for sdcc (http://sdcc.sourceforge.net), needs sdcc (sdcclib) cvs for creating libraries)
Alex
2007-06-26 13:19:46 -04:00
Alexander Neundorf f8261ff9f7 STYLE: change global cmake variable CMAKE_TARGET_SUPPORTS_ONLY_STATIC_LIBS
to the first global cmake property TARGET_SUPPORTS_SHARED_LIBS

Alex
2007-06-26 13:05:27 -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 10e3efa6b5 ENH: add support for BlueGene/L
Alex
2007-06-22 10:22:27 -04:00
Alexander Neundorf 1383368628 ENH: print a warning if ADD_LIBRARY( SHARED/MODULE ) is used and the target
platform doesn't support shared libraries

Alex
2007-06-21 16:23:54 -04:00
Alexander Neundorf 0b804cbece STYLE: use IF(NOT ...) and remove MARK_AS_ADVANCED() for variables which are
not defined here

Alex
2007-06-18 18:01:15 -04:00
Alexander Neundorf df1edcb9d3 ENH: first include the processor specific file, then the compiler file, this
way the specific hardware file can set variables which can be used in the
toolchain rules (like CMAKE_C_COMPILE_OBJECT etc.)

Alex
2007-06-12 16:41:50 -04:00
Alexander Neundorf 6c02ec1a40 STYLE: add a comment about SetLanguageEnabled()
-add a Generic.cmake for target platforms without operating system

Alex
2007-06-11 15:47:35 -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
Brad King 1a71290836 BUG: Fixed name of variable used to check version of uic executable. 2007-06-11 15:02:03 -04:00
Alexander Neundorf 79077f8373 ENH: more consistence among the X11 components
Alex
2007-06-08 10:28:52 -04:00
Alexander Neundorf dddc9e3103 ENH: patch from #5054: also search for QtUitoolsd lib
Alex
2007-06-08 09:28:33 -04:00
Alexander Neundorf b956fc2406 STYLE: remove out commented code
Alex
2007-06-07 13:51:17 -04:00
Alexander Neundorf eab5a4350d ENH: also load a processor-specific file if exists
-also try the basename file if the compiler id file doesn't exist
-don't rely so much on the CMAKE_TOOLCHAIN_FILE

Alex
2007-06-05 10:28:43 -04:00
Alexander Neundorf 6989f80026 COMP: don't use stdio, it can fail on some embedded targets (sdcc)
Alex
2007-06-05 10:20:21 -04:00
Alexander Neundorf 442147504f COMP: make the new check_type_size work with the HPUX cc compiler: const doesn't exist there
Alex
2007-06-05 08:30:50 -04:00
Alexander Neundorf 74750610cf ENH: determine typesize by compiling a file and reading strings from the compiled output.
Tested with various gcc, XCode, MSVC7, sdcc
For OSX when doing TRY_COMPILE() CMAKE_OSX_ARCHITECTURES is used, if there are different results an error is generated. CMAKE_OSX_ARCHITECTURES can be overwritten for the TRY_COMPILES with CMAKE_TRY_COMPILE_OSX_ARCHITECTURES.

Alex
2007-06-04 17:08:46 -04:00
Alexander Neundorf f94b8cfd3c COMP: fix warnings on some machines where some X libs apparently don't
really work by reverting X11_LIBRARIES back to the old version
-add some more X11_xxx_FOUND variables
-reformat comments at the top
-always use IF(INCLUDE_DIR and LIB) for setting FOUND to TRUE

Alex
2007-06-01 13:17:23 -04:00
Alexander Neundorf eddf1cf39f ENH: improve TRY_RUN() for crosscompiling: instead of just failing, it now
creates two cache variables, one for the RUN_RESULT, one for the RUN_OUTPUT
(if required), which can be set or preset by the user. It has now also two
new arguments: RUN_OUTPUT_VARIABLE and COMPILE_OUTPUT_VARIABLE (the old
OUTPUT_VARIABLE merges both), so if only COMPILE_OUTPUT_VARIABLE is used the
run time output of the TRY_RUN is unused and the user doesn't have to care
about the output when crosscompiling. This is now used in FindThreads.cmake,
CheckC/CXXSourceRuns.cmake and TestBigEndian.cmake, which used the output
only for the logfile (compile output is still there). Test/TryCompile/ now
also tests the behaviour of OUTPUT_VARIABLE, RUN_OUTPUT_VARIABLE and
COMPILE_OUTPUT_VARIABLE.

Alex
2007-06-01 11:16:29 -04:00
Alexander Neundorf 5a6a3cd869 ENH: mostly synced with FindX11.cmake from KDE svn: now also searches for a
lot of additional X11 libs, like Xv, Xau, Xrandr and others

Alex
2007-05-30 12:09:34 -04:00
Alexander Neundorf eed7c8dec1 ENH: always provide CMAKE_SYSTEM_XXX() and MAKE_HOST_SYSTEM_XXX() variables,
so when cross compiling the build host platform can be tested

Alex
2007-05-29 11:36:07 -04:00
Alexander Neundorf 55f11b348b ENH: add option to FILE(STRINGS NO_HEX_CONVERSION) to disable automatic
conversion of hex and srec files to binary.
Without this automatic conversion, everywhere where a compiled file is parsed for strings the
a file(HEX2BIN somefile binfile) command has to be added otherwise it will
not work for these compilers. I tried this with DetermineCompiler and
CheckTypeSize and nobody will do this except the users who work with such
compilers. For them it will break if they don't add this conversion command
in all these places.
If FILE(STRINGS) is used with a text file, it
will in most cases still work as expected, since it will only convert hex
and srec files. If a user actually wants to get text out of hex files, he
knows what he's doing and will see the hint in the documentation.

Anyway, it should work without having to create a temporary file, will work
on this later.

Alex
2007-05-25 16:46:50 -04:00
Alexander Neundorf f4eb541880 ENH: make the compiler id detection work, even if the output file name of
the compiler is completely unknown and even if it produces intel hex or
motorola s-record files, with test

Alex
2007-05-25 15:22:22 -04:00
Alexander Neundorf c9aecb91cc STYLE: remove debug output, fix indentation
the tests run again successfully, but since CheckTypeSize will switch to a
TRY_COMPILE soon I will look at it again after this change

Alex
2007-05-24 16:03:39 -04:00
Alexander Neundorf 504ea6df4e COMP: try to fix the test failures on dash2
Alex
2007-05-24 14:30:09 -04:00
Alexander Neundorf 8fb8a44f5f ENH: add compiler id for sdcc
Alex
2007-05-24 09:35:24 -04:00
Alexander Neundorf e10e3bc86e ENH: add compiler id for IAR compiler (http://www.iar.com/)
ENH: don't run endian test again if the variable is already set

Alex
2007-05-24 08:33:05 -04:00
Brad King 2d051a6709 ENH: Unify design of CMakeCCompilerId.c, CMakeCXXCompilerId.cpp, and CMakePlatformId.h. BUG: Do not violate system-reserved symbol namespace _[A-Z]. 2007-05-23 11:00:54 -04:00
Alexander Neundorf 6e2fd2c2ca BUG: now the toolchain file is configured into the buildtree, otherwise e.g.
CMAKE_SOURCE_DIR can't be used there
ENH: modify CMakeCCompilerId.c and .h so that sdcc can compile them. As they
were the preprocessor produced:

 9 "test.c"
static char const info_compiler[] = "INFO:compiler["
# 40 "test.c"
""

"]";

and the mixing of the preprocessing directives and the string constants
didn't work.

Alex
2007-05-22 12:48:16 -04:00
Alexander Neundorf 6be930f0cf STYLE: move the two CMAKE_SHARED_LIBRARYC/CXX_FLAGS for gcc from
CMakeGenericSystem.cmake to gcc.cmake

Alex
2007-05-22 09:15:00 -04:00
Alexander Neundorf 71359f5b9d STYLE: use a separate source file for generating CMakeSystem.cmake if CMAKE_TOOLCHAIN_FILE is used
Alex
2007-05-21 11:26:40 -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 3b4aa3bf35 BUG: always search for ar, ranlib, etc. except under MSVC -> this should fix the mingw fortran test
-also generate the fortran test with the kdevelop generator

Alex
2007-05-21 10:15:42 -04:00
Brad King daca282db4 BUG: Use @ONLY substitution to configure CMakeSystem.cmake. 2007-05-20 10:08:38 -04:00
Alexander Neundorf a18d286635 ENH: move hack to fix "new cmake on old build tree on OSX doesn't have CMAKE_INSTALL_NAME_TOOL in the cache" from
cmInstallTargetGenerator.cxx to Darwin.cmake

Alex
2007-05-18 11:57:29 -04:00
Brad King 92c0f41251 ENH: Use CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES from platform files to block link directories. 2007-05-18 11:36:23 -04:00
Alexander Neundorf 15a7414a60 COMP: if a new cmake runs on an old build tree, set CMAKE_LINKER to link to make it link
Alex
2007-05-18 10:55:35 -04:00
Alexander Neundorf 891f2130cf COMP: fix link rules with nmake, the linker command has to be converted to shortpath form for nmake
Alex
2007-05-18 10:32:22 -04:00
Alexander Neundorf d9bbc3f45f STYLE: fdcorrect comments about FC/CC
Alex
2007-05-18 09:16:07 -04:00
Brad King 8780da000a BUG: If the Fortran CompilerId source fails to compile it should not be a failure. It is only expected to work for Fortran90 compilers. 2007-05-18 09:08:49 -04:00
Alexander Neundorf ba2988e4c5 ENH: fail if install_name_tool wasn't found
Alex
2007-05-17 16:49:31 -04:00
Brad King 58debfd6bd ENH: Use IF(NOT DEFINED) check to short-circuit size test. 2007-05-17 15:17:45 -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
Bill Hoffman 871f7cf222 ENH: fix up compiler id to be more robust 2007-05-17 10:07:51 -04:00
Bill Hoffman 0c7130905d BUG: make sure this thing compiles on 64 bit machines 2007-05-17 08:38:07 -04:00
Brad King e1260b8468 ENH: Enabled preprocessor make rules for Watcom. 2007-05-16 13:26:47 -04:00
Brad King 93b94ce443 STYLE: Added basic usage documentation. 2007-05-15 10:23:40 -04:00
Bill Hoffman 9323a27989 ENH: initial support for creation of frameworks on Mac 2007-05-08 10:32:54 -04:00
Brad King 96232d4052 BUG: Detect debian with existence of /etc/debian_version so things work in a chroot install. This is suggested in bug#4805. 2007-05-07 18:17:32 -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 2db8d671e7 ENH: Changed GNUC compiler id name to GNU. 2007-05-01 14:35:55 -04:00
Brad King 5f1db8b249 STYLE: Added comment explaining choice of file extension. 2007-04-30 18:10:37 -04:00
Brad King 3b744d0804 BUG: Need to install CMakeCXXCompilerId.cpp so that C++ compiler identification works in an install tree. 2007-04-30 18:09:04 -04:00
Alexander Neundorf 412c0f4a61 STYLE: comment which says which variables this macro sets
Alex
2007-04-30 17:05:32 -04:00
Alexander Neundorf 8f7b0291d8 STYLE: use the newer FIND_XXX syntax, which should find MPI in even more
directories and doesn't require to list standard directories like /usr/lib,
etc.

Alex
2007-04-30 17:03:53 -04:00
Alexander Neundorf 22a2abb154 BUG: also install CMakePlatformId.h, otherwise the check for the compiler id
works only when building cmake itself, but not with an installed cmake

Alex
2007-04-30 16:05:42 -04:00
Alexander Neundorf 6e2cd41138 BUG: if /opt/lib and /opt/csw/lib are searched for libs, then /opt/include
and /opt/csw/include should also be searched for headers (according to
google they also exist)

Alex
2007-04-30 10:57: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
Brad King 2dd364f751 ENH: Add CMAKE_EXE_EXPORTS_C_FLAG and CMAKE_EXE_EXPORTS_CXX_FLAG to support executables that export symbols. 2007-04-18 00:11:47 -04:00
Brad King 66d1930f56 ENH: Added CMAKE_EXE_EXPORTS_C_FLAG and CMAKE_EXE_EXPORTS_CXX_FLAG to support executables that export symbols. 2007-04-17 23:41:51 -04:00
Brad King 60befc2e49 ENH: Added CMAKE_SHARED_MODULE_LOADER_C_FLAG and CMAKE_SHARED_MODULE_LOADER_CXX_FLAG to support linking plugins to executables. 2007-04-17 16:19:36 -04:00
Sebastien Barre 5a836da544 ENH: this variable overrides all PROJECT_URL. Check the dashboard, all projects have the wrong URL in their "Home" button. Other variables (like ROLLUP_URL) were moved a while ago, for some reasons this one is still here. 2007-04-10 14:54:48 -04:00
Brad King a017333d9a ENH: Added option CMAKE_INSTALL_SO_NO_EXE on linux to choose whether the default permissions for shared libraries include the executable bit. This is necessary to support the conflicting policies of Debian and Fedora. These changes address bug#4805. 2007-04-10 11:22:15 -04:00
Brad King 0526552b10 ENH: Enabled use of soname and therefore versioning symlinks. Patch is from bug#4558. 2007-04-10 08:36:33 -04:00
Andy Cedilnik 4668f03484 BUG: Revert "Fix kwstyleSource/CTest/cmCTestBuildHandler.cxx" 2007-04-04 15:59:22 -04:00
Bill Hoffman 2803688998 BUG: fix for bug 4605 2007-04-04 13:43:12 -04:00
Andy Cedilnik 71fc9f9321 COMP: Fix kwstyleSource/CTest/cmCTestBuildHandler.cxx 2007-04-04 13:06:13 -04:00
Brad King 5a32aa5919 ENH: Added target property ENABLE_EXPORTS for executable targets. It enables the executables for linking by loadable modules that import symbols from the executable. This finishes the executable import library support mentioned in bug #4210. 2007-03-22 09:45:25 -04:00
Brad King 56ce727d10 BUG: Disable creation of import libraries for executables on Borland until it can be made optional. Otherwise all executables get a .lib with the same name which is unexpected behavior for users. 2007-03-20 09:14:27 -04:00
Brad King fc7c433463 ENH: Added support for import libraries created by executable and module targets. The module import libraries should never be used but some windows compilers always create them for .dll files since there is no distinction from shared libraries on that platform. The executable import libraries may be used to create modules that when loaded bind to symbols from the executables. This is an enhancement related to bug#4210 though not requested by it explicitly. 2007-03-19 10:00:36 -04:00
Brad King 2f09a22411 BUG: Do not create import library for MODULEs. This is an incremental fix for bug#4210. 2007-03-10 07:49:47 -05:00
Brad King 007fa79037 BUG: Fixed MSVC8 module build rule to not use /implib option. This is an incremental fix for bug#4210. 2007-03-10 07:37:42 -05:00
Brad King 475447870f BUG: Shared library creation should use /implib option to specify the name of the import library explicitly. This is an incremental step for bug #4210. 2007-03-09 13:59:18 -05:00
Brad King 0e8515fa4c BUG: Get rid of ancient variables CMAKE_CXX_WARNING_LEVEL, CMAKE_CXX_USE_RTTI, CMAKE_CXX_STACK_SIZE which are only partially implemented and now taken care of by flag mapping anyway. 2007-03-07 15:57:52 -05:00
Ken Martin 100723fbb0 BUG: untested fix for newlines in the output of pkg config 2007-03-07 15:36:09 -05:00
Andy Cedilnik cf3f5ce2bc STYLE: Defautl answer for the license is no 2007-03-06 09:16:46 -05:00
Ken Martin 8b7ff9b08b ENH: patch applied for bug 4517 2007-03-05 15:21:49 -05:00
Brad King 42e1ffb7f5 BUG: Do not create import library for MODULEs. The TARGET_IMPLIB name is not set correctly for MODULE rules anyway. 2007-03-03 10:09:18 -05:00
Andy Cedilnik b9ab2b1932 BUG: Propagate platform settings such as CMAKE_OSX_ARCHITECTURES to the try compile 2007-03-02 11:33:37 -05:00
Ken Martin 971f9e4869 ENH: limit the output of system information to no more than 50K per file 2007-03-02 10:57:20 -05:00
Brad King eb04778766 BUG: Fix bug introduced by revision 1.67. The qmake query mode prints information to stderr on some platforms. The OUTPUT_VARIABLE and ERROR_VARIABLE must be the same variable to get all the output. 2007-03-01 16:44:32 -05:00
Ken Martin fa9f03779f ENH: improvements 2007-02-27 09:43:34 -05:00
Ken Martin dc7c6172b1 ENH: added for system information command line option 2007-02-26 13:40:56 -05:00
Alexander Neundorf 20d75ac237 BUG: fix typo reported by Duncan Mac Vicar
Alex
2007-02-25 19:22:59 -05:00
Bill Hoffman 846b058f73 ENH: force c++ when building c++ objects 2007-02-21 11:45:38 -05:00
Bill Hoffman d7b5020a2e ENH: better processor detection on linux 2007-02-21 10:29:36 -05:00
Bill Hoffman 086da498d4 ENH: remove df because df is a unix utilitiy 2007-02-21 10:03:11 -05:00
Bill Hoffman b8eede3b19 BUG: fix for bug 3950 add support for df compiler on windows 2007-02-20 16:43:32 -05:00
Bill Hoffman 533bd43d0f BUG: fix for bug # 3954 glib with qt 2007-02-20 16:35:45 -05:00
Alexander Neundorf 2fb0e4ba20 STYLE: fix docs for FindKDE4.cmake
Alex
2007-02-20 16:05:42 -05:00
Alexander Neundorf 2ab03bd4f0 BUG: remove KDE3_ENABLE_FINAL (#4140): it doesn't work currently and I
don't have the time to fix this since it would require bigger changes. Maybe
I'll do this if the KDE3 support of CMake becomes more widely used.

Alex
2007-02-20 16:02:51 -05:00
Alexander Neundorf 747f135d2c STYLE: don't put the copyright notice twice in the file
Alex
2007-02-20 16:00:39 -05:00