[Cmake-commits] CMake branch, master, updated. v2.8.7-379-gbfbb575

2012-02-17 Thread KWSys Robot
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, master has been updated
   via  bfbb57508603ab6c7007d75718b21868b690e151 (commit)
  from  d03606a19cc05872baf23269ae8ec61d2e0719e8 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=bfbb57508603ab6c7007d75718b21868b690e151
commit bfbb57508603ab6c7007d75718b21868b690e151
Author: KWSys Robot 
AuthorDate: Sat Feb 18 00:05:12 2012 -0500
Commit: KWSys Robot 
CommitDate: Sat Feb 18 00:05:12 2012 -0500

KWSys Nightly Date Stamp

diff --git a/Source/kwsys/kwsysDateStamp.cmake 
b/Source/kwsys/kwsysDateStamp.cmake
index c80c53f..2bf0e14 100644
--- a/Source/kwsys/kwsysDateStamp.cmake
+++ b/Source/kwsys/kwsysDateStamp.cmake
@@ -18,4 +18,4 @@ SET(KWSYS_DATE_STAMP_YEAR  2012)
 SET(KWSYS_DATE_STAMP_MONTH 02)
 
 # KWSys version date day component.  Format is DD.
-SET(KWSYS_DATE_STAMP_DAY   17)
+SET(KWSYS_DATE_STAMP_DAY   18)

---

Summary of changes:
 Source/kwsys/kwsysDateStamp.cmake |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)


hooks/post-receive
-- 
CMake
___
Cmake-commits mailing list
Cmake-commits@cmake.org
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits


[Cmake-commits] CMake branch, next, updated. v2.8.7-2691-gf6b791b

2012-02-17 Thread Rolf Eike Beer
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, next has been updated
   via  f6b791bedefedf3fefb86bb7f893749a88715d5f (commit)
   via  378f2291593c5b1d7d9fcd03029b931ce674a3d2 (commit)
  from  7c29e989f39c726546c45c8645d93736f7906b6d (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f6b791bedefedf3fefb86bb7f893749a88715d5f
commit f6b791bedefedf3fefb86bb7f893749a88715d5f
Merge: 7c29e98 378f229
Author: Rolf Eike Beer 
AuthorDate: Fri Feb 17 15:02:22 2012 -0500
Commit: CMake Topic Stage 
CommitDate: Fri Feb 17 15:02:22 2012 -0500

Merge topic 'document-test-layout' into next

378f229 Tests: document where to put tests


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=378f2291593c5b1d7d9fcd03029b931ce674a3d2
commit 378f2291593c5b1d7d9fcd03029b931ce674a3d2
Author: Rolf Eike Beer 
AuthorDate: Fri Feb 17 21:02:08 2012 +0100
Commit: Rolf Eike Beer 
CommitDate: Fri Feb 17 21:02:08 2012 +0100

Tests: document where to put tests

diff --git a/Tests/README b/Tests/README
new file mode 100644
index 000..9b0f5c1
--- /dev/null
+++ b/Tests/README
@@ -0,0 +1,34 @@
+If you think about adding a new testcase then here is a small checklist you
+can run through to find a proper place for it. Go through the list from the
+beginning and stop once you find something that matches your tests needs,
+i.e. if you will test a module and only need the configure mode use the
+instructions from section 2, not 3.
+
+1. Your testcase can run in CMake script mode, i.e. "cmake -P something"
+
+Put your test in Tests/CMakeTests/ directory as a .cmake.in file. It will be
+put into the test binary directory by configure_file(... @ONLY) and run from
+there. Use the AddCMakeTest() macro in Tests/CMakeTests/CMakeLists.txt to add
+your test to the test runs.
+
+2. Your test needs CMake to run in configure mode, but will not build anything
+
+This includes tests that will build something using try_compile() and friends,
+but nothing that expects add_executable(), add_library(), or add_test() to run.
+
+If this matches your test you should put it into the Tests/CMakeOnly/ 
directory.
+Create a subdirectory named like your test and write the CMakeLists.txt you
+need into that subdirectory. Use the add_CMakeOnly_test() macro from
+Tests/CMakeOnly/CMakeLists.txt to add your test to the test runs.
+
+3. If you are testing something from the Modules directory
+
+Put your test in the Tests/Modules/ directory. Create a subdirectory there
+named after your test. Use the ADD_TEST_MACRO macro from Tests/CMakeLists.txt
+to add your test to the test run. If you have put your stuff in
+Tests/Modules/Foo then you call it using ADD_TEST_MACRO(Module.Foo Foo).
+
+4. You are doing other stuff.
+
+Find a good place ;) In doubt mail to cmake-develop...@cmake.org and ask for
+advise.

---

Summary of changes:
 Tests/README |   34 ++
 1 files changed, 34 insertions(+), 0 deletions(-)
 create mode 100644 Tests/README


hooks/post-receive
-- 
CMake
___
Cmake-commits mailing list
Cmake-commits@cmake.org
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits


[Cmake-commits] CMake branch, next, updated. v2.8.7-2689-g7c29e98

2012-02-17 Thread Bill Hoffman
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, next has been updated
   via  7c29e989f39c726546c45c8645d93736f7906b6d (commit)
   via  9090572f5cdde7b30d2c1ad1c0bbf4ab86ddb969 (commit)
  from  0f856c54befc47dc4b9238e5a877435b27135f91 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=7c29e989f39c726546c45c8645d93736f7906b6d
commit 7c29e989f39c726546c45c8645d93736f7906b6d
Merge: 0f856c5 9090572
Author: Bill Hoffman 
AuthorDate: Fri Feb 17 12:48:06 2012 -0500
Commit: CMake Topic Stage 
CommitDate: Fri Feb 17 12:48:06 2012 -0500

Merge topic 'inject_code_via_variable' into next

9090572 Add ability to include a file in a project via a cache variable.


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=9090572f5cdde7b30d2c1ad1c0bbf4ab86ddb969
commit 9090572f5cdde7b30d2c1ad1c0bbf4ab86ddb969
Author: Bill Hoffman 
AuthorDate: Fri Feb 17 12:41:39 2012 -0500
Commit: Bill Hoffman 
CommitDate: Fri Feb 17 12:41:39 2012 -0500

Add ability to include a file in a project via a cache variable.

If a variable exists called CMAKE_PROJECT__INCLUDE,
the file pointed to by that variable will be included as the last step
of the project command.

diff --git a/Source/cmProjectCommand.cxx b/Source/cmProjectCommand.cxx
index 6e3b6af..4c1abcf 100644
--- a/Source/cmProjectCommand.cxx
+++ b/Source/cmProjectCommand.cxx
@@ -77,6 +77,24 @@ bool cmProjectCommand
 languages.push_back("CXX");
 }
   this->Makefile->EnableLanguage(languages, false);
+  std::string extraInclude = "CMAKE_PROJECT_" + args[0] + "_INCLUDE";
+  const char* include = this->Makefile->GetDefinition(extraInclude.c_str());
+  if(include)
+{
+std::string fullFilePath;
+bool readit =
+  this->Makefile->ReadListFile( this->Makefile->GetCurrentListFile(),
+include);
+if(!readit && !cmSystemTools::GetFatalErrorOccured())
+  {
+  std::string m =
+"could not find load file:\n"
+"  ";
+  m += include;
+  this->SetError(m.c_str());
+  return false;
+  }
+}
   return true;
 }
 
diff --git a/Source/cmProjectCommand.h b/Source/cmProjectCommand.h
index fc2b7a2..1e5fc09 100644
--- a/Source/cmProjectCommand.h
+++ b/Source/cmProjectCommand.h
@@ -68,7 +68,10 @@ public:
   "By default C and CXX are enabled.  E.g. if you do not have a "
   "C++ compiler, you can disable the check for it by explicitly listing "
   "the languages you want to support, e.g. C.  By using the special "
-  "language \"NONE\" all checks for any language can be disabled.";
+  "language \"NONE\" all checks for any language can be disabled. "
+  "If a variable exists called CMAKE_PROJECT__INCLUDE_FILE, "
+  "the file pointed to by that variable will be included as the last step "
+  "of the project command.";
 }
   
   cmTypeMacro(cmProjectCommand, cmCommand);
diff --git a/Tests/CMakeOnly/CMakeLists.txt b/Tests/CMakeOnly/CMakeLists.txt
index 4407efb..629f578 100644
--- a/Tests/CMakeOnly/CMakeLists.txt
+++ b/Tests/CMakeOnly/CMakeLists.txt
@@ -22,3 +22,11 @@ add_CMakeOnly_test(CheckLanguage)
 add_CMakeOnly_test(AllFindModules)
 
 add_CMakeOnly_test(TargetScope)
+
+add_CMakeOnly_test(ProjectInclude)
+
+add_test(CMakeOnly.ProjectInclude ${CMAKE_CMAKE_COMMAND}
+  -DTEST=ProjectInclude
+  
-DCMAKE_ARGS=-DCMAKE_PROJECT_ProjectInclude_INCLUDE=${CMAKE_CURRENT_SOURCE_DIR}/ProjectInclude/include.cmake
+  -P ${CMAKE_CURRENT_BINARY_DIR}/Test.cmake
+  )
diff --git a/Tests/CMakeOnly/ProjectInclude/CMakeLists.txt 
b/Tests/CMakeOnly/ProjectInclude/CMakeLists.txt
new file mode 100644
index 000..a9abb4a
--- /dev/null
+++ b/Tests/CMakeOnly/ProjectInclude/CMakeLists.txt
@@ -0,0 +1,4 @@
+project(ProjectInclude)
+if(NOT AUTO_INCLUDE)
+  message(FATAL_ERROR "include file not found")
+endif()
diff --git a/Tests/CMakeOnly/ProjectInclude/include.cmake 
b/Tests/CMakeOnly/ProjectInclude/include.cmake
new file mode 100644
index 000..527ebe7
--- /dev/null
+++ b/Tests/CMakeOnly/ProjectInclude/include.cmake
@@ -0,0 +1 @@
+set(AUTO_INCLUDE TRUE)
diff --git a/Tests/CMakeOnly/Test.cmake.in b/Tests/CMakeOnly/Test.cmake.in
index aa2d093..42af068 100644
--- a/Tests/CMakeOnly/Test.cmake.in
+++ b/Tests/CMakeOnly/Test.cmake.in
@@ -3,7 +3,8 @@ set(binary_dir "@CMAKE_CURRENT_BINARY_DIR@/${TEST}-build")
 file(REMOVE_RECURSE "${binary_dir}")
 file(MAKE_DIRECTORY "${binary_dir}")
 execute_process(
-  COMMAND ${CMAKE_COMMAND} "${source_dir}" -G "@CMAKE_TEST_GENERATOR@"
+  COMMAND  ${CMAKE_COMMAND} ${CMAKE_ARGS}
+  "${source_dir}" -G "@CMAKE_TEST_GENERATOR@"
   WORKING_DIRECTORY "${binary_dir

[Cmake-commits] CMake branch, next, updated. v2.8.7-2687-g0f856c5

2012-02-17 Thread Rolf Eike Beer
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, next has been updated
   via  0f856c54befc47dc4b9238e5a877435b27135f91 (commit)
   via  bb1ba19ed73ef1e5dce10c69adbf57daa83b683b (commit)
   via  f58cce031e7c641c0ae216a66595837eb1b4dee7 (commit)
  from  fcfb7c98570673f29de75612a784edcefdff6573 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0f856c54befc47dc4b9238e5a877435b27135f91
commit 0f856c54befc47dc4b9238e5a877435b27135f91
Merge: fcfb7c9 bb1ba19
Author: Rolf Eike Beer 
AuthorDate: Fri Feb 17 12:47:00 2012 -0500
Commit: CMake Topic Stage 
CommitDate: Fri Feb 17 12:47:00 2012 -0500

Merge topic 'improve-findfreetype' into next

bb1ba19 AllFindModules test: be strict about FREETYPE and LibXslt version
f58cce0 FindFreetype: support version selection


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=bb1ba19ed73ef1e5dce10c69adbf57daa83b683b
commit bb1ba19ed73ef1e5dce10c69adbf57daa83b683b
Author: Rolf Eike Beer 
AuthorDate: Fri Feb 17 18:46:23 2012 +0100
Commit: Rolf Eike Beer 
CommitDate: Fri Feb 17 18:46:23 2012 +0100

AllFindModules test: be strict about FREETYPE and LibXslt version

Enforce the version to be found if the library is found, at least for the 
moment.
This makes it easy to see if there are cases that are not covered by the 
current
code.

diff --git a/Tests/CMakeOnly/AllFindModules/CMakeLists.txt 
b/Tests/CMakeOnly/AllFindModules/CMakeLists.txt
index f76f0d9..373470f 100644
--- a/Tests/CMakeOnly/AllFindModules/CMakeLists.txt
+++ b/Tests/CMakeOnly/AllFindModules/CMakeLists.txt
@@ -48,8 +48,8 @@ endif (NOT QT4_FOUND)
 # If any of these modules reported that it was found a version number should 
have been
 # reported.
 set(VERSIONS_REQUIRED
-ALSA BISON BZIP2 CUPS CURL DOXYGEN EXPAT FLEX GETTEXT GIF GIT
-ImageMagick JASPER LibArchive LIBXML2 PERL PostgreSQL SWIG TIFF ZLIB)
+ALSA BISON BZIP2 CUPS CURL DOXYGEN EXPAT FLEX FREETYPE GETTEXT GIF GIT
+ImageMagick JASPER LibArchive LIBXML2 LIBXSLT PERL PostgreSQL SWIG TIFF 
ZLIB)
 
 foreach(VTEST ${VERSIONS_REQUIRED})
 if (${VTEST}_FOUND)

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f58cce031e7c641c0ae216a66595837eb1b4dee7
commit f58cce031e7c641c0ae216a66595837eb1b4dee7
Author: Rolf Eike Beer 
AuthorDate: Fri Feb 17 18:31:23 2012 +0100
Commit: Rolf Eike Beer 
CommitDate: Fri Feb 17 18:31:23 2012 +0100

FindFreetype: support version selection

diff --git a/Modules/FindFreetype.cmake b/Modules/FindFreetype.cmake
index 6251805..e6f6702 100644
--- a/Modules/FindFreetype.cmake
+++ b/Modules/FindFreetype.cmake
@@ -3,6 +3,7 @@
 #  FREETYPE_LIBRARIES, the library to link against
 #  FREETYPE_FOUND, if false, do not try to link to FREETYPE
 #  FREETYPE_INCLUDE_DIRS, where to find headers.
+#  FREETYPE_VERSION_STRING, the version of freetype found (since CMake 2.8.8)
 #  This is the concatenation of the paths:
 #  FREETYPE_INCLUDE_DIR_ft2build
 #  FREETYPE_INCLUDE_DIR_freetype2
@@ -77,10 +78,33 @@ IF(FREETYPE_INCLUDE_DIR_ft2build AND 
FREETYPE_INCLUDE_DIR_freetype2)
 ENDIF(FREETYPE_INCLUDE_DIR_ft2build AND FREETYPE_INCLUDE_DIR_freetype2)
 SET(FREETYPE_LIBRARIES "${FREETYPE_LIBRARY}")
 
+IF(FREETYPE_INCLUDE_DIR_freetype2 AND EXISTS 
"${FREETYPE_INCLUDE_DIR_freetype2}/freetype/freetype.h")
+FILE(STRINGS "${FREETYPE_INCLUDE_DIR_freetype2}/freetype/freetype.h" 
freetype_version_str
+ REGEX "^#[\t ]*define[\t ]+FREETYPE_(MAJOR|MINOR|PATCH)[\t ]+[0-9]+$")
+
+UNSET(FREETYPE_VERSION_STRING)
+FOREACH(VPART MAJOR MINOR PATCH)
+FOREACH(VLINE ${freetype_version_str})
+IF(VLINE MATCHES "^#[\t ]*define[\t ]+FREETYPE_${VPART}")
+STRING(REGEX REPLACE "^#[\t ]*define[\t ]+FREETYPE_${VPART}[\t 
]+([0-9]+)$" "\\1"
+   FREETYPE_VERSION_PART "${VLINE}")
+IF(FREETYPE_VERSION_STRING)
+SET(FREETYPE_VERSION_STRING 
"${FREETYPE_VERSION_STRING}.${FREETYPE_VERSION_PART}")
+ELSE(FREETYPE_VERSION_STRING)
+SET(FREETYPE_VERSION_STRING "${FREETYPE_VERSION_PART}")
+ENDIF(FREETYPE_VERSION_STRING)
+UNSET(FREETYPE_VERSION_PART)
+ENDIF()
+ENDFOREACH(VLINE)
+ENDFOREACH(VPART)
+ENDIF(FREETYPE_INCLUDE_DIR_freetype2 AND EXISTS 
"${FREETYPE_INCLUDE_DIR_freetype2}/freetype/freetype.h")
+
+
 # handle the QUIETLY and REQUIRED arguments and set FREETYPE_FOUND to TRUE if
 # all listed variables are TRUE
 INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(Freetype  DEFAULT_MSG  FREETYPE

[Cmake-commits] CMake branch, next, updated. v2.8.7-2684-gfcfb7c9

2012-02-17 Thread Rolf Eike Beer
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, next has been updated
   via  fcfb7c98570673f29de75612a784edcefdff6573 (commit)
   via  70697a85a0bd273c0b1773471b7ae11b2c7ceb57 (commit)
  from  6be7e46577ff4ab63f70b924dd8ed6c3fe2a (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=fcfb7c98570673f29de75612a784edcefdff6573
commit fcfb7c98570673f29de75612a784edcefdff6573
Merge: 6be7e46 70697a8
Author: Rolf Eike Beer 
AuthorDate: Fri Feb 17 12:17:27 2012 -0500
Commit: CMake Topic Stage 
CommitDate: Fri Feb 17 12:17:27 2012 -0500

Merge topic 'improve-findlibxslt' into next

70697a8 FindLibXslt: support version selection


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=70697a85a0bd273c0b1773471b7ae11b2c7ceb57
commit 70697a85a0bd273c0b1773471b7ae11b2c7ceb57
Author: Rolf Eike Beer 
AuthorDate: Fri Feb 17 18:16:35 2012 +0100
Commit: Rolf Eike Beer 
CommitDate: Fri Feb 17 18:17:12 2012 +0100

FindLibXslt: support version selection

diff --git a/Modules/FindLibXslt.cmake b/Modules/FindLibXslt.cmake
index 1e42f42..dd5aac4 100644
--- a/Modules/FindLibXslt.cmake
+++ b/Modules/FindLibXslt.cmake
@@ -5,6 +5,7 @@
 #  LIBXSLT_INCLUDE_DIR - the LibXslt include directory
 #  LIBXSLT_LIBRARIES - Link these to LibXslt
 #  LIBXSLT_DEFINITIONS - Compiler switches required for using LibXslt
+#  LIBXSLT_VERSION_STRING - version of LibXslt found (since CMake 2.8.8)
 # Additionally, the following two variables are set (but not required for 
using xslt):
 #  LIBXSLT_EXSLT_LIBRARIES - Link to these if you need to link against the 
exslt library
 #  LIBXSLT_XSLTPROC_EXECUTABLE - Contains the full path to the xsltproc 
executable if found
@@ -51,10 +52,21 @@ SET(LIBXSLT_EXSLT_LIBRARIES ${LIBXSLT_EXSLT_LIBRARY} )
 
 FIND_PROGRAM(LIBXSLT_XSLTPROC_EXECUTABLE xsltproc)
 
-# handle the QUIETLY and REQUIRED arguments and set LIBXML2_FOUND to TRUE if
-# all listed variables are TRUE
+IF(PC_LIBXSLT_VERSION)
+SET(LIBXSLT_VERSION_STRING ${PC_LIBXSLT_VERSION})
+ELSEIF(LIBXSLT_INCLUDE_DIR AND EXISTS 
"${LIBXSLT_INCLUDE_DIR}/libxslt/xsltconfig.h")
+FILE(STRINGS "${LIBXSLT_INCLUDE_DIR}/libxslt/xsltconfig.h" 
libxslt_version_str
+ REGEX "^#define[\t ]+LIBXSLT_DOTTED_VERSION[\t ]+\".*\"")
+
+STRING(REGEX REPLACE "^#define[\t ]+LIBXSLT_DOTTED_VERSION[\t 
]+\"([^\"]*)\".*" "\\1"
+   LIBXSLT_VERSION_STRING "${libxslt_version_str}")
+UNSET(libxslt_version_str)
+ENDIF()
+
 INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibXslt DEFAULT_MSG LIBXSLT_LIBRARIES 
LIBXSLT_INCLUDE_DIR)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibXslt
+  REQUIRED_VARS LIBXSLT_LIBRARIES 
LIBXSLT_INCLUDE_DIR
+  VERSION_VAR LIBXSLT_VERSION_STRING)
 
 MARK_AS_ADVANCED(LIBXSLT_INCLUDE_DIR
  LIBXSLT_LIBRARIES

---

Summary of changes:
 Modules/FindLibXslt.cmake |   18 +++---
 1 files changed, 15 insertions(+), 3 deletions(-)


hooks/post-receive
-- 
CMake
___
Cmake-commits mailing list
Cmake-commits@cmake.org
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits


[Cmake-commits] CMake branch, next, updated. v2.8.7-2682-g6be7e46

2012-02-17 Thread Rolf Eike Beer
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, next has been updated
   via  6be7e46577ff4ab63f70b924dd8ed6c3fe2a (commit)
   via  854e76237ce3e8f03d9cabcad1f8f37e04992ad3 (commit)
  from  b8bc894ae032747a8b6e127d5fb291ae28d4fbd1 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6be7e46577ff4ab63f70b924dd8ed6c3fe2a
commit 6be7e46577ff4ab63f70b924dd8ed6c3fe2a
Merge: b8bc894 854e762
Author: Rolf Eike Beer 
AuthorDate: Fri Feb 17 12:09:16 2012 -0500
Commit: CMake Topic Stage 
CommitDate: Fri Feb 17 12:09:16 2012 -0500

Merge topic 'improve-findruby' into next

854e762 FindRuby: clean up querying variables from Ruby


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=854e76237ce3e8f03d9cabcad1f8f37e04992ad3
commit 854e76237ce3e8f03d9cabcad1f8f37e04992ad3
Author: Rolf Eike Beer 
AuthorDate: Fri Feb 17 18:06:07 2012 +0100
Commit: Rolf Eike Beer 
CommitDate: Fri Feb 17 18:06:07 2012 +0100

FindRuby: clean up querying variables from Ruby

Newer Ruby versions (from 1.9 onward) seem to warn if you query 
Config::CONFIG
and print a warning to use RbConfig instead. RbConfig seems to also work in
older versions, at least in 1.8. Use a macro to query RbConfig first and 
only
if that doesn't give anything fall back to Config.

diff --git a/Modules/FindRuby.cmake b/Modules/FindRuby.cmake
index c4adfd1..5e973e4 100644
--- a/Modules/FindRuby.cmake
+++ b/Modules/FindRuby.cmake
@@ -61,49 +61,44 @@ FIND_PROGRAM(RUBY_EXECUTABLE NAMES 
${_RUBY_POSSIBLE_EXECUTABLE_NAMES})
 
 
 IF(RUBY_EXECUTABLE  AND NOT  RUBY_VERSION_MAJOR)
-  # query the ruby version
-   EXECUTE_PROCESS(COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print 
Config::CONFIG['MAJOR']"
-  OUTPUT_VARIABLE RUBY_VERSION_MAJOR)
+  FUNCTION(_RUBY_CONFIG_VAR RBVAR OUTVAR)
+EXECUTE_PROCESS(COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print 
RbConfig::CONFIG['${RBVAR}']"
+  RESULT_VARIABLE _RUBY_SUCCESS
+  OUTPUT_VARIABLE _RUBY_OUTPUT
+  ERROR_QUIET)
+IF(_RUBY_SUCCESS OR NOT _RUBY_OUTPUT)
+  EXECUTE_PROCESS(COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print 
Config::CONFIG['${RBVAR}']"
+RESULT_VARIABLE _RUBY_SUCCESS
+OUTPUT_VARIABLE _RUBY_OUTPUT
+ERROR_QUIET)
+ENDIF(_RUBY_SUCCESS OR NOT _RUBY_OUTPUT)
+SET(${OUTVAR} "${_RUBY_OUTPUT}" PARENT_SCOPE)
+  ENDFUNCTION(_RUBY_CONFIG_VAR)
 
-   EXECUTE_PROCESS(COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print 
Config::CONFIG['MINOR']"
-  OUTPUT_VARIABLE RUBY_VERSION_MINOR)
 
-   EXECUTE_PROCESS(COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print 
Config::CONFIG['TEENY']"
-  OUTPUT_VARIABLE RUBY_VERSION_PATCH)
+  # query the ruby version
+   _RUBY_CONFIG_VAR("MAJOR" RUBY_VERSION_MAJOR)
+   _RUBY_CONFIG_VAR("MINOR" RUBY_VERSION_MINOR)
+   _RUBY_CONFIG_VAR("TEENY" RUBY_VERSION_PATCH)
 
# query the different directories
-   EXECUTE_PROCESS(COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print 
Config::CONFIG['archdir']"
-  OUTPUT_VARIABLE RUBY_ARCH_DIR)
-
-   EXECUTE_PROCESS(COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print 
Config::CONFIG['arch']"
-  OUTPUT_VARIABLE RUBY_ARCH)
-
-   EXECUTE_PROCESS(COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print 
Config::CONFIG['rubyhdrdir']"
-  OUTPUT_VARIABLE RUBY_HDR_DIR)
-
-   EXECUTE_PROCESS(COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print 
Config::CONFIG['libdir']"
-  OUTPUT_VARIABLE RUBY_POSSIBLE_LIB_DIR)
-
-   EXECUTE_PROCESS(COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print 
Config::CONFIG['rubylibdir']"
-  OUTPUT_VARIABLE RUBY_RUBY_LIB_DIR)
+   _RUBY_CONFIG_VAR("archdir" RUBY_ARCH_DIR)
+   _RUBY_CONFIG_VAR("arch" RUBY_ARCH)
+   _RUBY_CONFIG_VAR("rubyhdrdir" RUBY_HDR_DIR)
+   _RUBY_CONFIG_VAR("libdir" RUBY_POSSIBLE_LIB_DIR)
+   _RUBY_CONFIG_VAR("rubylibdir" RUBY_RUBY_LIB_DIR)
 
# site_ruby
-   EXECUTE_PROCESS(COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print 
Config::CONFIG['sitearchdir']"
-  OUTPUT_VARIABLE RUBY_SITEARCH_DIR)
-
-   EXECUTE_PROCESS(COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print 
Config::CONFIG['sitelibdir']"
-  OUTPUT_VARIABLE RUBY_SITELIB_DIR)
+   _RUBY_CONFIG_VAR("sitearchdir" RUBY_SITEARCH_DIR)
+   _RUBY_CONFIG_VAR("sitelibdir" RUBY_SITELIB_DIR)
 
# vendor_ruby available ?
EXECUTE_PROCESS(COMMAND ${RUBY_EXECUTABLE} -r vendor-specific -e "print 
'true'"
   OUTPUT_VARIABLE RUBY_HAS_VENDOR_RUBY  ERROR_QUIET)
 
IF(RUBY_HAS_VENDOR_RUBY)
-  EXECUTE_PROCESS(COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print 
Config::CONFIG['vendorlibdir']"
- OUTPUT_VARIABLE RUBY_VENDORLIB_DIR)
-
-  EXECUTE_PROCESS(COMMAND ${RUBY_EXECUTABLE} -r 

[Cmake-commits] CMake branch, next, updated. v2.8.7-2680-gb8bc894

2012-02-17 Thread Brad King
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, next has been updated
   via  b8bc894ae032747a8b6e127d5fb291ae28d4fbd1 (commit)
   via  4fbdce2b79b28566ae2c6708c99af5e0e8e0177b (commit)
  from  21b4d1168a86a62b21490c85acb9a4746bda4b2a (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b8bc894ae032747a8b6e127d5fb291ae28d4fbd1
commit b8bc894ae032747a8b6e127d5fb291ae28d4fbd1
Merge: 21b4d11 4fbdce2
Author: Brad King 
AuthorDate: Fri Feb 17 11:57:11 2012 -0500
Commit: CMake Topic Stage 
CommitDate: Fri Feb 17 11:57:11 2012 -0500

Merge topic 'try-compile-random-name' into next

4fbdce2 try_compile: Use random executable file name (#12957)


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=4fbdce2b79b28566ae2c6708c99af5e0e8e0177b
commit 4fbdce2b79b28566ae2c6708c99af5e0e8e0177b
Author: Brad King 
AuthorDate: Mon Feb 13 10:02:58 2012 -0500
Commit: Brad King 
CommitDate: Thu Feb 16 10:13:50 2012 -0500

try_compile: Use random executable file name (#12957)

Append a random number to the "cmTryCompileExec" file name to avoid
rapid creation and deletion of the same executable file name.  Some
filesystems lock executable files when they are created and cause
subsequent try-compile tests to fail arbitrarily.  Use a different
name each time to avoid conflict.

diff --git a/Source/cmCoreTryCompile.cxx b/Source/cmCoreTryCompile.cxx
index dca2fb3..7d84ba6 100644
--- a/Source/cmCoreTryCompile.cxx
+++ b/Source/cmCoreTryCompile.cxx
@@ -26,6 +26,7 @@ int cmCoreTryCompile::TryCompileCode(std::vector 
const& argv)
   const char* sourceDirectory = argv[2].c_str();
   const char* projectName = 0;
   const char* targetName = 0;
+  char targetNameBuf[64];
   int extraArgs = 0;
 
   // look for CMAKE_FLAGS and store them
@@ -281,16 +282,20 @@ int 
cmCoreTryCompile::TryCompileCode(std::vector const& argv)
   cmakeFlags.push_back(flag);
   }
 
+/* Use a random file name to avoid rapid creation and deletion
+   of the same executable name (some filesystems fail on that).  */
+sprintf(targetNameBuf, "cmTryCompileExec%u",
+cmSystemTools::RandomSeed());
+targetName = targetNameBuf;
+
 /* Put the executable at a known location (for COPY_FILE).  */
 fprintf(fout, "SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY \"%s\")\n",
 this->BinaryDirectory.c_str());
 /* Create the actual executable.  */
-fprintf(fout, "ADD_EXECUTABLE(cmTryCompileExec \"%s\")\n",source.c_str());
-fprintf(fout,
-"TARGET_LINK_LIBRARIES(cmTryCompileExec ${LINK_LIBRARIES})\n");
+fprintf(fout, "ADD_EXECUTABLE(%s \"%s\")\n", targetName, source.c_str());
+fprintf(fout, "TARGET_LINK_LIBRARIES(%s ${LINK_LIBRARIES})\n",targetName);
 fclose(fout);
 projectName = "CMAKE_TRY_COMPILE";
-targetName = "cmTryCompileExec";
 // if the source is not in CMakeTmp
 if(source.find("CMakeTmp") == source.npos)
   {

---

Summary of changes:
 Source/cmCoreTryCompile.cxx |   13 +
 1 files changed, 9 insertions(+), 4 deletions(-)


hooks/post-receive
-- 
CMake
___
Cmake-commits mailing list
Cmake-commits@cmake.org
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits


[Cmake-commits] CMake branch, next, updated. v2.8.7-2678-g21b4d11

2012-02-17 Thread David Cole
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, next has been updated
   via  21b4d1168a86a62b21490c85acb9a4746bda4b2a (commit)
   via  ba89e92ba622ed821a6adf31e8a6633d574ff656 (commit)
  from  a341fe5a8f14f9fbf314e7ac927795ba38ef8c13 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=21b4d1168a86a62b21490c85acb9a4746bda4b2a
commit 21b4d1168a86a62b21490c85acb9a4746bda4b2a
Merge: a341fe5 ba89e92
Author: David Cole 
AuthorDate: Fri Feb 17 11:32:21 2012 -0500
Commit: CMake Topic Stage 
CommitDate: Fri Feb 17 11:32:21 2012 -0500

Merge topic 'fix-12189-support-SBCS-in-VS' into next

ba89e92 Visual Studio: Allow setting Single Byte Character Set (#12189)


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ba89e92ba622ed821a6adf31e8a6633d574ff656
commit ba89e92ba622ed821a6adf31e8a6633d574ff656
Author: Aaron C. Meadows 
AuthorDate: Thu Feb 16 15:27:05 2012 -0600
Commit: David Cole 
CommitDate: Fri Feb 17 11:30:23 2012 -0500

Visual Studio: Allow setting Single Byte Character Set (#12189)

For Visual Studio using the Preprocessor Define _SBCS. This behavior
is similar to the way that _UNICODE and _MBCS work already.

Added tests to confirm this behavior.

diff --git a/Source/cmLocalVisualStudio7Generator.cxx 
b/Source/cmLocalVisualStudio7Generator.cxx
index 11a0387..a23d6a1 100644
--- a/Source/cmLocalVisualStudio7Generator.cxx
+++ b/Source/cmLocalVisualStudio7Generator.cxx
@@ -774,6 +774,10 @@ void 
cmLocalVisualStudio7Generator::WriteConfiguration(std::ostream& fout,
 {
 fout << "\t\t\tCharacterSet=\"1\">\n";
 }
+  else if(targetOptions.UsingSBCS())
+{
+fout << "\t\t\tCharacterSet=\"0\">\n";
+}
   else
 {
 fout << "\t\t\tCharacterSet=\"2\">\n";
diff --git a/Source/cmVisualStudio10TargetGenerator.cxx 
b/Source/cmVisualStudio10TargetGenerator.cxx
index 9418761..ab74265 100644
--- a/Source/cmVisualStudio10TargetGenerator.cxx
+++ b/Source/cmVisualStudio10TargetGenerator.cxx
@@ -394,6 +394,11 @@ void 
cmVisualStudio10TargetGenerator::WriteProjectConfigurationValues()
   {
   this->WriteString("Unicode\n", 2);
   }
+else if (this->Target->GetType() <= cmTarget::MODULE_LIBRARY &&
+   this->ClOptions[*i]->UsingSBCS())
+  {
+  this->WriteString("NotSet\n", 2);
+  }
 else
   {
   this->WriteString("MultiByte\n", 2);
diff --git a/Source/cmVisualStudioGeneratorOptions.cxx 
b/Source/cmVisualStudioGeneratorOptions.cxx
index 41230e7..9369af6 100644
--- a/Source/cmVisualStudioGeneratorOptions.cxx
+++ b/Source/cmVisualStudioGeneratorOptions.cxx
@@ -117,6 +117,20 @@ bool cmVisualStudioGeneratorOptions::UsingUnicode()
 }
   return false;
 }
+//
+bool cmVisualStudioGeneratorOptions::UsingSBCS()
+{
+  // Look for the a _SBCS definition.
+  for(std::vector::const_iterator di = this->Defines.begin();
+  di != this->Defines.end(); ++di)
+{
+if(*di == "_SBCS")
+  {
+  return true;
+  }
+}
+  return false;
+}
 
 //
 void cmVisualStudioGeneratorOptions::Parse(const char* flags)
diff --git a/Source/cmVisualStudioGeneratorOptions.h 
b/Source/cmVisualStudioGeneratorOptions.h
index 51a1362..a1a55da 100644
--- a/Source/cmVisualStudioGeneratorOptions.h
+++ b/Source/cmVisualStudioGeneratorOptions.h
@@ -48,6 +48,7 @@ public:
 
   // Check for specific options.
   bool UsingUnicode();
+  bool UsingSBCS();
 
   bool IsDebug();
   // Write options to output.
diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt
index 9c97828..da656d4 100644
--- a/Tests/CMakeLists.txt
+++ b/Tests/CMakeLists.txt
@@ -1306,6 +1306,8 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P 
${CMake_SOURCE_DIR}/Utilities/
   endif()
 
   IF(${CMAKE_TEST_GENERATOR} MATCHES "Visual Studio")
+ADD_TEST_MACRO(SBCS SBCS)
+
 ADD_TEST(VSExternalInclude ${CMAKE_CTEST_COMMAND}
   --build-and-test
   "${CMake_SOURCE_DIR}/Tests/VSExternalInclude"
diff --git a/Tests/SBCS/CMakeLists.txt b/Tests/SBCS/CMakeLists.txt
new file mode 100644
index 000..b3c3c2c
--- /dev/null
+++ b/Tests/SBCS/CMakeLists.txt
@@ -0,0 +1,6 @@
+# a SBCS test case
+project (SBCS)
+
+add_definitions(-D_SBCS)
+
+add_executable (SBCS SBCS.cxx)
diff --git a/Tests/SBCS/SBCS.cxx b/Tests/SBCS/SBCS.cxx
new file mode 100644
index 000..6ce2c9f
--- /dev/null
+++ b/Tests/SBCS/SBCS.cxx
@@ -0,0 +1,22 @@
+// Test to verify that _SBCS being defined causes CharacterSet to be set to 0 
(Single Byte Character Set)
+
+int main ()
+{

[Cmake-commits] CMake branch, next, updated. v2.8.7-2676-ga341fe5

2012-02-17 Thread Alexander Neundorf
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, next has been updated
   via  a341fe5a8f14f9fbf314e7ac927795ba38ef8c13 (commit)
   via  939991dbe6350eb0d9ac8983be67c776fce0baad (commit)
   via  ba1ea104670df8cb86728c4d0fb4ca48d45364af (commit)
  from  f131113d11ca69ec71f090b402fbd04a38e14c41 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a341fe5a8f14f9fbf314e7ac927795ba38ef8c13
commit a341fe5a8f14f9fbf314e7ac927795ba38ef8c13
Merge: f131113 939991d
Author: Alexander Neundorf 
AuthorDate: Fri Feb 17 10:44:38 2012 -0500
Commit: CMake Topic Stage 
CommitDate: Fri Feb 17 10:44:38 2012 -0500

Merge topic 'HandleTargetsInCMakeRequiredLibraries' into next

939991d fix bootstrap: move while() and endwhile() into the bootstrap build
ba1ea10 strip trailing whitespace


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=939991dbe6350eb0d9ac8983be67c776fce0baad
commit 939991dbe6350eb0d9ac8983be67c776fce0baad
Author: Alex Neundorf 
AuthorDate: Fri Feb 17 16:42:06 2012 +0100
Commit: Alex Neundorf 
CommitDate: Fri Feb 17 16:42:06 2012 +0100

fix bootstrap: move while() and endwhile() into the bootstrap build

Alex

diff --git a/Source/cmBootstrapCommands.cxx b/Source/cmBootstrapCommands.cxx
index cb5dc4c..9097a74 100644
--- a/Source/cmBootstrapCommands.cxx
+++ b/Source/cmBootstrapCommands.cxx
@@ -38,6 +38,7 @@
 #include "cmEndFunctionCommand.cxx"
 #include "cmEndIfCommand.cxx"
 #include "cmEndMacroCommand.cxx"
+#include "cmEndWhileCommand.cxx"
 #include "cmExecProgramCommand.cxx"
 #include "cmExecuteProcessCommand.cxx"
 #include "cmExternalMakefileProjectGenerator.cxx"
@@ -91,6 +92,7 @@
 #include "cmTryCompileCommand.cxx"
 #include "cmTryRunCommand.cxx"
 #include "cmUnsetCommand.cxx"
+#include "cmWhileCommand.cxx"
 
 void GetBootstrapCommands(std::list& commands)
 {
@@ -116,6 +118,7 @@ void GetBootstrapCommands(std::list& commands)
   commands.push_back(new cmEndFunctionCommand);
   commands.push_back(new cmEndIfCommand);
   commands.push_back(new cmEndMacroCommand);
+  commands.push_back(new cmEndWhileCommand);
   commands.push_back(new cmExecProgramCommand);
   commands.push_back(new cmExecuteProcessCommand);
   commands.push_back(new cmFileCommand);
@@ -164,4 +167,5 @@ void GetBootstrapCommands(std::list& commands)
   commands.push_back(new cmTryCompileCommand);
   commands.push_back(new cmTryRunCommand);
   commands.push_back(new cmUnsetCommand);
+  commands.push_back(new cmWhileCommand);
 }
diff --git a/Source/cmCommands.cxx b/Source/cmCommands.cxx
index bb1e4e2..49ed967 100644
--- a/Source/cmCommands.cxx
+++ b/Source/cmCommands.cxx
@@ -14,7 +14,6 @@
 #include "cmAuxSourceDirectoryCommand.cxx"
 #include "cmBuildNameCommand.cxx"
 #include "cmElseIfCommand.cxx"
-#include "cmEndWhileCommand.cxx"
 #include "cmExportCommand.cxx"
 #include "cmExportLibraryDependencies.cxx"
 #include "cmFLTKWrapUICommand.cxx"
@@ -34,7 +33,6 @@
 #include "cmVariableRequiresCommand.cxx"
 #include "cmVariableWatchCommand.cxx"
 
-#include "cmWhileCommand.cxx"
 #include "cmWriteFileCommand.cxx"
 
 // This one must be last because it includes windows.h and
@@ -53,7 +51,6 @@ void GetPredefinedCommands(std::list&
   commands.push_back(new cmAuxSourceDirectoryCommand);
   commands.push_back(new cmBuildNameCommand);
   commands.push_back(new cmElseIfCommand);
-  commands.push_back(new cmEndWhileCommand);
   commands.push_back(new cmExportCommand);
   commands.push_back(new cmExportLibraryDependenciesCommand);
   commands.push_back(new cmFLTKWrapUICommand);
@@ -73,7 +70,6 @@ void GetPredefinedCommands(std::list&
   commands.push_back(new cmUtilitySourceCommand);
   commands.push_back(new cmVariableRequiresCommand);
   commands.push_back(new cmVariableWatchCommand);
-  commands.push_back(new cmWhileCommand);
   commands.push_back(new cmWriteFileCommand);
 #endif
 }

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ba1ea104670df8cb86728c4d0fb4ca48d45364af
commit ba1ea104670df8cb86728c4d0fb4ca48d45364af
Author: Alex Neundorf 
AuthorDate: Fri Feb 17 16:41:14 2012 +0100
Commit: Alex Neundorf 
CommitDate: Fri Feb 17 16:41:14 2012 +0100

strip trailing whitespace

Alex

diff --git a/Source/cmBootstrapCommands.cxx b/Source/cmBootstrapCommands.cxx
index 554f452..cb5dc4c 100644
--- a/Source/cmBootstrapCommands.cxx
+++ b/Source/cmBootstrapCommands.cxx
@@ -12,7 +12,7 @@
 // This file is used to compile all the commands
 // that CMake knows about at compile time.
 // This is sort of a boot strapping approach since you would
-// like to have CMake to build CMake.   
+// like to have CMake to build CMake.
 #include "cmC

[Cmake-commits] CMake branch, next, updated. v2.8.7-2673-gf131113

2012-02-17 Thread Alexander Neundorf
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, next has been updated
   via  f131113d11ca69ec71f090b402fbd04a38e14c41 (commit)
   via  fd866f01d484c14b57eb3c2619a06142d6ac85df (commit)
   via  d46bce95aa3bba22f921906bf74afacc3b6251c9 (commit)
   via  2a48331e5d1ba855429b8c35e832143f18764e1b (commit)
   via  d03606a19cc05872baf23269ae8ec61d2e0719e8 (commit)
  from  ffdef8726313f88bcfc534f37a989db8c5b93c47 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f131113d11ca69ec71f090b402fbd04a38e14c41
commit f131113d11ca69ec71f090b402fbd04a38e14c41
Merge: ffdef87 fd866f0
Author: Alexander Neundorf 
AuthorDate: Fri Feb 17 05:47:48 2012 -0500
Commit: CMake Topic Stage 
CommitDate: Fri Feb 17 05:47:48 2012 -0500

Merge topic 'FindPackage_ImprovedErrorMessages' into next

fd866f0 find_package: print the error message if an invalid CONFIGS name is 
used
d46bce9 find_package(): improved error message, mention version number
2a48331 find_package(): improved error message mentioning CMAKE_PREFIX_PATH
d03606a KWSys Nightly Date Stamp


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=fd866f01d484c14b57eb3c2619a06142d6ac85df
commit fd866f01d484c14b57eb3c2619a06142d6ac85df
Author: Alex Neundorf 
AuthorDate: Fri Feb 17 11:43:27 2012 +0100
Commit: Alex Neundorf 
CommitDate: Fri Feb 17 11:45:24 2012 +0100

find_package: print the error message if an invalid CONFIGS name is used

Alex

diff --git a/Source/cmFindPackageCommand.cxx b/Source/cmFindPackageCommand.cxx
index c3e472b..a166f89 100644
--- a/Source/cmFindPackageCommand.cxx
+++ b/Source/cmFindPackageCommand.cxx
@@ -538,6 +538,7 @@ bool cmFindPackageCommand
 e << "given CONFIGS option followed by invalid file name \""
   << args[i] << "\".  The names given must be file names without "
   << "a path and with a \".cmake\" extension.";
+this->SetError(e.str().c_str());
 return false;
 }
   this->Configs.push_back(args[i]);

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d46bce95aa3bba22f921906bf74afacc3b6251c9
commit d46bce95aa3bba22f921906bf74afacc3b6251c9
Author: Alex Neundorf 
AuthorDate: Fri Feb 17 11:37:29 2012 +0100
Commit: Alex Neundorf 
CommitDate: Fri Feb 17 11:45:18 2012 +0100

find_package(): improved error message, mention version number

Now when Find-module or the config file have not been found at all,
the required version is printed too, so the user knows which version
of the package he has to install:

CMake Error at CMakeLists.txt:7 (find_package):
  Could not find a configuration file for package ecm
  (requested version 0.0.4) with one of the following names:

ecmConfig.cmake
ecm-config.cmake

  To find the configuration file, set CMAKE_PREFIX_PATH to the installation
  prefix of ecm, or set ecm_DIR to the
  directory containing a CMake configuration file for ecm.

diff --git a/Source/cmFindPackageCommand.cxx b/Source/cmFindPackageCommand.cxx
index 4fcb4e7..c3e472b 100644
--- a/Source/cmFindPackageCommand.cxx
+++ b/Source/cmFindPackageCommand.cxx
@@ -911,6 +911,14 @@ bool cmFindPackageCommand::HandlePackageMode()
   }
 else
   {
+  std::string requestedVersionString;
+  if(!this->Version.empty())
+{
+requestedVersionString = " (requested version ";
+requestedVersionString += this->Version;
+requestedVersionString += ")";
+}
+
   e << "Could not find ";
   if(!this->NoModule)
 {
@@ -919,11 +927,12 @@ bool cmFindPackageCommand::HandlePackageMode()
   if(this->Configs.size() == 1)
 {
 e << "a configuration file named " << this->Configs[0]
-  << " for package " << this->Name << ".\n";
+  << " for package " << this->Name << requestedVersionString << ".\n";
 }
   else
 {
 e << "a configuration file for package " << this->Name
+  << requestedVersionString
   << " with one of the following names:\n";
 for(std::vector::const_iterator ci=this->Configs.begin();
 ci != this->Configs.end(); ++ci)

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=2a48331e5d1ba855429b8c35e832143f18764e1b
commit 2a48331e5d1ba855429b8c35e832143f18764e1b
Author: Alex Neundorf 
AuthorDate: Fri Feb 17 11:26:03 2012 +0100
Commit: Alex Neundorf 
CommitDate: Fri Feb 17 11:26:03 2012 +0100

find_package(): improved error message mentioning CMAKE_PREFIX_PATH

Now CMAKE_PREFIX_PATH is mentioned for searching the config files.
A