Commit Graph

16085 Commits

Author SHA1 Message Date
Brad King ef27b9cd89 Merge topic 'doc-CheckSymbolExists-enum'
4995b26 Update CheckSymbolExists copyright year
840f9c0 Document CheckSymbolExists more clearly (#11685)
2011-01-19 14:02:38 -05:00
Brad King 3b900dbd09 Merge topic 'doc-CheckFunctionExists-clarify-issue-10044'
114c322 Document CheckFunctionExists more clearly (#10044)
2011-01-19 14:02:33 -05:00
Brad King db276e48c4 Merge topic 'doc-if-dereferencing-issue-10773'
7d9b903 Clarify auto-dereference cases in if() command (#11701)
e4e14e8 Replace misleading example in the if() documentation (#10773)
2011-01-19 14:02:26 -05:00
Brad King c6cb693147 Merge topic 'doc-old-get_X_property-commands'
4c980e3 Reference get_property() from old get_*_property() commands
0d7cf49 Fix get_(cmake|test)_property documentation (#11703)
2011-01-19 14:02:20 -05:00
Brad King 27039e62f9 Merge topic 'doc-try_compile-clarification'
cabb6cd Document Check(C|CXX)SourceCompiles behavior more clearly (#11688)
4da2a56 Document try_compile behavior more clearly (#11688)
2011-01-19 14:02:11 -05:00
Brad King 9ae65b866e Merge topic 'doc-hard-preprocessor-characters'
c64d138 Document COMPILE_DEFINITIONS known limitations (#11660, #11712)
668ce6b Combine duplicate COMPILE_DEFINITIONS disclaimer
2011-01-19 14:02:04 -05:00
Brad King 1a0ff79898 Merge topic 'bootstrap-enable-ccache-issue-11707'
3cba29d bootstrap: Add --enable-ccache option (#11707)
2011-01-19 14:01:57 -05:00
Brad King cbd40b3b7c Merge topic 'bootstrap-verbose-makefiles-issue-11708'
144a82c bootstrap: --verbose implies verbose Makefiles (#11708)
2011-01-19 14:01:52 -05:00
Brad King 1837276eb3 Merge topic 'bootstrap-select-system-libs'
bace650 bootstrap: Clarify --init flag documentation (#11431)
60d72b5 bootstrap: Granular system library selection (#11431)
2011-01-19 14:01:45 -05:00
Brad King b23bfdf01d Merge topic 'update-aix-release-script-login'
16438d0 Update script with new machine name
2011-01-19 14:01:40 -05:00
David Cole 693c9a6236 Avoid exceptions when ccmake terminal window is too small (#11668)
Thanks to Nicolas Despres for the patch.
2011-01-19 11:24:36 -05:00
KWSys Robot 57c542a80f KWSys Nightly Date Stamp 2011-01-19 00:10:07 -05:00
KWSys Robot 00a0929c04 KWSys Nightly Date Stamp 2011-01-18 00:11:02 -05:00
Clinton Stimpson 858fe0ed41 Replace exec_program with execute_process for qmake queries. 2011-01-17 19:14:22 -07:00
Brad King 052c2ae1aa Document CMAKE_TRY_COMPILE_CONFIGURATION variable
Also reference it from try_compile and try_run since it affects those
commands.
2011-01-17 17:23:15 -05:00
Brad King 56efc60fa0 Honor CMAKE_TRY_COMPILE_CONFIGURATION in Makefile generators (#10809)
Previously this was used only in multi-configuration generators to
choose the configuration of try_compile and try_run at their build time.
Teach CMake to honor the variable in single-configuration generators as
the CMAKE_BUILD_TYPE.
2011-01-17 17:21:30 -05:00
Brad King 9859c64ffc Honor VS_SCC_* properties in Fortran targets (#10237)
Factor out generation of SccProjectName, SccLocalPath, and SccProvider
from cmLocalVisualStudio7Generator::WriteProjectStart and call it from
cmLocalVisualStudio7Generator::WriteProjectStartFortran too.
2011-01-17 15:41:24 -05:00
Marcus D. Hanwell 23635ff1a0 Bug #11715 - generate header in the build tree.
The module header was being placed in the source tree before. Thanks to
Marcel Loose for the patch, this ensures the file is written to the
build tree.
2011-01-17 15:29:01 -05:00
Brad King 8dc7501d50 Normalize slashes in scanned #include lines (#10281)
On Windows platforms source files may contain '\' in include directives:

  #include "a\b.h"

Normalize these while scanning to use forward slashes.  CMake will
convert from forward slashes to the direction preferred by the native
build tools when writing the path to 'depend.make' files.
2011-01-17 15:03:53 -05:00
David Cole efd1d9c799 Add freeglut as library name (#10031)
Thanks to Thomas Sondergaard for the patch in the bug report.
2011-01-17 14:19:18 -05:00
Brad King 4995b267b7 Update CheckSymbolExists copyright year
Reflect that commit 840f9c05 (Document CheckSymbolExists more clearly,
2011-01-12) changed the file in 2011.
2011-01-17 14:10:55 -05:00
Brad King 114c3224a4 Document CheckFunctionExists more clearly (#10044)
State that the function need only be available at link time.  Refer to
CheckSymbolExists for verifying that a declaration exists.
2011-01-17 14:02:21 -05:00
Brad King e60c8ec6c7 Factor SCO compiler info out of platform file (#11700)
Move these flags out of the SCO_SV platform file so that other compilers
may be used on that platform without interference.
2011-01-17 09:57:17 -05:00
Brad King db05da35d2 Recognize SCO UnixWare C/C++ compilers (#11700)
These compilers define __SCO_VERSION__ as VvvYYYYMML:

     V = major version
    vv = minor version
  YYYY = release year
    MM = release month

http://osr600doc.sco.com/en/manCP/cc.CP.html
http://osr600doc.sco.com/en/manCP/CC.CP.html
2011-01-17 09:52:33 -05:00
Brad King 7d9b903756 Clarify auto-dereference cases in if() command (#11701)
Show "<variable|string>" explicitly in if() case documentation whenever
auto-dereferencing occurs.  Reference its presence from the explanation
at the bottom.
2011-01-17 09:43:41 -05:00
Brad King 4c980e36bb Reference get_property() from old get_*_property() commands
The former is a much more general and modern command.  Refer authors to
it from documentation of its predecessors.
2011-01-17 09:19:45 -05:00
Brad King 0d7cf4951a Fix get_(cmake|test)_property documentation (#11703)
The signature of get_test_property uses argument order

  test property VAR

not

  test VAR property

Also document the actual behavior when the property is not found.
2011-01-17 09:14:35 -05:00
Nicolas Despres 3cba29d220 bootstrap: Add --enable-ccache option (#11707)
This option tells bootstrap to hand CMake

  CC="ccache $CC"
  CXX="ccache $CXX"

so that the CMake build tree after bootstrapping uses ccache.
2011-01-17 08:57:38 -05:00
Brad King 144a82ca7e bootstrap: --verbose implies verbose Makefiles (#11708)
Suggested-by: Nicolas Despres <nicolas.despres@gmail.com>
2011-01-17 08:44:04 -05:00
Brad King c64d1385b7 Document COMPILE_DEFINITIONS known limitations (#11660, #11712)
Some values simply cannot be escaped properly in all contexts for all
native build tools.  Document known limitations after the disclaimer
that states so.
2011-01-17 08:17:38 -05:00
Brad King 668ce6b1e8 Combine duplicate COMPILE_DEFINITIONS disclaimer 2011-01-17 07:55:48 -05:00
KWSys Robot 6b084f1e04 KWSys Nightly Date Stamp 2011-01-17 00:11:02 -05:00
KWSys Robot 3ddabcbadf KWSys Nightly Date Stamp 2011-01-16 00:11:02 -05:00
Brad King 7af41c3492 Test that missing source mentions directory (#11677)
Teach the MissingSourceFile test to verify that the directory portion of
a missing source file is mentioned in the error message.
2011-01-15 08:16:50 -05:00
Brad King 9cefce09f6 Report directory with missing source file (#11677)
Previously the error message for code like

  add_executable(myexe does_not_exist/mysrc.c)

mentioned only that "mysrc.c" is not found.  Report the directory too.
2011-01-15 08:00:11 -05:00
KWSys Robot 061f310815 KWSys Nightly Date Stamp 2011-01-15 00:10:53 -05:00
Brad King e4e14e8568 Replace misleading example in the if() documentation (#10773)
Remove the example explained by the misleading phrase "CMake will treat
it as if you wrote".  This was originally added by commit a73071ca
(modified the if command to address bug 9123 some, 2009-06-12).  Later
related information elsewhere in the documentation was corrected and
made precise by commit cb185d93 (Fix if() command and CMP0012 OLD/NEW
behavior, 2009-10-27) but the misleading example was not corrected.

Replace the example with a correct one that more directly covers the
case that typically surprises newcomers.  Avoid recommending a "correct"
way to write code because this behavior is always specific to each case.
Also update the main documentation of the behavior to be more explicit.
2011-01-14 18:28:56 -05:00
David Cole 30e19b79dd Add new names for PNG and ZLIB libraries
Thanks to Pau Garcia i Quiles for the patch on the CMake
mailing list.
2011-01-14 12:28:10 -05:00
Brad King aeb6cd8a89 Merge branch 'honor-explicit-zero-timeout' into resolve/mingw-cross-compile-resources/honor-explicit-zero-timeout
Conflicts:
	Tests/CMakeLists.txt
2011-01-14 10:44:41 -05:00
Brad King 20d87c8026 Teach Simple_Mingw_Linux2Win test to use windres
This test was broken by commit b2f308c8 (Add support for windows
resources with mingw/msys, 2010-12-22) because the test does not set a
resource compiler which is now required on MinGW for the 'RC' language.
Use windres as the resource compiler for the test.
2011-01-14 10:22:15 -05:00
Brad King cabb6cd00e Document Check(C|CXX)SourceCompiles behavior more clearly (#11688)
Explicitly state up front that the macros try to link an executable and
that the source provided must define 'main'.
2011-01-14 07:36:59 -05:00
KWSys Robot 3a7230afe9 KWSys Nightly Date Stamp 2011-01-14 00:12:03 -05:00
Ben Boeckel 949d32c306 Unwatch manual variables upon removal in cmake-gui 2011-01-13 17:59:04 -05:00
Ben Boeckel 393903218d Unwatch manual variables upon removal in ccmake 2011-01-13 17:58:23 -05:00
Ben Boeckel 8354413463 Add method to unwatch a manual variable 2011-01-13 17:58:04 -05:00
Ben Boeckel 8ed3c85c47 Give a better message for unused variables 2011-01-13 17:56:18 -05:00
David Cole 96cd16380a Add CPACK_NSIS_INSTALL_ROOT for CMake's own installer (#9148)
Problem with CMake 2.8.4-rc1: when you launch the NSIS exe installer
on Windows, the default install path shown to the end user is, at first,
"\CMake 2.8".

This problem started occurring when configuring CMake itself with an
older CMake, after adding CPACK_NSIS_INSTALL_ROOT to fix issue 9148.
So... it's a regression from 2.8.3.

I forgot (again) that when you add a new CPack variable, you must
add it to CMake's CMakeCPack.cmake file or else it is empty when
configured with an older CMake. And on Windows, without a bootstrap
build available, the releases are always configured with an older
version of CMake. This may be the last time this has bitten me,
though, because it is now burned into my brain that problems with
CMake's installer itself are inevitably associated with adding new
CPack variables.

In addition to adding a definition for CPACK_NSIS_INSTALL_ROOT,
I've gone ahead and made it differ for the 32- and 64-bit builds
of CMake to give the end user the expected default value for the
Program Files folder for each one.

And, since I was adding a new 32/64 differentiator anyhow, I made
the "NSIS package name" and "installer registry key base" different
for 64-bit builds, too, by appending " (Win64)" to each one.

These address the concerns mentioned in 9148's related issue:
http://public.kitware.com/Bug/view.php?id=9094 (at least as far
as CMake's installer is concerned). 9094 could still use a good
general fix for all projects, though, and remains open for now.
2011-01-13 16:57:50 -05:00
David Cole fa4a3b04d0 Add CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS variable
The parent commit added a warning message whenever a required file
does not exist.

As it turns out, the "required" files never exist when built with
Visual Studio Express editions. Add a variable to suppress these
warning messages because only packagers or naive includers of
this file will care to see such warning messages.

We want to warn about this condition by default so that people who
are using InstallRequiredSystemLibraries without understanding it
fully will have a chance of understanding why it's not working in
the event of missing required files.

But we also want to give projects the ability to suppress this warning
(by "project's choice default") so that they can encourage users who
are restricted to using an Express edition to build their project.

Packagers should explicitly use...

  -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS=OFF

...when building releases. That way, their release build process will warn
them about any missing files, but only if their project CMakeLists files
use a construct similar to CMake's:

  IF(NOT DEFINED CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS)
    SET(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS ON)
  ENDIF()
2011-01-13 16:52:51 -05:00
David Cole fc144924a0 VS10: Fix problems with InstallRequiredSystemLibraries.
Thanks to "J Decker" on the CMake mailing list for pointing out
that one of the MSVC10_CRT_DIR settings was using "VC90" instead
of "VC100".

After fixing that, I added the code to generate a CMake warning
if one of the files we think is "required" does not exist.

Then, with VS10, there were several other problems that the
warning revealed:

 - MSVC10_REDIST_DIR needed more PATHS to be found correctly

 - the 64-bit directory is named "x64" now, not "amd64" as in
   previous VS versions

 - manifest files no longer exist as separate files in the
   redist subdirectories (they must be built-in as resources
   to the dlls...?)
2011-01-13 13:08:59 -05:00
Brad King 809ef3086d Xcode: Make generation depend on all input directories
Previously the Xcode generator would rerun CMake only if input file
dependencies in the top-level directory changed.  Teach it to depend on
input files from all directories.  Other generators already do this.

Reported-by: Johan Björk <phb@spotify.com>
2011-01-13 12:07:23 -05:00