Commit Graph

7787 Commits

Author SHA1 Message Date
Alexander Neundorf 9f2790d3e7 BUG: with cmake 2.4 INSTALL_FILES() with no files was accepted by cmake,
with cmake cvs without this patch an invalid cmake_install.cmake script was
generated in this case, it failed with an error if no files were given. So
just do nothing if no files are listed to make it compatible.

http://lists.kde.org/?l=kde-commits&m=119965185114478&w=2

Alex
2008-01-07 14:52:45 -05:00
Brad King e73508aa65 ENH: Changes based on patch from Maik for better cmDependsFortran::ModulesDiffer. 2008-01-07 11:36:17 -05:00
Brad King 0d916d4e72 STYLE: Nightly Date Stamp 2008-01-07 00:01:02 -05:00
Alexander Neundorf 9aeffa6e11 BUG: fix #6105, if a directory inside CMAKE_FIND_ROOT_PATH is given to a
FIND_XXX() command, don't prepend the root to it (since it is already in
this root)

Alex
2008-01-06 17:18:15 -05:00
Brad King 6c073ddb65 STYLE: Nightly Date Stamp 2008-01-06 00:01:04 -05:00
Brad King b26afe75fd STYLE: Nightly Date Stamp 2008-01-05 00:01:03 -05:00
Brad King 4e514a5e00 BUG: File installation should overwrite the destination if the file times differ at all rather than only if the source file is newer. Users expect installation to overwrite destination files. This addresses the re-opening of bug#3349. 2008-01-04 14:22:57 -05:00
Brad King b8785c4524 STYLE: Nightly Date Stamp 2008-01-04 00:01:03 -05:00
Ken Martin ac4c2f675a ENH: change raise_scope signature to be safer for returned varuables 2008-01-03 11:22:33 -05:00
Brad King c61a3b6fe9 STYLE: Fix line-too-long. 2008-01-03 09:40:38 -05:00
Bill Hoffman 45a4ddd85c BUG: fix resource file with a full path 2008-01-03 07:28:12 -05:00
Alexander Neundorf b6918bd9a4 COMP: fix build on Windows with gcc, patch from Maik Beckmann
Alex
2008-01-03 04:19:30 -05:00
Brad King 38ed52fe14 ENH: Add method cmFileTimeComparison::FileTimesDiffer to check if file times differ by 1 second or more. 2008-01-03 00:01:38 -05:00
Brad King 8ca81ae7bf STYLE: Nightly Date Stamp 2008-01-03 00:01:02 -05:00
Brad King aa399c2350 ENH: Cleanup Fortran build directories by placing module stamp files in the target directory that builds them. This is actually a simpler implementation anyway. 2008-01-02 18:30:48 -05:00
Brad King dcd9a1b59f BUG: Make RAISE_SCOPE function work when variable is not defined. 2008-01-02 17:49:16 -05:00
Alexander Neundorf 3da6fd9da4 ENH: only allow usage of chrpath if the executable file format is ELF
Alex
2008-01-02 16:53:10 -05:00
Alexander Neundorf 7b54af713d ENH: add the keywords OFFSET and HEX to the FILE() command, using OFFSET an
offset can be specified where the reading starts, and using HEX the data can
be converted into a hex string, so binary data can be compared with text
functions
-add docs for LIMIT, OFFSET and HEX

Alex
2008-01-02 16:46:38 -05:00
Brad King 2625b0498b STYLE: Fixed line-too-long. 2008-01-02 15:55:18 -05:00
Brad King 62ff2befcc BUG: Do not use VSMacros stuff for VS8sp0 because macros do not work in that version. 2008-01-02 15:53:28 -05:00
Brad King 60bf0531b0 ENH: Added FILES_MATCHING option to INSTALL(DIRECTORY). This will help install a tree of header files while ignoring non-headers. 2008-01-02 15:17:56 -05:00
Bill Hoffman ff04863d9d BUG: fix for bug 6197, absolute paths were not supported 2008-01-02 11:08:02 -05:00
Brad King c7de81f9a6 ENH: Make the Fortran compiler id available to cmDependsFortran at scanning and module timestamp copy time. 2008-01-02 11:04:52 -05:00
Bill Hoffman c8b8e0c702 BUG: fix for bug 6207 explain list index values better 2008-01-02 10:56:08 -05:00
Bill Hoffman 603cd2ab6a ENH: fix new incremental link stuff to work with nmake @ files 2008-01-02 09:32:29 -05:00
Brad King 8624abf272 STYLE: Nightly Date Stamp 2008-01-02 00:01:03 -05:00
Bill Hoffman ada4252c56 ENH: remove warning 2008-01-01 17:19:11 -05:00
Bill Hoffman b479c6a8a9 ENH: add ability to have manifest files and incremental linking with make and nmake 2008-01-01 15:13:41 -05:00
Brad King 06a24eee51 STYLE: Nightly Date Stamp 2008-01-01 00:01:03 -05:00
David Cole 546c839d04 ENH: Add a dependency from the PACKAGE target to the ALL target so that "make package" will first (essentially) do a "make all"... A similar chunk of code already existed for the make install target. This change makes it easy to build an installer package as part of a dashboard run simply by setting CTEST_BUILD_TARGET to "package". 2007-12-31 17:29:20 -05:00
Brad King 1f987c06ea ENH: Changes based on patch from Maik Beckmann to copy fortran modules to timestamps only if they have really changed. This optimization should reduce extra rebuilds caused by dependencies on modules whose providers have recompiled but whose interfaces have not changed. 2007-12-31 11:25:17 -05:00
Brad King 1ebf5aa2df STYLE: Nightly Date Stamp 2007-12-31 00:01:03 -05:00
Brad King b2e8c07af8 ENH: Implemented Fortran module output directory and search path flags. 2007-12-30 16:11:38 -05:00
Brad King cd8a2bbab6 ENH: Simplify Fortran module proxy dependency implementation by removing unnecessary target. 2007-12-30 12:23:54 -05:00
Brad King e30e58d38b STYLE: Nightly Date Stamp 2007-12-30 00:01:04 -05:00
Alexander Neundorf f3ea6a351a BUG: create modules documentation not only for the first documentation creation step
in cmake (the set ModulesFound wasn't cleared at the beginning of each
PrintDocumentation() function, so when documentation for modules was executed the second
time, ModulesFound already contained all modules and so no module was
documented)

Alex
2007-12-29 11:53:36 -05:00
Brad King bd454247da STYLE: Nightly Date Stamp 2007-12-29 00:01:04 -05:00
Brad King 3efc6e40cb BUG: Do not remove the source file extension when computing an object file name. This addresses bug #6169. If CMAKE_BACKWARDS_COMPATIBILITY is 2.4 or lower maintain the old behavior so that existing build trees and old project releases are not affected. 2007-12-28 23:07:26 -05:00
Brad King f872c10b7e ENH: Added method cmLocalGenerator::GetBackwardsCompatibility to reduce parsing of CMAKE_BACKWARDS_COMPATIBILITY variable. Add cmLocalGenerator::NeedBackwardsCompatibility to simplify checks for compatibility requirements. 2007-12-28 23:07:14 -05:00
Brad King edd5f1f5f1 COMP: Fix uninitialized variable and unused parameter warnings. 2007-12-28 22:29:19 -05:00
Brad King 59aa144516 ENH: Simplified and moved link script implementation up from cmMakefileLibraryTargetGenerator to cmMakefileTargetGenerator and use for cmMakefileExecutableTargetGenerator too. This addresses bug #6192. 2007-12-28 14:59:06 -05:00
Brad King 0a7bb41129 ENH: Make FIND_* commands look in the CMAKE_PREFIX_PATH directories directly after looking in each command's specific subdirectory (/include, /lib, or /bin). This may be useful on Windows where projects could be installed in a single directory. See issue #4947. 2007-12-28 12:01:37 -05:00
Brad King 81f6e86f12 ENH: Add per-language clean rule generation to cmake_clean.cmake files to include cmake_clean_<lang>.cmake files generated by dependency scanning. Add Fortran module file and timestamp cleaning rules. 2007-12-28 11:50:14 -05:00
Brad King 68dad94b00 ENH: Implement Fortran module dependencies across targets and directories.
- See issue #5809
  - Keep information about all sources in the target until deps are written
  - Create a fortran.internal file after scanning that lists modules provided
  - Load fortran.internal files from linked targets to find modules
  - Search the include path for external modules
  - Create file-level deps on in-project module timestamps or external mods
2007-12-28 11:49:59 -05:00
Brad King 42f3f3c342 ENH: Store in DependInfo.cmake files a list of the corresponding files for the targets to which a target links. This is useful for locating Fortran modules provided by linked targets. See issue #5809. 2007-12-28 11:49:46 -05:00
Brad King 9528b38fba STYLE: Nightly Date Stamp 2007-12-28 00:01:05 -05:00
Brad King 2541c05b3d STYLE: Nightly Date Stamp 2007-12-27 00:01:03 -05:00
Brad King ad788fe4c8 STYLE: Nightly Date Stamp 2007-12-26 00:01:05 -05:00
Brad King ae3f8adf1f STYLE: Nightly Date Stamp 2007-12-25 00:01:03 -05:00
Brad King 70f73adccb COMP: Fix build on VS6. 2007-12-24 11:15:45 -05:00
Brad King fc55596bd5 STYLE: Nightly Date Stamp 2007-12-24 00:01:03 -05:00
Brad King 611d1119d1 ENH: Clarify documentation of link_directories command for bug#6199. 2007-12-23 19:03:22 -05:00
Brad King 430296dc96 ENH: Moved global inter-target dependency analysis and cycle-prevention code up from cmGlobalUnixMakefileGenerator3 to cmGlobalGenerator. Simplified cmGlobalUnixMakefileGenerator3 to use it. Later other generators may be modified to use it also. 2007-12-23 15:03:42 -05:00
Brad King 8769444beb BUG: Revert previous change until it works on all OSX versions. 2007-12-23 13:16:21 -05:00
Brad King d21dc588ef BUG: Disable static lib deps until a global cycle removal can be done. 2007-12-23 13:13:44 -05:00
Brad King e521c5674d STYLE: Nightly Date Stamp 2007-12-23 00:01:03 -05:00
Brad King 4d360f7ac5 ENH: Convert cmDepends object interface to scan an entire target at once. 2007-12-22 22:41:42 -05:00
Brad King a7245e4792 ENH: Simplify target-level dependencies by depending only on directly linked targets instead of those chained. 2007-12-22 14:17:07 -05:00
Brad King 2836fc43e7 BUG: Support cyclic dependencies among STATIC libraries by removing one from the generated Makefile rules. 2007-12-22 13:08:26 -05:00
Brad King 9fcd08e17c STYLE: Nightly Date Stamp 2007-12-22 00:01:03 -05:00
Brad King e23348c5a6 COMP: Remove unused parameter of method. 2007-12-21 18:32:22 -05:00
Brad King 3cf3bb664a ENH: Make static library targets depend on targets to which they "link" for the purpose of build ordering. This makes the build order consistent for static and shared library builds. It is also useful when custom command inputs of one library are generated as custom commands outputs of another. It may be useful in the future for Fortran module dependencies. Implemented for Makefiles, Xcode, and VS 8 and above. Added sample code to do it for VS 7.1 and below, but left it disabled with comments explaining why. Likely it will never be needed on VS 7.1 or below anyway. 2007-12-21 15:04:06 -05:00
Brad King d2be142e3b BUG: Now that custom targets have dependencies their DependInfo files should be listed in Makefile.cmake. 2007-12-21 13:10:33 -05:00
Brad King d83b4cd255 ENH: Add a depends check step to custom targets. Add support for the IMPLICIT_DEPENDS feature of custom commands when building in custom targets. Convert multiple-output pair checks to be per-target instead of global. 2007-12-21 12:22:12 -05:00
Brad King 6586149d64 BUG: The dependency scanning target should be symbolic. 2007-12-21 11:00:03 -05:00
Brad King e72521b720 STYLE: Nightly Date Stamp 2007-12-21 00:01:02 -05:00
Alexander Neundorf 355b1f23af STYLE: make formatting of help a bit more consistent
Alex
2007-12-20 17:49:38 -05:00
Ken Martin f69a6a7c8c BUG: fix issue with CMAKE_CURENT_LIST_FILE reporting in funcitons 2007-12-20 10:05:08 -05:00
Brad King 4ca0d1ba09 COMP: Fixed error on HP due to newline macro. 2007-12-20 09:35:14 -05:00
Brad King 850721f9af COMP: Fixed data loss warning. 2007-12-20 09:27:59 -05:00
Brad King 48be0a596f STYLE: Nightly Date Stamp 2007-12-20 00:01:04 -05:00
Brad King 011d7db6bd BUG: Fix make depend target in subdirectory Makefile interface. 2007-12-19 17:54:24 -05:00
Brad King 73704ede42 ENH: Enabled color printing of "Scanning dependencies of target ..." message. 2007-12-19 17:15:41 -05:00
Alexander Neundorf f0824c7a19 ENH: options() is now scriptable, set() is scriptable too, I don't see a big
difference

Alex
2007-12-19 16:53:58 -05:00
Alexander Neundorf 3a304f8e1b STYLE: nicer error message:
"Command options() is not scriptable" is IMO better to understand than
"Command options not scriptable" (with all uppercase commands it was easier to see)

Alex
2007-12-19 16:46:15 -05:00
Brad King de96fd1df9 ENH: Moved dependency integrity check from CheckBuildSystem over to a per-target UpdateDependencies step. This greatly reduces the startup time for make processes and allows individual targets to be built without a global dependency check. 2007-12-19 16:36:30 -05:00
Brad King c7bf320539 BUG: cmDependsFortran should store the source file as a dependency of the object file when scanning for dependencies. 2007-12-19 16:35:09 -05:00
Brad King 891256546b ENH: Pass target directory to cmDependsFortran scanning instances. 2007-12-19 14:28:46 -05:00
Brad King 9ccba7c391 ENH: Improved speed of cmake::CheckBuildSystem when checking build system outputs versus dependencies. Instead of doing an O(m*n) comparison of every pair, just locate the oldest output and the newest input and compare them which is now O(m+n). 2007-12-19 11:51:30 -05:00
Brad King 07db9b83a7 ENH: Renamed CMAKE_FIND_PREFIX_PATH to CMAKE_PREFIX_PATH for brevity and consistency with other find path variable names. 2007-12-19 11:06:47 -05:00
Brad King d1fdc38c68 ENH: Added CMAKE_SYSTEM_PREFIX_PATH variable. 2007-12-19 10:34:43 -05:00
Alexander Neundorf ac017f7aba STYLE: fix warnings: comparison signed/unsigned, unused variable
Alex
2007-12-19 03:56:13 -05:00
Brad King 42da2be0b1 STYLE: Nightly Date Stamp 2007-12-19 00:01:03 -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
Bill Hoffman b57b1c563d BUG: fix for bug 6172 add get source file prop LANGUAGE 2007-12-18 09:57:41 -05:00
Brad King 872553de7e ENH: Implemented generation of display for pre-build, pre-link, and post-build custom command comments during the build. This addresses issue #5353. 2007-12-18 09:50:08 -05:00
Bill Hoffman 42bad89fe7 STYLE: fix line len 2007-12-18 08:53:10 -05:00
Brad King cffd2f18c6 STYLE: Nightly Date Stamp 2007-12-18 00:01:02 -05:00
Brad King 4c87af30b2 BUG: Remove stray debugging message. 2007-12-17 19:48:13 -05:00
Brad King abaa026721 BUG: When the working directory for a custom command is on another drive letter we need to change to that drive letter after changing its working directory. Fixes issue #6150. 2007-12-17 18:38:19 -05:00
Brad King 60149b33c1 BUG: Fixed memory-leaks in fortran parser. 2007-12-17 17:55:21 -05:00
Brad King ca5c5fc770 BUG: Fix parsing of #include preprocessor directives. 2007-12-17 17:55:03 -05:00
Brad King 44f38c9b86 ENH: Fortran include path is the same as C and CXX include paths. 2007-12-17 17:54:43 -05:00
Bill Hoffman c6089d1642 BUG: fix for bug 5931 add some more flags for the gui 2007-12-17 17:28:23 -05:00
Bill Hoffman 4c108d2a24 ENH: try to fix dashboard 2007-12-17 15:27:30 -05:00
Brad King 5e0dadbfb8 BUG: Apply patch from issue #6006. 2007-12-17 15:20:06 -05:00
Bill Hoffman 58f671bb1c ENH: add support for vs 9 win64 2007-12-17 14:43:11 -05:00
Brad King 8506938407 ENH: Added SOURCES property to targets. This is based on patch from issues #6137. 2007-12-17 10:12:22 -05:00
Brad King 99d57b3c8c ENH: Added cmSourceFile::GetLocation method to get a read-only reference to the Location ivar. This partially addresses issue #6137. 2007-12-17 10:12:19 -05:00
Brad King ff8d2a6647 STYLE: Nightly Date Stamp 2007-12-17 00:01:02 -05:00