Commit Graph

38 Commits

Author SHA1 Message Date
Petr Kmoch
de8be9ef7d Add projectDir parameter to GenerateBuildCommand
Extend the cmGlobalGenerator::GenerateBuildCommand virtual method
signature with a "projectDir" parameter specifying the top of the
project build tree for which the build command will be generated.
Populate it from call sites in cmGlobalGenerator::Build where a
fully-generated build tree should be available.
2013-04-12 11:35:35 -04:00
Patrick Gansterer
5170a8800f Make cmGlobalGenerator::GetDocumentation() a static function
Making the function static allows us to call it directly,
without creating and removing an instance of the generator.
2012-11-19 12:54:50 -05:00
Patrick Gansterer
e8f841473b Introduce the abstract class cmGlobalGeneratorFactory
This new abstract class allows us move some logic from the
cmGlobalGenerator into its own layer in a next step.
2012-11-19 12:54:30 -05:00
Kitware Robot
7bbaa4283d Remove trailing whitespace from most CMake and C/C++ code
Our Git commit hooks disallow modification or addition of lines with
trailing whitespace.  Wipe out all remnants of trailing whitespace
everywhere except third-party code.

Run the following shell code:

git ls-files -z -- \
 bootstrap doxygen.config '*.readme' \
 '*.c' '*.cmake' '*.cpp' '*.cxx' \
 '*.el' '*.f' '*.f90' '*.h' '*.in' '*.in.l' '*.java' \
 '*.mm' '*.pike' '*.py' '*.txt' '*.vim' |
egrep -z -v '^(Utilities/cm|Source/(kwsys|CursesDialog/form)/)' |
egrep -z -v '^(Modules/CPack\..*\.in)' |
xargs -0 sed -i 's/ \+$//'
2012-08-13 14:18:39 -04:00
Brad King
9c0a00d6dd Rename/constify build-time config placeholder lookup
Rename cmGlobalGenerator::GetCMakeCFG{InitDirectory => IntDir} to
have a shorter name without a typo.  Add a 'const' qualifier since
the method is only for lookup and never needs to modify anything.
2012-03-09 15:16:03 -05:00
Brad King
79a88c35f8 Refactor VS <= 7.1 utility-depends workaround
Commit 438a7e2f (Fix utility dependencies for static libraries in VS
generators, 2007-04-04) implemented utility-only dependencies between
linkable targets by introducing an intermediate non-linkable target.
We convert a dependency of the form

  foo -> bar

to the form

  foo -> bar_UTILITY -> bar

to prevent foo from including bar on its link line.  Previously we added
the extra "_UTILITY" targets explicitly among the project targets before
dependency analysis was performed.  Now we generate them separately at
the last moment so that cmGlobalGenerator need not be aware of them.
2010-08-24 18:47:56 -04:00
Brad King
96afb12087 Convert CMake to OSI-approved BSD License
This converts the CMake license to a pure 3-clause OSI-approved BSD
License.  We drop the previous license clause requiring modified
versions to be plainly marked.  We also update the CMake copyright to
cover the full development time range.
2009-09-28 11:43:28 -04:00
Brad King
09e398fa9f Create VS generator GetRegistryBase method
This method returns the registry key

  HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\<version>

A protected GetIDEVersion method retrieves the version-specific part of
the key name.
2009-09-16 11:44:08 -04:00
Bill Hoffman
3d1c12b802 ENH: remove INCLUDE_EXTERNAL_MSPROJECT name hack, and use target properties instead, fix VXExternalInclude test for VS10 2009-07-14 14:16:46 -04:00
Alexander Neundorf
43de8c8628 ENH: add OPTIONAL keyword to ENABLE_LANGUAGE, so it will be possible to do
something like this:

ENABLE_LANGUAGE(ASM-ATT)
IF(CMAKE_ASM-ATT_COMPILER_WORKS)
  ... do assembler stufff
ELSE(CMAKE_ASM-ATT_COMPILER_WORKS)
  ... fallback to generic C/C++
ENDIF(CMAKE_ASM-ATT_COMPILER_WORKS)

Alex
2007-06-28 09:09:26 -04:00
Brad King
2c1204e361 ENH: Added cmGlobalVisualStudioGenerator as superclass to all VS global generators. 2007-04-04 11:22:14 -04:00
Brad King
87d4d0e039 BUG: cmGlobalGenerator::Build should not always use the /fast target name because dependency checking is often required. It now takes an argument specifying whether to use the /fast target name, and the argument is currently only true for try-compiles. 2006-06-01 15:51:24 -04:00
Ken Martin
bf0cb4d49a STYLE: fix line length 2006-05-11 11:47:03 -04:00
Bill Hoffman
89e5fc63fe STYLE: fix line lengths 2006-03-10 13:54:57 -05:00
Brad King
93c95f1cc5 BUG: Fixed installation of MacOSX Bundle executables and the corresponding install_name remapping support. Extended the BundleTest test to check that this all works. Part of these fixes required changing the signature of AppendDirectoryForConfig in all generators. It now accepts prefix and suffix strings to deal with whether leading or trailing slashes should be included with the configuration subdirectory. 2006-03-03 12:58:48 -05:00
Andy Cedilnik
c4156b4531 COMP: Even more global target fixes 2006-02-24 17:35:35 -05:00
Brad King
afa8367885 BUG: Fixed cmTarget::GetFullPath to not append the configuration name when only one configuration is built. It now asks the generator what subdirectory if any to use for a given configuration name. 2006-02-03 11:36:11 -05:00
Andy Cedilnik
782bef7374 ENH: Add a way for the generated command to include extra flags. This is useful for CTest (or try compile) to add -j2 2005-12-01 11:41:00 -05: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
Andy Cedilnik
61d0a75d11 ENH: Add option to ignore errors. Only works on make 2005-04-29 11:49:18 -04:00
Brad King
48702f8a8d COMP: Converting INSTALL->ALL_BUILD dependency implementation to use the AddUtility method on a target. This significantly simplifies the implementation and removes warnings about hiding virtual functions. 2005-04-29 10:11:24 -04:00
Andy Cedilnik
cb3ea2328a ENH: Start working on a method that abstracts generating of build command 2005-04-28 18:18:54 -04:00
Brad King
3b81a43294 ENH: Added dependency from INSTALL target to ALL_BUILD target so that targets build before being installed. 2005-04-28 16:21:28 -04:00
Andy Cedilnik
86cebea79a ENH: More ctest changes and move SetupTest to superclass 2005-04-01 15:48:46 -05:00
Ken Martin
4d30cb309c ENH: ctest now uses CMake global generator to do the build part of build-and-test 2005-02-22 09:12:10 -05:00
Bill Hoffman
13865fc4fa ENH: move project map to global generator base 2005-01-21 12:26:32 -05:00
Bill Hoffman
731369ef9c ENH: try to initialize all languages at the same time 2004-08-27 08:41:07 -04:00
Brad King
9b1771aef4 BUG: CMAKE_TRY_COMPILE_CONFIGURATION should be obtained from the cmMakefile instance for the listfile containing the TRY_COMPILE call, not the top level listfile. 2004-08-04 16:33:10 -04:00
Bill Hoffman
ddb815c125 ENH: add new subdirectory exclude from top option 2004-03-09 16:28:44 -05:00
Bill Hoffman
d89adbf049 remove warnings 2003-11-26 16:12:52 -05:00
Bill Hoffman
5ccfaefb48 ENH: generate a sln and dsw file for each sub project in a project 2003-11-26 14:29:53 -05:00
Brad King
e5ed57ec18 ENH: Registered global generators are now kept in a table in the cmake instance. Added support for documentation with a Generators section. 2003-07-07 21:52:10 -04:00
Brad King
4e6ad941e9 ENH: Visual Studio 6 and 7 generators now set CMAKE_CONFIGURATION_TYPES to be a semicolon-separated list of configurations that will be built. 2002-12-20 12:59:18 -05:00
Bill Hoffman
96189f79d5 ENH: unify EnableLanguage across all generators 2002-12-05 13:44:11 -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
38baabc665 Attempt to fix Visual studio 6 comiling 2002-09-23 09:07:41 -04:00
Ken Martin
38e412626b modified TryCompile 2002-09-10 16:49:40 -04:00
Ken Martin
49aebe6c99 new arch 2002-09-04 15:23:56 -04:00