Commit Graph

12 Commits

Author SHA1 Message Date
Alexander Neundorf
8e5e423f78 STYLE: fix infinished comment
Alex
2008-01-15 19:56:42 -05:00
Alexander Neundorf
b33e1c5cc3 BUG: according to the binutils mailing list chrpath doesn't work when cross
compiling

Alex
2008-01-14 19:02:30 -05:00
Alexander Neundorf
474629568c ENH: check the magic code of the executable file to determine the executable
file format. Tested for ELF on x86 Linux, COFF and Mach-O prepared but
commented out since I don't have such systems available. Please have a look
a CMakeDetermineCompilerId.cmake and enable the test for them too.

Only add the option for using chrpath if the executable format is ELF

Alex
2008-01-02 16:52:12 -05:00
Alexander Neundorf
04136a558a BUG: make CMAKE_USE_CHRPATH a simple variable instead an option, since an
option is not scriptable and so breaks the toolchain test
or maybe option() should be made scriptable ?

Alex
2007-12-19 03:55:11 -05:00
Alexander Neundorf
3ae731fab7 ENH: add support for chrpath, so the RPATH in ELF files can be changed when
installing without having to link the target again -> can save a lot of time

chrpath is handled very similar to install_name_tool on the mac. If the
RPATH in the build tree file is to short, it is padded using the separator
character.
This is currently disabled by default, it can be enabled using the option
CMAKE_USE_CHRPATH. There are additional checks whether it is safe to enable
it. I will rework them and use FILE(READ) instead to detect whether the
binaries are actually ELF files.

chrpath is available here
http://www.tux.org/pub/X-Windows/ftp.hungry.com/chrpath/
or kde svn (since a few days): http://websvn.kde.org/trunk/kdesupport/chrpath/

Alex
2007-12-18 17:50:27 -05:00
Alexander Neundorf
b100fe1fe1 STYLE: don't use an extra file to generate CMakeSystem.cmake but instead
configure the toolchain file into it if required
-also search for nm, objdump and objcpy, so these can be used in macros

Alex
2007-08-15 14:26:00 -04:00
Alexander Neundorf
58fcc23a47 COMP: with visual studio it's no error if link isn't found
Alex
2007-07-02 15:54:41 -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
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
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
ba2988e4c5 ENH: fail if install_name_tool wasn't found
Alex
2007-05-17 16:49:31 -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