Commit Graph

251 Commits

Author SHA1 Message Date
Ken Martin b99129d2d8 ENH: some code cleanup 2007-03-12 10:26:59 -04:00
Brad King 1e25f2b3db BUG: Use real path subdirectory check instead of substring comparison to identify when paths are below the relative path tops. Otherwise when the build tree is next to the source tree with the same name plus a suffix the relative path from the binary to source tree is allowed even though it goes outside cmake-managed directories. 2007-03-09 17:15:13 -05:00
Brad King 54923d6ad8 ENH: Implemented new policy to choose the directory part of the object file name. This should keep the names looking as nice and short as possible. This partially addresses bug#4520. 2007-03-09 10:30:07 -05:00
Brad King 528f60f4a6 ENH: Added implib option to cmTarget::GetDirectory to support a separate directory containing the import library. This is an incremental step for bug#4210. 2007-03-09 09:30:16 -05:00
Brad King 4089c76890 BUG: Some calls to Convert() were converting for MAKEFILE but then passing the output to the build shell. The calls have now been converted to call Convert() with SHELL. 2007-03-08 10:31:03 -05:00
Brad King 2f2b5b2503 ENH: SetupPathConversions is now called automatically on demand. 2007-03-08 08:38:40 -05:00
Brad King b90e241a31 ENH: Modified GetObjectFileNameWithoutTarget to use relative paths for object file names with sources above the current directory so long as the relative path conversion works. 2007-03-07 17:39:16 -05:00
Brad King 4036627487 ENH: Improved computation of RelativePathTopSource and RelativePathTopBinary to use higher relative path tops when the source directories jump around in a tree below the original source top. 2007-03-07 17:32:35 -05:00
Brad King ad4055f3e2 ENH: Set RelativePathTopSource and RelativePathTopBinary independently for each local generator. Relative path conversion is safe within a tree as long as it does not go above the highest parent directory still managed by CMake. 2007-03-07 16:35:53 -05:00
Brad King c841258170 COMP: Add missing include for assert. 2007-03-07 15:30:30 -05:00
Brad King fc19882e8f ENH: Moved ConvertToRelativePath from cmGlobalGenerator to cmLocalGenerator. This is in preparation for setting up each local generator to have its own RelativePathTopSource and RelativePathTopBinary based on its ancestor directories. 2007-03-07 15:15:46 -05:00
Bill Hoffman 1503caa14e ENH: remove qnx special stuff that does not work 2007-02-28 17:26:20 -05:00
Bill Hoffman ecbec236b1 ENH: one more pass at paths with spaces and parens 2007-02-28 14:29:26 -05:00
Bill Hoffman 90974ea1d6 ENH: go back to \ escapes for qnx 2007-02-26 11:56:13 -05:00
Bill Hoffman 4d5321f891 ENH: go back to EscapeForShell version 2007-02-26 11:41:41 -05:00
Bill Hoffman 512d5dd1e3 ENH: try and use \ for space and () escapes 2007-02-25 16:13:33 -05:00
Bill Hoffman f0d5bdf86e ENH: try another thing 3 2007-02-23 20:37:35 -05:00
Bill Hoffman d7e57294fb ENH: try another thing 2007-02-23 17:38:59 -05:00
Bill Hoffman 77ad2d62c2 ENH: add some debug stuff 2007-02-23 17:07:57 -05:00
Bill Hoffman ae1d9e8b93 ENH: add some debug stuff 2007-02-23 16:44:13 -05:00
Andy Cedilnik 8ad3430931 ENH: Make EXCLUDE_FROM_ALL a target and directory properties. Also, make IsInAll use EXCLUDE_FROM_ALL. Also, enable the test that tests this 2007-02-23 09:46:27 -05:00
Bill Hoffman 48202ef623 ENH: hack put the hack back for qnx to try and fix spaces in the path 2007-02-22 17:34:14 -05:00
Bill Hoffman 0b350cbb97 ENH: undo hack and try to get dashboard back 2007-02-22 17:26:36 -05:00
Brad King c1eae5b891 BUG: Hack to try working around a problem with spaces in an rpath on QNX. 2007-02-22 16:23:12 -05:00
Bill Hoffman 417b2073df ENH: add new escape stuff 2007-02-22 15:33:49 -05:00
Bill Hoffman 5647e6e254 ENH: fix parens in the path with spaces in the path 2007-02-21 21:24:17 -05:00
Bill Hoffman f7cd9f76ce STYLE: fix line length issues 2007-02-17 08:46:25 -05:00
Bill Hoffman 66523061d0 ENH: remove warnings and debug statement 2007-02-17 08:38:41 -05:00
Bill Hoffman ca0230a33e ENH: check in initial conv library stuff 2007-02-16 16:12:17 -05:00
Bill Hoffman 8013ffd23b ENH: do not use crazy long paths to object files for try compile 2007-01-31 16:49:25 -05:00
Bill Hoffman 37d979e0fc ENH: this does not need to be safe as the value is checked 2007-01-23 14:28:40 -05:00
Bill Hoffman 0272c209a5 ENH: avoid crash, but do not make it an error if include flags is missing from a language 2007-01-23 13:08:40 -05:00
Bill Hoffman 91bd8099d8 ENH: make the include flag required for a language avoids seg fault 2007-01-23 11:39:22 -05:00
Ken Martin 27379d7b08 ENH: make properties a bit more formal with documentation and chaining 2006-12-07 09:45:32 -05:00
Bill Hoffman 26b527ac0f ENH: fix bug in full path to target depends stuff 2006-12-06 23:05:10 -05:00
Brad King d045ae45f2 BUG: Do not print empty install configuration repeatedly. 2006-12-04 13:54:32 -05:00
Bill Hoffman ccb77b65c6 ENH: unify version stuff, get rid of it out of cmake and cmMakefile and only use cmVersion 2006-11-29 15:59:16 -05:00
Bill Hoffman 9baa760315 BUG: fix problem when a target name is the same as the output of a custom command 2006-11-25 10:59:26 -05:00
Brad King 54731fa2c8 ENH: Adding support for # escape in Watcom WMake. 2006-10-25 11:23:04 -04:00
Brad King b155f3aa1c ENH: Adding image version number (major.minor) property to windows binaries. Default is 0.0, but the VERSION target property may change the value. Windows now has first-class support for dll and exe versioning. This addresses bug#1219. 2006-10-16 18:17:14 -04:00
Brad King 023041362d BUG: Do not try to compute the location of a non-library target for linking. 2006-10-13 10:03:54 -04:00
Brad King 86dd8579c5 BUG: TARGET_QUOTED should always be replaced if Target is set in the rule variables. 2006-10-10 14:13:35 -04:00
Brad King bdf8e186e5 BUG: Need to match shared library names before static because some platforms have static name patterns that match their shared patterns but not vice versa. This is needed for implementing bug#1644 on cygwin. 2006-10-05 16:59:46 -04:00
Brad King 7ad07e0811 BUG: Fix link flags on cygwin shared libraries. This requires that the shared library prefix be supported in the link library regex. 2006-10-05 15:08:20 -04:00
Brad King c11cf31c9b ENH: Adding SYSTEM option to INCLUDE_DIRECTORIES command. This addresses bug #3462. 2006-10-05 08:55:59 -04:00
Brad King 406f3554c7 BUG: Fixed display of custom command comments with quotes, dollars, and other special characters in them. 2006-10-04 18:52:29 -04:00
Brad King 9a1d4e92eb BUG: Fix/cleanup custom commands and custom targets. Make empty comment strings work. Fix ZERO_CHECK target always out of date for debugging. Fix Makefile driving of custom commands in a custom target. Fix dependencies on custom targets not in ALL in VS generators. 2006-09-28 16:40:35 -04:00
Brad King 019dabc97f BUG: MSYS makefile shell needs posix paths to executables in some cases and it does not hurt to do it always. 2006-09-28 10:37:19 -04:00
Brad King 0b135767d6 BUG: Do not filter system directories for include file dependencies. 2006-09-28 09:49:40 -04:00
Brad King dd332a00cc ENH: Re-implemented command line argument shell quoting to support several platforms with one code base. 2006-09-27 13:43:46 -04:00
Brad King c1b4a0bf74 BUG: Disable new shell escape code until backward compatibility can be established in the new implementation. 2006-09-25 10:22:48 -04:00
Brad King 6d72bb5ae1 BUG: Need to escape spaces in custom command line arguments. 2006-09-21 15:35:41 -04:00
Brad King 45a44a70b3 BUG: Do not escape parens because we need to be able to reference make variables in the scripts. 2006-09-21 15:30:06 -04:00
Brad King 2459ceb076 BUG: Centralized generation of command line arguments in escaped form. This addresses bug#3786 for several platforms. 2006-09-21 15:14:06 -04:00
Brad King 4a3a9eb883 BUG: Do not look for linker language unless it is needed. 2006-09-16 11:52:00 -04:00
Brad King 1d0502927c ENH: Adding support to link specifically to an archive or a shared library based on the file name specified. This fixes the problem of having -lfoo linking to libfoo.so even when it came from libfoo.a being specified. 2006-09-15 14:09:10 -04:00
Brad King eef327b944 ENH: Adding install/local global target for Makefile generators. This runs installation only in the current directory and not subdirectories. 2006-08-29 10:03:47 -04:00
Bill Hoffman 8f1aaf28c1 ENH: make sure RuleVariable struct is initialized correctly, also make sure custom command targets do not crash cmake 2006-08-08 13:44:25 -04:00
Brad King 5cfa1b02ab ENH: Added generation of rules to manually request preprocessed or generated assembly sources. 2006-08-07 23:25:21 -04:00
Brad King 88702ff442 ENH: Moved GetSourceFileLanguage up to cmLocalGenerator. 2006-08-03 09:26:07 -04:00
Brad King 9bf5af6e32 ENH: Moved unique object file name computation from cmLocalUnixMakefileGenerator3 up to cmLocalGenerator for use by all generators. Created cmLocalVisualStudioGenerator as superclass for all VS generators. Implemented on-demand unique object file name computation for VS 7 generator to avoid slow compiles when all sources are in subdirectories. 2006-07-11 11:41:38 -04:00
Brad King b4542762a7 ENH: Added target property INSTALL_RPATH_USE_LINK_PATH to append the linker search path directories not inside the project to the INSTALL_RPATH automatically. The property is initialized by the variable CMAKE_INSTALL_RPATH_USE_LINK_PATH when the target is created. 2006-06-15 10:12:19 -04:00
Ken Martin 8e9a6beccc ENH: centralized locaiton of CMakeFiles setting 2006-06-14 12:28:32 -04:00
Ken Martin 7dc8a92246 STYLE: fix line length 2006-05-12 11:56:09 -04:00
Brad King 50a0f71120 ENH: Added CONFIGURATIONS option to INSTALL command to allow per-configuration install rules. 2006-05-05 14:57:19 -04:00
Bill Hoffman 8d3d137dc9 ENH: make sure special vs ide path is only used for msvc_ide builds 2006-04-25 11:58:01 -04:00
Brad King 8c02cc6627 ENH: Added option CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE to put all in-project include directories before all out-of-project include directories. 2006-04-25 09:54:12 -04:00
Bill Hoffman 0005d625a0 ENH: add special windows CMAKE_MSVCIDE_RUN_PATH variable for adding to the path of vs IDE for running custom commands from cmake 2006-04-25 09:38:29 -04:00
Bill Hoffman e6ef33f598 ENH: name pdb files for visual studio make based builds 2006-04-19 16:36:14 -04:00
Bill Hoffman 8fa5ed7300 ENH: fix java for ide builds again 2006-04-17 15:35:51 -04:00
Bill Hoffman 5ecfd3d4d3 ENH: fix java and add OBJECT_DIR support 2006-04-17 14:01:22 -04:00
Bill Hoffman ed4974da55 ENH: enable test for java with IDE builds 2006-04-11 17:11:34 -04:00
Brad King 08289893b8 ENH: Split CMAKE_STANDARD_LIBRARIES into per-language variables CMAKE_<lang>_STANDARD_LIBRARIES. This is needed to get programmable language support working with Visual Studio generators. It makes sense anyway. 2006-04-11 16:55:49 -04:00
Brad King bb014b0f4d ENH: Restored implementation of AddCustomCommandToCreateObject. Updated it to use newer custom command functionality. 2006-04-11 14:53:57 -04:00
Brad King ae2cbc346d BUG: Install scripts should honor EXCLUDE_FROM_ALL options for subdirectories. This addresses bug#3100. 2006-04-11 13:32:48 -04:00
Brad King acf33ba191 BUG: Do not add non-per-config subdirectory name of cmake target libraries as full path libs. 2006-04-11 11:40:24 -04:00
Brad King d5719f22c1 ENH: Added support for multiple outputs generated by a single custom command. For Visual Studio generators the native tool provides support. For Xcode and Makefile generators a simple trick is used. The first output is considered primary and has the build rule attached. Other outputs simply depend on the first output with no build rule. During cmake_check_build_system CMake detects when a secondary output is missing and removes the primary output to make sure all outputs are regenerated. This approach always builds the custom command at the right time and only once even during parallel builds. 2006-04-11 11:06:19 -04:00
Brad King 8e39418f6c BUG: Fixed cmOrderLinkDirectories to deal with raw link items that do not yet exist and correct drive letter case to avoid duplicate paths on windows. Fixed cmLocalGenerator to pass CMake targets as full paths to cmOrderLinkDirectories to make sure the ordering will pick up the proper target libraries. 2006-04-05 11:05:06 -04:00
Brad King 99ee1883d4 BUG: Removing part of earlier fix because it does not work with VS generators. It may be restored later after cmOrderLinkDirs is further fixed. 2006-04-04 17:14:20 -04:00
Brad King 57a9e26c15 BUG: Fixed cmOrderLinkDirectories to make sure cmake-built libraries are found properly. Also taking libraries that will be built but may not yet exist into account. The per-configuration subdirectories that are included by generators in the link path are checked for conflicting libraries also. Potentially conflicting libraries that are actually symlinks back to the desired library are no longer considered conflicting, which avoids bogus impossible ordering warnings. 2006-04-04 14:25:17 -04:00
Brad King 2301a025ea ENH: Added global TargetManifest computation between Configure and Generate steps. This allows generators to know what other targets will exist on disk when the build completes. 2006-04-04 11:48:19 -04:00
Bill Hoffman 3c8e899102 ENH: add support for per config target LINK_FLAGS 2006-04-03 12:57:51 -04:00
Brad King 08b14163ee ENH: Added named component installation implementation. Installation behavior should be unchanged unless -DCOMPONENT=<name> is specified when cmake_install.cmake is invoked. 2006-03-30 13:33:48 -05:00
Andy Cedilnik 93f5712a7d COMP: Remove warnings 2006-03-28 16:25:29 -05:00
Bill Hoffman f7c1723135 ENH: add support for universal binaries 2006-03-24 09:15:05 -05:00
Brad King 0376fe4b9b ENH: Added support for linking to MS .lib libraries in MinGW. 2006-03-22 11:10:58 -05:00
Brad King bcfca6e1c1 ENH: Enabling CMAKE_INCLUDE_CURRENT_DIR even for in-source builds to be more consistent with its name. This also makes double-quote and angle-bracket include styles (almost) identical. 2006-03-21 08:45:57 -05:00
Brad King 77c65b954e BUG: Fixed generation of mismatched IF in install script. This bug was introduced during the m_ sweep. 2006-03-16 14:51:54 -05:00
Ken Martin 3d96e52261 STYLE: some m_ to this-> cleanup 2006-03-15 11:02:08 -05:00
Bill Hoffman 3f532f5489 ENH: add support for language flags at rule expansion time 2006-03-06 15:14:23 -05:00
Brad King 2b7e43961c BUG: Fix for generated install scripts to support prefixes with trailing slashes or just a single slash. 2006-03-05 09:09:12 -05:00
Brad King a2e136fd17 ENH: Added PERMISSIONS and RENAME options to the INSTALL command's FILES and PROGRAMS mode, and corresponding support to FILE(INSTALL). Default permissions for shared libraries on non-Windows/non-OSX platforms no longer has the execute bit set. 2006-03-03 18:44:32 -05:00
Brad King 586a9427d3 ENH: Created target property INSTALL_NAME_DIR initalized by CMAKE_INSTALL_NAME_DIR specifying the directory portion of the OSX install_name field in shared libraries. This is the OSX equivalent of RPATH. 2006-02-24 13:13:14 -05:00
Brad King 576f0b65c7 BUG: Fix generation of Xcode 2.0 and earlier projects to use CMAKE_BUILD_TYPE. 2006-02-24 11:13:31 -05:00
Andy Cedilnik f119d6e4ef COMP: Remove warnings 2006-02-24 10:56:39 -05:00
Bill Hoffman 39e636a4a4 ENH: change expand stuff to pass a struct for all the args 2006-02-20 13:42:18 -05:00
Brad King 518080136d ENH: Implemented FILES and PROGRAMS forms of the INSTALL command as replacements for the INSTALL_FILES and INSTALL_PROGRAMS commands. This addresses the request for absolute path install destinations in bug#2691. 2006-02-19 18:47:13 -05:00
Brad King 96f0266228 ENH: Created new install script generation framework. The INSTALL command creates the generators which are later used by cmLocalGenerator to create the cmake_install.cmake files. A new target installation interface is provided by the INSTALL command which fixes several problems with the INSTALL_TARGETS command. See bug#2691. Bugs 1481 and 1695 are addressed by these changes. 2006-02-19 15:25:27 -05:00
Brad King 98a187a8d4 ENH: Automatic include directories should not be done by default as was just implemented. Instead a project may now set CMAKE_INCLUDE_CURRENT_DIR to get this behavior. The current source and binary directories are added automatically to the beginning of the include path in every directory. This simulates in-source behavior for double-quote includes when there are generated sources and headers in the directory. 2006-02-19 13:10:25 -05:00
Brad King 377f4e79b1 BUG: Remove trailing slashes from install destinations. 2006-02-18 16:47:28 -05:00