Commit Graph

43 Commits

Author SHA1 Message Date
Daniele E. Domenichelli bc280f1c81 set: Fix handling of empty value with PARENT_SCOPE
Just as

  set(VAR "")

sets VAR to an empty string in the current scope, the code

  set(VAR "" PARENT_SCOPE)

is documented to set the variable to an empty string in the parent
scope.  Fix the implementation to make it so.
2013-11-13 10:15:56 -05:00
Daniele E. Domenichelli 20afbd5e03 set: Handle value-less PARENT_SCOPE explicitly
The code "set(VAR PARENT_SCOPE)" unsets VAR in the parent scope.
Implement this case explicitly next to where "set(VAR)" is explicitly
handled to unset VAR in the current scope.
2013-11-13 10:14:21 -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
Kai Wasserbäch 9203e9187e Fix spelling errors reported by Lintian.
During a Lintian run on the binary packages of CMake in Debian I was
notified of many spelling mistakes.
2010-07-13 09:41:37 -04:00
Brad King 9a77f65da7 Remove CMake Policy CMP0015 until it is revised
We revert commit "Create CMake Policy CMP0015 to fix set(CACHE)" because
the NEW behavior of the policy breaks a valid use case:

  # CMakeLists.txt
  option(BUILD_SHARED_LIBS "..." ON)
  add_library(mylib ...)
  set(BUILD_SHARED_LIBS OFF) # we want only mylib to be shared
  add_subdirectory(ThirdParty)

  # ThirdParty/CMakeLists.txt
  option(BUILD_SHARED_LIBS "..." ON)
  # uh, oh, with NEW behavior this dir uses shared libs!!!

We'll re-introduce the policy later with a different change in behavior
to resolve the motivating case, which was more subtle but less common.

See issue #9008.
2009-10-08 14:56:15 -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 b41a548d86 Add parentheses around '&&' between '||' for gcc
The GNU compiler warns about possible operator precedence mistakes and
asks for explicit parentheses (-Wparentheses).  We add the parentheses
to silence the warning.  This also fixes one real logic error in the
find_package() implementation by correcting expression evaluation order.
2009-09-11 08:18:15 -04:00
Brad King ee2b446c95 Create CMake Policy CMP0015 to fix set(CACHE)
The set(CACHE) and option() commands should always expose the cache
value.  Previously we failed to expose the value when it was already set
if a local variable definition hid it.  When set to NEW, this policy
tells the commands to always remove the local variable definition to
expose the cache value.  See issue #9008.
2009-09-10 16:59:45 -04:00
Alexander Neundorf ad194e659f STYLE: cacheStart is used only locally in the if-branch
Alex
2009-05-10 16:07:34 -04:00
Bill Hoffman 0c24570ee4 BUG: fix issue with -D and cache force 2008-11-21 16:32:39 -05:00
Brad King 870571b28b ENH: Simplify error message for invalid set(... CACHE) calls to make it look nicer with new message format. 2008-03-13 13:52:49 -04:00
Ken Martin 0e69d38004 ENH: add return and break support to cmake, also change basic command invocation signature to be able to return extra informaiton via the cmExecutionStatus class 2008-01-23 10:28:26 -05:00
Alexander Neundorf fc8ce17433 ENH: remove RAISE_SCOPE() again and instead add SET(<var> <value> PARENT_SCOPE)
Alex
2008-01-18 15:52:54 -05:00
Brad King ab61137eb1 COMP: Fix and/or disable warnings for Borland 5.6 build. 2006-08-01 11:38:42 -04:00
Ken Martin 3d96e52261 STYLE: some m_ to this-> cleanup 2006-03-15 11:02:08 -05:00
Andy Cedilnik 99fa337616 BUG: Remove memory leak 2005-06-03 14:17:59 -04:00
Ken Martin c66e55a91a COMP: fix unused var warning 2005-01-20 15:26:11 -05:00
Ken Martin acdd032109 ENH: now the set command can set environment variables 2005-01-20 14:38:16 -05:00
Ken Martin 96cdce0083 ENH: fixed SET command to accept cache values with more than one value 2005-01-04 08:42:25 -05:00
Brad King c74ce9b218 BUG: A variable is not in the cache if it is UNINITIALIZED. 2002-11-08 18:05:42 -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 f6a1218e10 Remove warning 2002-10-10 08:11:37 -04:00
Ken Martin f990777a60 added FORCE option 2002-10-09 15:48:59 -04:00
Bill Hoffman eb6bba34cd BUG: fix doc string and allow a variable to be promoted from non-cache to cache 2002-09-27 16:19:37 -04:00
Brad King bd7ffbc258 ENH: If SET(VAR) is called with no other arguments, remove the definition of VAR. 2002-09-18 10:40:07 -04:00
Bill Hoffman 4ea0f6b949 ENH: add enable language support for PROJECT command, this means that a C only project can be built with cmake, even without a cxx compiler 2002-04-02 15:43:23 -05:00
Sebastien Barre 7e2a78b499 FIX: get rid of warnings 2002-03-30 17:17:59 -05:00
Bill Hoffman dbdb0adce8 ENH: add ability to use ; separated lists in SET and expand them for addexecutable and addlibrary 2002-03-29 11:04:19 -05:00
Bill Hoffman 4651dbcfc6 ENH: expand variables in arguments before the commands get them 2002-03-05 18:41:24 -05:00
Will Schroeder a6a43d5320 ENH:Updated copyright 2002-01-21 15:30:43 -05:00
Bill Hoffman baa28efd10 ENH: change InitialPass to take a const reference to the argument string, to avoid changes to the file cache 2001-09-20 15:08:30 -04:00
Brad King ee86c59cba ENH: Added extra newline in an error message to improve readability. 2001-09-20 10:53:34 -04:00
Bill Hoffman 48febc4ed3 BUG: cmSystemTools::CollapseFullPath is a bad thing to call on the compiler which is a filepath 2001-08-20 09:23:16 -04:00
Sebastien Barre 4dda26b40a If the value is a path, collapse it (cleaner) 2001-08-19 07:36:46 -04:00
Bill Hoffman db1303aa7d ENH: big change, only allow commands access to the cache via the cmMakefile class and GetDefinition, also the cmMakefile is the only way for commands to add to the cache. Also, some changes to configure.in that check for for scoping 2001-08-08 11:54:46 -04:00
Bill Hoffman 9922155423 ENH: rename Invoke to InitialPass 2001-06-06 13:19:15 -04:00
Bill Hoffman c57d16eb41 ENH: add better error checking 2001-06-04 18:23:58 -04:00
Geoffrey Cross bdfdfb73a2 bug meaning that set(a b) just set a to "" and not to b 2001-05-25 17:19:04 -04:00
Bill Hoffman 5731bc9d54 ENH: change the syntax of the SET command, fix the combo box for larger strings 2001-05-24 12:57:33 -04:00
Bill Hoffman 650691850b BUG: fix compiler name 2001-05-21 10:47:00 -04:00
Bill Hoffman cb0af952cf ENH: allow cache to override config file 2001-05-18 13:04:36 -04:00
Bill Hoffman 1cd9ce6f6e ENH: unify make process on unix 2001-05-16 15:15:21 -04:00
Ken Martin a99dfa60ae new set command and IF NOT 2001-05-01 11:16:20 -04:00