Commit Graph

322 Commits

Author SHA1 Message Date
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
Bill Hoffman 3c8e899102 ENH: add support for per config target LINK_FLAGS 2006-04-03 12:57:51 -04:00
Bill Hoffman 5a2668b326 ENH: add support for win64 for visual studio 2005 ide and nmake, also fix warnings produced by building for win64 2006-03-30 13:49:56 -05:00
Ken Martin 00d2546664 ENH: removed unused rules from targets for VS 2006-03-23 13:55:09 -05:00
Ken Martin 3d96e52261 STYLE: some m_ to this-> cleanup 2006-03-15 11:02:08 -05:00
Andy Cedilnik 634343c3e8 STYLE: Fix some style issues 2006-03-10 13:06:26 -05:00
Andy Cedilnik c4156b4531 COMP: Even more global target fixes 2006-02-24 17:35:35 -05:00
Andy Cedilnik 07d0e776ad BUG: More fixing of support for global target son visual studio 2006-02-24 16:20:44 -05:00
Andy Cedilnik 7c0251014c COMP: More fixes for visual studio 2006-02-23 13:46:34 -05:00
Bill Hoffman 0a0e459102 ENH: make command line flags more consistent with ide settings 2006-02-21 12:19:32 -05:00
Bill Hoffman 2cb68f6000 ENH: make sure CMAKE_STANDARD_LIBRARIES are used 2006-02-20 17:47:12 -05:00
Brad King 7bdec94154 BUG: Add target-level COMPILE_FLAGS to the target not the individual source files. This simplifies the generated files and puts flags in a more logical order (VS6 works, VS7 needs more translation to work). 2006-02-20 14:21:10 -05:00
Brad King 9ba0283870 ENH: If CMAKE_NO_AUTOMATIC_INCLUDE_DIRECTORIES is not set try to approximate in-source build include file behavior in an out-of-source build by adding the build tree directory corresponding to a source tree directory at the beginning of the include path. Also fixed VS6 and VS7 generators to use cmLocalGenerator's computation of include paths. The VS6 generator will now short-path the include directories if the total length is too long in order to try to avoid its truncation limit. 2006-02-18 11:51:23 -05:00
Brad King 5288d61ede BUG: Use NOINHERIT macro to avoid linking to project default libraries which may not exist. 2006-02-15 16:38:57 -05:00
Brad King 6c89a96b86 BUG: Removed hard-coded linking to odbc32 and odbccp32. 2006-02-14 16:35:33 -05:00
Brad King 916ea2bad2 BUG: Avoid adding unused rules to special targets like ALL_BUILD. Make sure project regeneration rules go only in desired targets. 2006-02-14 16:32:20 -05:00
Bill Hoffman 8f71efa776 ENH: bug fix for 2829 better flags for idl tool 2006-02-09 23:08:19 -05:00
Brad King 1b5e3f4136 BUG: Fixed generation of cmake re-run rules. 2006-02-09 18:42:58 -05:00
Bill Hoffman 347c5f4b46 ENH: add working directory support 2006-02-08 10:58:36 -05:00
Brad King f4b306d5d4 BUG: VS7 generator should use per-configuration linker flags for targets. This addresses bug#2765. 2006-01-27 13:48:21 -05:00
Bill Hoffman 07ef88c985 ENH: add COMPILE_FLAGS to targets 2006-01-25 08:38:06 -05:00
Brad King 22c62c9e65 BUG: Sweeping changes to cleanup computation of target names. This should
fix many bugs related to target names being computed inconsistently.

- Centralized computation of a target's file name to a method in
  cmTarget.  Now that global knowledge is always available the
  *_CMAKE_PATH cache variables are no longer needed.

- Centralized computation of link library command lines and link
  directory search order.

- Moved computation of link directories needed to link CMake targets
  to be after evaluation of linking dependencies.

This also removed alot of duplicate code in which each version had its
own bugs.

This commit is surrounded by the tags

  CMake-TargetNameCentralization1-pre

and

  CMake-TargetNameCentralization1-post

so make the large set of changes easy to identify.
2006-01-13 18:18:32 -05:00
Bill Hoffman a91947039a ENH: for all custom commands that can not be given to a target, add them to all targets in the current makefile 2006-01-09 14:40:31 -05:00
Ken Martin 0b69b892ed ENH: removed TARGET_DIR_PREFIX support 2005-12-13 15:13:17 -05:00
Brad King 1c7075057f ENH: Added support for parallel builds in VS 8. There is now a special target on which all other targets depend that re-runs CMake if any listfiles have been changed. This addresses bug#2512. 2005-12-13 14:21:28 -05:00
Bill Hoffman 129299f900 ENH: fix for bug 2584, empty source groups with children skipped 2005-12-12 11:34:17 -05:00
Brad King d952f68738 BUG: Tweak VS8 generator to keep VS8 happy. The .vcproj files need their own GUIDs in a ProjectGUID attribute. The top level .sln file needs a special comment at the top to allow it to be opened with double-click in explorer. 2005-11-22 13:37:42 -05:00
Bill Hoffman 49840778b9 ENH: add some more properties for visual studio projects 2005-11-19 09:40:11 -05:00
Bill Hoffman 9104097502 COMP: fix compile error 2005-11-19 08:29:28 -05:00
Brad King 036a78056c BUG: Fixed flag-to-vcproj-attribute conversion code to work again (it was broken by the optimization changes). Added conversion of /nologo flag to SuppressStartupBanner attribute and /Gy flag to EnableFunctionLevelLinking attribute. 2005-11-18 10:36:52 -05:00
Brad King 8dc8232027 BUG: Fixed XML escapes for custom commands. Also added escaping of newlines for VS 2005. 2005-11-17 15:57:51 -05:00
Brad King b9e088dcfa BUG: Double-quotes in definitions must be escaped. 2005-10-03 14:33:35 -04:00
Ken Martin c6b011e35e ENH: put cmake files intoa CMakeFiles subdir to clean up bin tree 2005-07-29 09:19:25 -04:00
Brad King f9aef0e422 ENH: Generator now creates a separate intermediate files directory for each target. This is needed for MSVC 8 to support parallel builds. 2005-07-27 13:36:36 -04:00
Bill Hoffman 6a73e8ac69 ENH: fix lib case bug correctly 2005-07-25 16:10:08 -04:00
Bill Hoffman 6ea4eadc68 BUG: undo fix 2005-07-23 10:32:57 -04:00
Bill Hoffman 7041af809d ENH: more efficent fix for bug # 2063 2005-07-22 15:41:23 -04:00
Bill Hoffman 72fdb13652 BUG: fix for case mismatched lib bug # 2063 2005-07-22 15:33:51 -04:00
Bill Hoffman 42b76aea32 BUG: remove part of patch from bug 1965 that set executable paths 2005-07-13 16:57:29 -04:00
Bill Hoffman aa47caab2d FIX: apply patch from bug# 1965 2005-07-13 11:21:30 -04:00
Ken Martin 369308ca76 ENH: make LOCATION an computed property of the target and get rid of a bunch of const junk 2005-06-22 09:06:46 -04:00
Ken Martin fbf40e202a ENH: add first cut at support for exe with same name as lib 2005-06-16 11:48:43 -04:00
Ken Martin 708828dc37 ENH: removed old convert calls 2005-06-10 08:41:47 -04:00
Bill Hoffman bbdfcc581a Undo fix as it broke the dashboard 2005-05-12 16:25:40 -04:00
Bill Hoffman 70ed04df05 ENH: fix for bug where debug, release etc flags were not used for linker options, BUG 1781 fix 2005-05-12 13:27:48 -04:00
Bill Hoffman 3778d89cb9 BUG: fix insert for 64 bit 2005-04-13 09:54:37 -04:00
Bill Hoffman a18df448db BUG: fix Ambiguity in insert call 2005-04-12 15:40:07 -04:00
Bill Hoffman 1004073942 ENH: performance improvements 2005-04-12 13:27:07 -04:00
Bill Hoffman c2ad3e4afc ENH: fix adding of rc files 2005-03-22 07:26:45 -05:00
Ken Martin 345cf04012 ENH: big change that includes immediate subdir support, removing the notion of inherited commands, makefiles no longer read in the parent makefiles but instead inherit thier parent makefiles current settings 2005-03-18 10:41:41 -05:00
Brad King 397dc1cef5 ENH: Converted some ConvertToRelativeOutputPath calls to ConvertToOptionallyRelativeOutputPath in preparation for making ConvertToRelativeOutputPath always convert. Some of these might be able to be switched back but we will first have to test what paths can be relative in the generate VS project files. 2005-02-24 18:35:36 -05:00
Brad King 39af9ee1e4 ENH: Updated implementation of custom commands. Multiple command lines are now supported effectively allowing entire scripts to be written. Also removed extra variable expansions and cleaned up passing of commands through to the generators. The command and individual arguments are now kept separate all the way until the generator writes them out. This cleans up alot of escaping issues. 2005-02-22 10:32:44 -05:00
Bill Hoffman 761cbed509 FIX: fix for bug 1606 2005-02-17 10:39:59 -05:00
Bill Hoffman a2972211a8 FIX: fix for bug 1460 2005-02-11 14:20:51 -05:00
Bill Hoffman d8ed9ef121 ENH: fix bug 1324 2005-02-09 23:25:09 -05:00
Bill Hoffman 91578381e8 BUG: fix version number 2005-01-26 15:43:49 -05:00
Bill Hoffman 36c8f1d157 ENH: put error checking for missing linker languages 2004-10-27 10:53:01 -04:00
Bill Hoffman 7cef36c628 ENH: add the ability to generate custom commands for a language that is not supported by an IDE 2004-10-21 14:34:02 -04:00
Bill Hoffman 692ba48c4e ENH: major changes to support addition of languages from cmake modules directory. 2004-09-22 14:42:05 -04:00
Bill Hoffman 5001eed8a5 ENH: clean up of INCLUDE_EXTERNAL_MSPROJECT contributed by Clinton Stimpson 2004-09-15 12:07:57 -04:00
Bill Hoffman b41d447935 ENH: use GetRequiredDefinition instead of GetDefinition and crash 2004-08-11 16:58:09 -04:00
Brad King aa1b32218a BUG: Fixed crash when CMAKE_CXX_STACK_SIZE is not defined. 2004-08-05 09:17:25 -04:00
Bill Hoffman 07dae7bba4 ENH: sort flags, and fix order and case problems and add a few more 2004-07-15 14:38:50 -04:00
Bill Hoffman 871db9760f ENH: remove warnings 2004-07-14 19:53:54 -04:00
Bill Hoffman a3eeaa1ce2 ENH: use a map to fill out flags, and keep command line consistent with the GUI 2004-07-14 16:10:18 -04:00
Bill Hoffman 86195caf6a ENH: add support for VCExpress 2005 2004-07-05 12:16:33 -04:00
Bill Hoffman b6466061cb ENH: add NDEBUG to windows release builds for both ide and nmake 2004-06-14 12:16:25 -04:00
Bill Hoffman 8d1a5c48e7 BUG: fix for 871, include external should work for 7.1 and 7.0 2004-06-01 12:07:01 -04:00
Bill Hoffman 70eaddbf8e BUG: make sure global generate is done when cmakelist file chagnes, also make sure guids are stored in the cache so the .sln file does not change every time 2004-05-20 16:29:09 -04:00
Bill Hoffman 71b57bc454 BUG: fix for bug 769 CMAKE_STANDARD_LIBRARIES now used in ides 2004-04-23 16:26:21 -04:00
Bill Hoffman 0b7d154ebd ENH: add verbose make abilility to visual studio 7 2004-04-23 13:12:33 -04:00
Bill Hoffman 7b576866b7 ENH: add support for static library property STATIC_LIBRARY_FLAGS 2004-04-22 16:58:04 -04:00
Bill Hoffman 4e8b76dc93 BUG 178: make top level cmakelist file a source in ALL_BUILD 2004-04-22 09:44:41 -04:00
Bill Hoffman 62bd5b7c8c BUG: fix for bug 91 2004-04-16 09:50:31 -04:00
Ken Martin df3205e873 fix problem with custom command 2004-04-07 12:07:36 -04:00
Andy Cedilnik c7067f426f ENH: Properly build WIN32 executables 2004-03-09 12:31:08 -05:00
Andy Cedilnik b1a7421840 ENH: Styart working on bundles support and abstract WIN32_EXECUTABLE 2004-02-28 18:59:19 -05:00
Bill Hoffman a588dbcba1 BUG: .lib from a .dll should go in m_LibraryOutputPath not m_ExecutableOutputPath 2004-01-23 15:17:21 -05:00
Bill Hoffman 8685faba69 BUG: fix for debug flags into project files 2004-01-23 13:01:52 -05:00
Bill Hoffman 0bdb092a01 ENH: add relative paths to visual studio 6 and 7 project files 2003-12-22 16:21:27 -05:00
Andy Cedilnik 72d8bd1e41 BUG: Fix Bug #445 - Same library in multiple projects can cause problems 2003-12-18 13:17:36 -05:00
Brad King 6018ebdc85 BUG#393: Adding XML escaping for additional per-source compile flags. 2003-11-21 14:13:49 -05:00
Bill Hoffman 343f327b32 BUG: fix for 363, VCMIDLTool not used for idl files 2003-11-11 12:51:50 -05:00
Bill Hoffman 77afae681a BUG: add preprocessor flags to resource compiler 2003-10-28 11:55:40 -05:00
Bill Hoffman 16fe086267 BUG: make sure -M flags are not duplicated and are only set in the xml 2003-10-17 16:19:37 -04:00
Bill Hoffman 545ae439b7 BUG: fix for unicode and for /D -D 2003-10-17 16:08:49 -04:00
Bill Hoffman 073a5b69b7 ENH: allow users to change to unicode 2003-10-16 10:10:49 -04:00
Bill Hoffman db3cd82590 BUG: fix for bug 78 should be on 1.8 branch 2003-10-15 23:42:06 -04:00
Brad King c056415593 BUG: Check for whether to use CMAKE_EXE_LINKER_FLAGS should look both for EXECUTABLE and WIN32_EXECUTABLE targets. 2003-09-24 11:03:14 -04:00
Bill Hoffman dd4e8df29a BUG: make sure exe output path is used for dep hack stuff 2003-08-28 16:22:46 -04:00
Ken Martin 2b2a9d73da fix to executable depends for custom commands 2003-08-28 16:06:06 -04:00
Bill Hoffman 58d9cfa141 BUG: fix bug with custom commands depending on executables 2003-08-28 14:52:26 -04:00
Bill Hoffman 4a1412b0cb BUG: fix for bugs 125 - 128, and a fix for the bug introduced by the bug fix for but 92. & was being replaced with &amp, but after double quote was replaced with &quot causing it to be &quot. Also add more search paths for mpi 2003-08-07 09:19:39 -04:00
Brad King 8830b45b88 BUG#92 - Added XML escaping for <, >, and &. 2003-08-05 16:04:53 -04:00
Brad King 48aedb2ba3 ENH: Fully implemented SOURCE_GROUP command. 2003-07-23 15:32:54 -04:00
Bill Hoffman f22a4a908d ENH: add linker flags 2003-07-03 12:50:41 -04:00
Ken Martin 840389b64f moved depend code into cmTarget 2003-06-24 15:24:30 -04:00
Ken Martin 6309da4242 fix for bad assumption on custom rules 2003-06-17 17:13:56 -04:00
Ken Martin 703242071f more crazt changes source files now must match with full path 2003-06-05 14:40:25 -04:00
Bill Hoffman fc0a916eee ENH: allow duplicate commands with the same output to be reduced automatically to one command 2003-06-04 13:42:42 -04:00
Ken Martin 904fb91a42 compielr warnings 2003-06-04 08:42:58 -04:00
Ken Martin ba68f771b3 yikes added new custom command support 2003-06-03 10:30:23 -04:00
Bill Hoffman 6112e7fc16 add support for vs 71 2003-05-08 16:59:27 -04:00
Bill Hoffman 961fb56029 BUG: remove 64 bit warnings 2003-05-05 10:23:02 -04:00
Bill Hoffman d4d2779542 BUG: fix crash with force cxx type 2003-03-17 09:29:10 -05:00
Bill Hoffman 0afb1fa1aa force cxx compiler for cxx files 2003-03-17 09:15:57 -05:00
Bill Hoffman bd47afa2cd Force c++ builds for c++ files 2003-03-14 11:59:45 -05:00
Brad King cde384411d Several fixes/improvements:
- Fixed CollapseFullPath to work on relative paths with base paths
    not in the current working directory.
  - INCLUDE command now supports relative paths (using above fix).
  - Added ABSOLUTE option to GET_FILENAME_COMPONENT command to
    unwind symlinks and relative paths.
  - Fixed libName_EXPORTS macro definition to be valid C identifier.
  - Added DEFINE_SYMBOL target propterty for customizing the export symbol.
  - Implemented LINK_FLAGS target propterty for libraries in VC6 and VC7.

Several of these fixes were contributed by Gareth Jones.
2003-02-07 14:04:16 -05:00
Ken Martin 61da8f64bf added option to shut off automatic rebuilding 2003-02-06 15:18:43 -05:00
Ken Martin 6a0a8331ef some clean up in link directories 2002-12-17 10:04:39 -05:00
Brad King 728d3da737 BUG: Cannot remove quotes from defined flags. 2002-12-16 18:28:43 -05:00
Brad King 6e10f6cc75 BUG: Fixed quotes in output paths. 2002-12-16 09:39:06 -05:00
Brad King 3348131819 ENH: Added source file property OBJECT_DEPENDS to support generated header files included in non-generated sources. 2002-12-13 16:16:48 -05:00
Andy Cedilnik 682e2c7b8b Add check so that java projects build without C++ 2002-12-11 12:09:52 -05:00
Andy Cedilnik b0656a2605 Add support for comments on custom commands in visual studio 7 2002-12-10 17:43:34 -05:00
Bill Hoffman 2a48ce12b1 add support for CMAKE_C_FLAGS and handle quotes in CMAKE_CXX_FLAGS 2002-11-21 23:54:34 -05:00
Brad King 1f6a3c67b1 ENH: Added reference to Copyright.txt. Removed old reference to ITK copyright. Changed program name to CMake instead of Insight in source file header. Also removed tabs. 2002-10-23 18:03:27 -04:00
Andy Cedilnik 242347c52e Try to fix quoted definitions 2002-09-23 09:58:34 -04:00
Ken Martin cb4299e9fb defines cannot have quotes in them 2002-09-22 10:08:28 -04:00
Ken Martin 2d9fbbd94c updated to use ConfigureFinalPass 2002-09-15 09:42:29 -04:00
Ken Martin 3abb9e240d compiler warnings 2002-09-08 10:17:03 -04:00
Ken Martin 49aebe6c99 new arch 2002-09-04 15:23:56 -04:00