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  58c40573e265ae38d64738cf4033373df0f2a6a5 (commit)
       via  b58de9fe2ba4ac3e194403ecd118fd54681ffae8 (commit)
       via  47b060aee0871bdb5fea63b398a1f1cb07fa3b37 (commit)
      from  6d9d7045893e99bc713958ec93f30fcf62555b6f (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=58c40573e265ae38d64738cf4033373df0f2a6a5
commit 58c40573e265ae38d64738cf4033373df0f2a6a5
Merge: 6d9d704 b58de9f
Author:     Domen Vrankar <domen.vran...@gmail.com>
AuthorDate: Mon Sep 21 20:10:49 2015 -0400
Commit:     CMake Topic Stage <kwro...@kitware.com>
CommitDate: Mon Sep 21 20:10:49 2015 -0400

    Merge topic 'cpack-package-empty-dirs' into next
    
    b58de9fe CPack: allow packaging of empty directories
    47b060ae CPackDeb: allow empty directories in component packages


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b58de9fe2ba4ac3e194403ecd118fd54681ffae8
commit b58de9fe2ba4ac3e194403ecd118fd54681ffae8
Author:     Domen Vrankar <domen.vran...@gmail.com>
AuthorDate: Tue Sep 22 02:08:26 2015 +0200
Commit:     Domen Vrankar <domen.vran...@gmail.com>
CommitDate: Tue Sep 22 02:08:26 2015 +0200

    CPack: allow packaging of empty directories

diff --git a/Help/release/dev/cpack-package-empty-dirs.rts 
b/Help/release/dev/cpack-package-empty-dirs.rts
new file mode 100644
index 0000000..1f56e1a
--- /dev/null
+++ b/Help/release/dev/cpack-package-empty-dirs.rts
@@ -0,0 +1,4 @@
+cpack-package-empty-dirs
+------------------------
+
+* The :module:`CPack` module learned to package empty directories.
diff --git a/Source/CPack/cmCPackGenerator.cxx 
b/Source/CPack/cmCPackGenerator.cxx
index 92a4b2b..aa4f181 100644
--- a/Source/CPack/cmCPackGenerator.cxx
+++ b/Source/CPack/cmCPackGenerator.cxx
@@ -367,6 +367,8 @@ int cmCPackGenerator::InstallProjectViaInstalledDirectories(
       cmCPackLogger(cmCPackLog::LOG_OUTPUT,
         "- Install directory: " << top << std::endl);
       gl.RecurseOn();
+      gl.SetRecurseListDirs(true);
+//      gl.SetRecurseThroughSymlinks(false);
       if ( !gl.FindFiles(findExpr) )
         {
         cmCPackLogger(cmCPackLog::LOG_ERROR,
@@ -869,6 +871,7 @@ int cmCPackGenerator::InstallProjectViaInstallCMakeProjects(
           cmsys::Glob glB;
           findExpr += "/*";
           glB.RecurseOn();
+          glB.SetRecurseListDirs(true);
           glB.FindFiles(findExpr);
           filesBefore = glB.GetFiles();
           std::sort(filesBefore.begin(),filesBefore.end());
@@ -908,6 +911,7 @@ int cmCPackGenerator::InstallProjectViaInstallCMakeProjects(
           {
           cmsys::Glob glA;
           glA.RecurseOn();
+          glA.SetRecurseListDirs(true);
           glA.FindFiles(findExpr);
           std::vector<std::string> filesAfter = glA.GetFiles();
           std::sort(filesAfter.begin(),filesAfter.end());
@@ -1074,6 +1078,7 @@ int cmCPackGenerator::DoPackage()
   std::string findExpr = tempDirectory;
   findExpr += "/*";
   gl.RecurseOn();
+  gl.SetRecurseListDirs(true);
   gl.SetRecurseThroughSymlinks(false);
   if ( !gl.FindFiles(findExpr) )
     {
diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx
index 2675066..c24b5ea 100644
--- a/Source/cmSystemTools.cxx
+++ b/Source/cmSystemTools.cxx
@@ -895,12 +895,33 @@ std::string 
cmSystemTools::FileExistsInParentDirectories(const char* fname,
 
 bool cmSystemTools::cmCopyFile(const char* source, const char* destination)
 {
+  // FIXME remove if statement once kwsys SystemTools get support for
+  // source is directory handling in CopyFileAlways function
+  if(cmSystemTools::FileIsDirectory(source))
+    {
+    return Superclass::MakeDirectory(destination);
+    }
+
   return Superclass::CopyFileAlways(source, destination);
 }
 
 bool cmSystemTools::CopyFileIfDifferent(const char* source,
   const char* destination)
 {
+  // FIXME remove if statement once kwsys SystemTools get support for
+  // source is directory handling in CopyFileIfDifferent function
+  if(cmSystemTools::FileIsDirectory(source))
+    {
+    if(SystemTools::FileExists(destination))
+      {
+      return true;
+      }
+    else
+      {
+      return Superclass::MakeDirectory(destination);
+      }
+    }
+
   return Superclass::CopyFileIfDifferent(source, destination);
 }
 
diff --git a/Tests/RunCMake/CPack/CMakeLists.txt 
b/Tests/RunCMake/CPack/CMakeLists.txt
index 46f1367..449172a 100644
--- a/Tests/RunCMake/CPack/CMakeLists.txt
+++ b/Tests/RunCMake/CPack/CMakeLists.txt
@@ -8,5 +8,5 @@ if(EXISTS 
"${CMAKE_CURRENT_SOURCE_DIR}/${GENERATOR_TYPE}/${RunCMake_TEST}-specif
   include("${GENERATOR_TYPE}/${RunCMake_TEST}-specifics.cmake")
 endif()
 
-set(CPACK_GENERATOR "${GENERATOR_TYPE}")
+set(CPACK_GENERATOR "${GENERATOR_TYPE};TGZ")
 include(CPack)
diff --git a/Tests/RunCMake/CPack/COMPONENTS_EMPTY_DIR.cmake 
b/Tests/RunCMake/CPack/COMPONENTS_EMPTY_DIR.cmake
new file mode 100644
index 0000000..7210e7d
--- /dev/null
+++ b/Tests/RunCMake/CPack/COMPONENTS_EMPTY_DIR.cmake
@@ -0,0 +1,5 @@
+set(CPACK_COMPONENTS_ALL test)
+install(DIRECTORY DESTINATION empty
+        COMPONENT test)
+
+set(CPACK_PACKAGE_NAME "components_empty_dir")
diff --git a/Tests/RunCMake/CPack/DEB/COMPONENTS_EMPTY_DIR-ExpectedFiles.cmake 
b/Tests/RunCMake/CPack/DEB/COMPONENTS_EMPTY_DIR-ExpectedFiles.cmake
new file mode 100644
index 0000000..5adca68
--- /dev/null
+++ b/Tests/RunCMake/CPack/DEB/COMPONENTS_EMPTY_DIR-ExpectedFiles.cmake
@@ -0,0 +1,5 @@
+set(whitespaces_ "[\t\n\r ]*")
+
+set(EXPECTED_FILES_COUNT "1")
+set(EXPECTED_FILE_1 "components_empty_dir*.deb")
+set(EXPECTED_FILE_CONTENT_1 "^.*/usr/${whitespaces_}.*/usr/empty/$")
diff --git a/Tests/RunCMake/CPack/DEB/COMPONENTS_EMPTY_DIR-specifics.cmake 
b/Tests/RunCMake/CPack/DEB/COMPONENTS_EMPTY_DIR-specifics.cmake
new file mode 100644
index 0000000..2720fe9
--- /dev/null
+++ b/Tests/RunCMake/CPack/DEB/COMPONENTS_EMPTY_DIR-specifics.cmake
@@ -0,0 +1,2 @@
+set(CPACK_PACKAGE_CONTACT "someone")
+set(CPACK_DEB_COMPONENT_INSTALL "ON")
diff --git a/Tests/RunCMake/CPack/DEB/EMPTY_DIR-ExpectedFiles.cmake 
b/Tests/RunCMake/CPack/DEB/EMPTY_DIR-ExpectedFiles.cmake
new file mode 100644
index 0000000..1552a36
--- /dev/null
+++ b/Tests/RunCMake/CPack/DEB/EMPTY_DIR-ExpectedFiles.cmake
@@ -0,0 +1,5 @@
+set(whitespaces_ "[\t\n\r ]*")
+
+set(EXPECTED_FILES_COUNT "1")
+set(EXPECTED_FILE_1 "empty_dir*.deb")
+set(EXPECTED_FILE_CONTENT_1 "^.*/usr/${whitespaces_}.*/usr/empty/$")
diff --git a/Tests/RunCMake/CPack/DEB/EMPTY_DIR-specifics.cmake 
b/Tests/RunCMake/CPack/DEB/EMPTY_DIR-specifics.cmake
new file mode 100644
index 0000000..8821ab9
--- /dev/null
+++ b/Tests/RunCMake/CPack/DEB/EMPTY_DIR-specifics.cmake
@@ -0,0 +1 @@
+set(CPACK_PACKAGE_CONTACT "someone")
diff --git a/Tests/RunCMake/CPack/EMPTY_DIR.cmake 
b/Tests/RunCMake/CPack/EMPTY_DIR.cmake
new file mode 100644
index 0000000..023ba17
--- /dev/null
+++ b/Tests/RunCMake/CPack/EMPTY_DIR.cmake
@@ -0,0 +1,4 @@
+install(DIRECTORY DESTINATION empty
+        COMPONENT test)
+
+set(CPACK_PACKAGE_NAME "empty_dir")
diff --git a/Tests/RunCMake/CPack/RPM/COMPONENTS_EMPTY_DIR-ExpectedFiles.cmake 
b/Tests/RunCMake/CPack/RPM/COMPONENTS_EMPTY_DIR-ExpectedFiles.cmake
new file mode 100644
index 0000000..d396276
--- /dev/null
+++ b/Tests/RunCMake/CPack/RPM/COMPONENTS_EMPTY_DIR-ExpectedFiles.cmake
@@ -0,0 +1,5 @@
+set(whitespaces_ "[\t\n\r ]*")
+
+set(EXPECTED_FILES_COUNT "1")
+set(EXPECTED_FILE_1 "components_empty_dir*.rpm")
+set(EXPECTED_FILE_CONTENT_1 "^/usr/empty$")
diff --git a/Tests/RunCMake/CPack/RPM/COMPONENTS_EMPTY_DIR-stderr.txt 
b/Tests/RunCMake/CPack/RPM/COMPONENTS_EMPTY_DIR-stderr.txt
new file mode 100644
index 0000000..6ddca12
--- /dev/null
+++ b/Tests/RunCMake/CPack/RPM/COMPONENTS_EMPTY_DIR-stderr.txt
@@ -0,0 +1 @@
+^CPackRPM: Will use GENERATED spec file: 
.*/Tests/RunCMake/RPM/CPack/COMPONENTS_EMPTY_DIR-build/_CPack_Packages/.*/RPM/SPECS/components_empty_dir.spec$
diff --git a/Tests/RunCMake/CPack/RPM/EMPTY_DIR-ExpectedFiles.cmake 
b/Tests/RunCMake/CPack/RPM/EMPTY_DIR-ExpectedFiles.cmake
new file mode 100644
index 0000000..0c2977f
--- /dev/null
+++ b/Tests/RunCMake/CPack/RPM/EMPTY_DIR-ExpectedFiles.cmake
@@ -0,0 +1,5 @@
+set(whitespaces_ "[\t\n\r ]*")
+
+set(EXPECTED_FILES_COUNT "1")
+set(EXPECTED_FILE_1 "empty_dir*.rpm")
+set(EXPECTED_FILE_CONTENT_1 "^/usr/empty$")
diff --git a/Tests/RunCMake/CPack/RPM/EMPTY_DIR-stderr.txt 
b/Tests/RunCMake/CPack/RPM/EMPTY_DIR-stderr.txt
new file mode 100644
index 0000000..1777aa0
--- /dev/null
+++ b/Tests/RunCMake/CPack/RPM/EMPTY_DIR-stderr.txt
@@ -0,0 +1 @@
+^CPackRPM: Will use GENERATED spec file: 
.*/Tests/RunCMake/RPM/CPack/EMPTY_DIR-build/_CPack_Packages/.*/RPM/SPECS/empty_dir.spec$
diff --git a/Tests/RunCMake/CPack/RunCMakeTest.cmake 
b/Tests/RunCMake/CPack/RunCMakeTest.cmake
index 3e5714d..89673c2 100644
--- a/Tests/RunCMake/CPack/RunCMakeTest.cmake
+++ b/Tests/RunCMake/CPack/RunCMakeTest.cmake
@@ -8,3 +8,5 @@ run_cpack_test(MINIMAL "RPM;DEB" false)
 run_cpack_test(PARTIALLY_RELOCATABLE_WARNING "RPM" false)
 run_cpack_test(DEB_EXTRA "DEB" false)
 run_cpack_test(DEPENDENCIES "RPM;DEB" true)
+run_cpack_test(EMPTY_DIR "RPM;DEB" true)
+run_cpack_test(COMPONENTS_EMPTY_DIR "RPM;DEB" true)

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=47b060aee0871bdb5fea63b398a1f1cb07fa3b37
commit 47b060aee0871bdb5fea63b398a1f1cb07fa3b37
Author:     Raffi Enficiaud <raffi.enfici...@mines-paris.org>
AuthorDate: Tue Sep 22 01:57:44 2015 +0200
Commit:     Domen Vrankar <domen.vran...@gmail.com>
CommitDate: Tue Sep 22 01:57:44 2015 +0200

    CPackDeb: allow empty directories in component packages

diff --git a/Source/CPack/cmCPackDebGenerator.cxx 
b/Source/CPack/cmCPackDebGenerator.cxx
index 5cdab52..93c94e2 100644
--- a/Source/CPack/cmCPackDebGenerator.cxx
+++ b/Source/CPack/cmCPackDebGenerator.cxx
@@ -95,6 +95,7 @@ int cmCPackDebGenerator::PackageOnePack(std::string 
initialTopLevel,
   std::string findExpr(this->GetOption("GEN_WDIR"));
   findExpr += "/*";
   gl.RecurseOn();
+  gl.SetRecurseListDirs(true);
   if ( !gl.FindFiles(findExpr) )
     {
     cmCPackLogger(cmCPackLog::LOG_ERROR,
@@ -222,6 +223,7 @@ int cmCPackDebGenerator::PackageComponentsAllInOne()
   std::string findExpr(this->GetOption("GEN_WDIR"));
   findExpr += "/*";
   gl.RecurseOn();
+  gl.SetRecurseListDirs(true);
   if ( !gl.FindFiles(findExpr) )
     {
     cmCPackLogger(cmCPackLog::LOG_ERROR,
diff --git a/Tests/CPackComponentsDEB/CMakeLists.txt 
b/Tests/CPackComponentsDEB/CMakeLists.txt
index 98ed911..093b23f 100644
--- a/Tests/CPackComponentsDEB/CMakeLists.txt
+++ b/Tests/CPackComponentsDEB/CMakeLists.txt
@@ -110,9 +110,8 @@ install(FILES ${CPackComponentsDEB_BINARY_DIR}/symtest
 if(EXISTS "./dirtest")
   execute_process(COMMAND ${CMAKE_COMMAND} -E remove_directory ./dirtest)
 endif()
+# NOTE: directory left empty on purpose
 execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ./dirtest)
-# BUG: apparently cannot add an empty directory
-execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink ../mylibapp 
./dirtest/symtest)
 # NOTE: we should not add the trailing "/" to dirtest
 install(DIRECTORY ${CPackComponentsDEB_BINARY_DIR}/dirtest
         DESTINATION bin/

-----------------------------------------------------------------------

Summary of changes:
 Help/release/dev/cpack-package-empty-dirs.rts      |    4 ++++
 Source/CPack/cmCPackDebGenerator.cxx               |    2 ++
 Source/CPack/cmCPackGenerator.cxx                  |    5 +++++
 Source/cmSystemTools.cxx                           |   21 ++++++++++++++++++++
 Tests/CPackComponentsDEB/CMakeLists.txt            |    3 +--
 Tests/RunCMake/CPack/CMakeLists.txt                |    2 +-
 Tests/RunCMake/CPack/COMPONENTS_EMPTY_DIR.cmake    |    5 +++++
 .../DEB/COMPONENTS_EMPTY_DIR-ExpectedFiles.cmake   |    5 +++++
 .../CPack/DEB/COMPONENTS_EMPTY_DIR-specifics.cmake |    2 ++
 .../CPack/DEB/EMPTY_DIR-ExpectedFiles.cmake        |    5 +++++
 ...L-specifics.cmake => EMPTY_DIR-specifics.cmake} |    0
 Tests/RunCMake/CPack/EMPTY_DIR.cmake               |    4 ++++
 .../RPM/COMPONENTS_EMPTY_DIR-ExpectedFiles.cmake   |    5 +++++
 .../CPack/RPM/COMPONENTS_EMPTY_DIR-stderr.txt      |    1 +
 .../CPack/RPM/EMPTY_DIR-ExpectedFiles.cmake        |    5 +++++
 Tests/RunCMake/CPack/RPM/EMPTY_DIR-stderr.txt      |    1 +
 Tests/RunCMake/CPack/RunCMakeTest.cmake            |    2 ++
 17 files changed, 69 insertions(+), 3 deletions(-)
 create mode 100644 Help/release/dev/cpack-package-empty-dirs.rts
 create mode 100644 Tests/RunCMake/CPack/COMPONENTS_EMPTY_DIR.cmake
 create mode 100644 
Tests/RunCMake/CPack/DEB/COMPONENTS_EMPTY_DIR-ExpectedFiles.cmake
 create mode 100644 
Tests/RunCMake/CPack/DEB/COMPONENTS_EMPTY_DIR-specifics.cmake
 create mode 100644 Tests/RunCMake/CPack/DEB/EMPTY_DIR-ExpectedFiles.cmake
 copy Tests/RunCMake/CPack/DEB/{MINIMAL-specifics.cmake => 
EMPTY_DIR-specifics.cmake} (100%)
 create mode 100644 Tests/RunCMake/CPack/EMPTY_DIR.cmake
 create mode 100644 
Tests/RunCMake/CPack/RPM/COMPONENTS_EMPTY_DIR-ExpectedFiles.cmake
 create mode 100644 Tests/RunCMake/CPack/RPM/COMPONENTS_EMPTY_DIR-stderr.txt
 create mode 100644 Tests/RunCMake/CPack/RPM/EMPTY_DIR-ExpectedFiles.cmake
 create mode 100644 Tests/RunCMake/CPack/RPM/EMPTY_DIR-stderr.txt


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

Reply via email to