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  8de2b07c14c1e1a6d7fea6473be4c31b67f9088f (commit)
       via  ba21786e4873d3dcedf4348283f0fb8f8e15faa6 (commit)
      from  8d32f9302671f3ff0378998154c6c5ec800f33d1 (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=8de2b07c14c1e1a6d7fea6473be4c31b67f9088f
commit 8de2b07c14c1e1a6d7fea6473be4c31b67f9088f
Merge: 8d32f93 ba21786
Author:     Stephen Kelly <steve...@gmail.com>
AuthorDate: Tue Dec 10 19:38:58 2013 -0500
Commit:     CMake Topic Stage <kwro...@kitware.com>
CommitDate: Tue Dec 10 19:38:58 2013 -0500

    Merge topic 'GenerateExportHeader-tests' into next
    
    ba21786 Speed up the GenerateExportHeader unit test (#14453).


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ba21786e4873d3dcedf4348283f0fb8f8e15faa6
commit ba21786e4873d3dcedf4348283f0fb8f8e15faa6
Author:     Stephen Kelly <steve...@gmail.com>
AuthorDate: Wed Dec 11 01:01:50 2013 +0100
Commit:     Stephen Kelly <steve...@gmail.com>
CommitDate: Wed Dec 11 01:36:38 2013 +0100

    Speed up the GenerateExportHeader unit test (#14453).
    
    Instead of running many small tests with many cmake projects, simply
    compare the generated export header against a reference.

diff --git a/Tests/Module/GenerateExportHeader/CMakeLists.txt 
b/Tests/Module/GenerateExportHeader/CMakeLists.txt
index 09f1881..dc1d7f2 100644
--- a/Tests/Module/GenerateExportHeader/CMakeLists.txt
+++ b/Tests/Module/GenerateExportHeader/CMakeLists.txt
@@ -159,13 +159,11 @@ macro(macro_add_test_library name)
             ${${name}_BINARY_DIR} # For the export header.
   )
   list(APPEND link_libraries ${name})
-  add_subdirectory(${name}test)
 endmacro()
 
 macro_add_test_library(libshared)
 macro_add_test_library(libstatic)
 add_subdirectory(lib_shared_and_static)
-add_subdirectory(lib_shared_and_statictest)
 
 add_subdirectory(override_symbol)
 add_subdirectory(nodeprecated)
@@ -175,7 +173,6 @@ if(NOT BORLAND)
 endif()
 
 if (CMAKE_COMPILER_IS_GNUCXX OR (${CMAKE_CXX_COMPILER_ID} MATCHES Clang))
-  # We deliberately call deprecated methods, and test for that elsewhere.
   # No need to clutter the test output with warnings.
   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated-declarations")
 endif()
@@ -187,3 +184,13 @@ endif()
 add_executable(GenerateExportHeader exportheader_test.cpp)
 
 target_link_libraries(GenerateExportHeader ${link_libraries})
+if (WIN32)
+  set(_platform Win32)
+else()
+  set(_platform UNIX)
+endif()
+target_compile_definitions(GenerateExportHeader
+  PRIVATE
+    SRC_DIR="${CMAKE_CURRENT_SOURCE_DIR}/reference/${_platform}"
+    BIN_DIR="${CMAKE_CURRENT_BINARY_DIR}"
+)
diff --git a/Tests/Module/GenerateExportHeader/exportheader_test.cpp 
b/Tests/Module/GenerateExportHeader/exportheader_test.cpp
index 55c3c1a..ad6f351 100644
--- a/Tests/Module/GenerateExportHeader/exportheader_test.cpp
+++ b/Tests/Module/GenerateExportHeader/exportheader_test.cpp
@@ -11,6 +11,52 @@
 #define DOES_NOT_BUILD(function) function
 #endif
 
+#include <fstream>
+#include <iostream>
+#include <cstdlib>
+#include <string>
+
+void compare(const char* refName, const char* testName)
+{
+  std::ifstream ref;
+  ref.open(refName);
+  if (!ref.is_open())
+    {
+    std::cout << "Could not open \"" << refName << "\"." << std::endl;
+    std::exit(1);
+    }
+  std::ifstream test;
+  test.open(testName);
+  if (!test.is_open())
+    {
+    std::cout << "Could not open \"" << testName << "\"." << std::endl;
+    exit(1);
+    }
+
+  while (!ref.eof() && !test.eof())
+    {
+    std::string refLine;
+    std::string testLine;
+    getline(ref, refLine);
+    getline(test, testLine);
+    if (testLine.size() && testLine[testLine.size()-1] == ' ')
+      {
+      testLine = testLine.substr(0, testLine.size() - 1);
+      }
+    if (refLine != testLine)
+      {
+      std::cout << "Ref and test are not the same:\n  Ref:  \""
+                          << refLine << "\"\n  Test: \"" << testLine << "\"\n";
+      exit(1);
+      }
+    }
+  if (!ref.eof() || !test.eof())
+    {
+    std::cout << "Ref and test have differing numbers of lines.";
+    exit(1);
+    }
+}
+
 int main()
 {
   {
@@ -78,5 +124,10 @@ int main()
   libstatic_not_exported();
   libstatic_excluded();
 
+  compare(SRC_DIR "/libshared_export.h",
+          BIN_DIR "/libshared/libshared_export.h");
+  compare(SRC_DIR "/libstatic_export.h",
+          BIN_DIR "/libstatic/libstatic_export.h");
+
   return 0;
 }
diff --git 
a/Tests/Module/GenerateExportHeader/lib_shared_and_statictest/CMakeLists.txt 
b/Tests/Module/GenerateExportHeader/lib_shared_and_statictest/CMakeLists.txt
deleted file mode 100644
index 207534d..0000000
--- a/Tests/Module/GenerateExportHeader/lib_shared_and_statictest/CMakeLists.txt
+++ /dev/null
@@ -1,33 +0,0 @@
-
-macro(shared_variant_build_pass Source Message)
-  build_pass("libshared_and_static.h" "shared_variant" "lib_shared_and_static" 
"${Source}" ${Message})
-endmacro()
-
-macro(shared_variant_build_fail Source Message)
-  build_fail("libshared_and_static.h" "shared_variant" "lib_shared_and_static" 
"${Source}" ${Message})
-endmacro()
-
-macro(static_variant_build_pass Source Message)
-  build_pass("libshared_and_static.h" "static_variant" "lib_shared_and_static" 
"${Source}" ${Message})
-endmacro()
-
-macro(static_variant_build_fail Source Message)
-  build_fail("libshared_and_static.h" "static_variant" "lib_shared_and_static" 
"${Source}" ${Message})
-endmacro()
-
-static_variant_build_pass("return libshared_and_static_exported();" "Failed to 
build static variant")
-shared_variant_build_pass("return libshared_and_static_exported();" "Failed to 
build shared variant")
-# if (COMPILER_HAS_DEPRECATED)
-#   shared_variant_build_fail("return libshared_and_static_deprecated();" 
"Built shared deprecated variant")
-#   static_variant_build_fail("return libshared_and_static_deprecated();" 
"Built static deprecated variant")
-# else()
-#   shared_variant_build_pass("return libshared_and_static_deprecated();" 
"Built shared deprecated variant")
-#   static_variant_build_pass("return libshared_and_static_deprecated();" 
"Built static deprecated variant")
-# endif()
-static_variant_build_pass("return libshared_and_static_not_exported();" 
"Failed to build static not exported variant")
-
-if (WIN32 OR COMPILER_HAS_HIDDEN_VISIBILITY)
-  shared_variant_build_fail("return libshared_and_static_not_exported();" 
"Built shared not exported variant")
-else()
-  shared_variant_build_pass("return libshared_and_static_not_exported();" 
"Built shared not exported variant")
-endif()
diff --git a/Tests/Module/GenerateExportHeader/libsharedtest/CMakeLists.txt 
b/Tests/Module/GenerateExportHeader/libsharedtest/CMakeLists.txt
deleted file mode 100644
index 2a97d8f..0000000
--- a/Tests/Module/GenerateExportHeader/libsharedtest/CMakeLists.txt
+++ /dev/null
@@ -1,45 +0,0 @@
-
-macro(shared_build_pass Source Message)
-    build_pass("libshared.h" "libshared" "libshared" "${Source}" ${Message})
-endmacro()
-
-macro(shared_build_fail Source Message)
-    build_fail("libshared.h" "libshared" "libshared" "${Source}" ${Message})
-endmacro()
-
-shared_build_pass("Libshared l; return l.libshared_exported();" "Failed to 
build exported")
-shared_build_pass("return libshared_exported();" "Failed to build exported 
function.")
-
-# if (COMPILER_HAS_DEPRECATED)
-#   shared_build_fail("Libshared l; return l.libshared_deprecated();" "Built 
use of deprecated class method. This should not be possible.")
-# else()
-#   shared_build_pass("Libshared l; return l.libshared_deprecated();" "Built 
use of deprecated class method. This should not be possible.")
-# endif()
-if (COMPILER_HAS_HIDDEN_VISIBILITY)
-  shared_build_fail("Libshared l; return l.libshared_excluded();" "Built use 
of excluded class method. This should not be possible.")
-else()
-  # There is no MSVC equivalent to hiding symbols.
-  shared_build_pass("Libshared l; return l.libshared_excluded();" "Built use 
of excluded class method. This is possible on MSVC.")
-endif()
-
-if (WIN32 OR COMPILER_HAS_HIDDEN_VISIBILITY)
-  shared_build_fail("LibsharedNotExported l; return l.libshared();" "Built use 
of not-exported class method. This should not be possible.")
-  shared_build_fail("LibsharedNotExported l; return 
l.libshared_not_exported();" "Built use of not-exported class method. This 
should not be possible.")
-  shared_build_fail("LibsharedNotExported l; return l.libshared_excluded();" 
"Built use of not-exported class method. This should not be possible.")
-  shared_build_fail("LibsharedExcluded l; return l.libshared();" "Built use of 
excluded class method. This should not be possible.")
-  shared_build_fail("LibsharedExcluded l; return l.libshared_not_exported();" 
"Built use of excluded class method. This should not be possible.")
-  shared_build_fail("LibsharedExcluded l; return l.libshared_excluded();" 
"Built use of excluded class method. This should not be possible.")
-
-  shared_build_fail("return libshared_excluded();" "Built use of excluded 
function. This should not be possible.")
-  shared_build_fail("return libshared_not_exported();" "Built use of 
not-exported function. This should not be possible.")
-else()
-  shared_build_pass("LibsharedNotExported l; return l.libshared();" "Built use 
of not-exported class method.")
-  shared_build_pass("LibsharedNotExported l; return 
l.libshared_not_exported();" "Built use of not-exported class method.")
-  shared_build_pass("LibsharedNotExported l; return l.libshared_excluded();" 
"Built use of not-exported class method.")
-  shared_build_pass("LibsharedExcluded l; return l.libshared();" "Built use of 
excluded class method.")
-  shared_build_pass("LibsharedExcluded l; return l.libshared_not_exported();" 
"Built use of excluded class method.")
-  shared_build_pass("LibsharedExcluded l; return l.libshared_excluded();" 
"Built use of excluded class method.")
-
-  shared_build_pass("return libshared_excluded();" "Built use of excluded 
function.")
-  shared_build_pass("return libshared_not_exported();" "Built use of 
not-exported function.")
-endif()
diff --git a/Tests/Module/GenerateExportHeader/libstatictest/CMakeLists.txt 
b/Tests/Module/GenerateExportHeader/libstatictest/CMakeLists.txt
deleted file mode 100644
index eb6bb87..0000000
--- a/Tests/Module/GenerateExportHeader/libstatictest/CMakeLists.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-
-macro(static_build_pass Source Message)
-  build_pass("libstatic.h" "libstatic" "libstatic" "${Source}" ${Message})
-endmacro()
-
-macro(static_build_fail Source Message)
-  build_fail("libstatic.h" "libstatic" "libstatic" "${Source}" ${Message})
-endmacro()
-
-static_build_pass("Libstatic l; return l.libstatic_exported();" "Failed to 
build exported.")
-
-# if (COMPILER_HAS_DEPRECATED)
-#   static_build_fail("Libstatic l; return l.libstatic_deprecated();" "Built 
use of deprecated class method. This should not be possible.")
-#   static_build_fail("libstatic_deprecated();" "Built use of deprecated 
function. This should not be possible.")
-# else()
-#   static_build_pass("Libstatic l; return l.libstatic_deprecated();" "Built 
use of deprecated class method. This should not be possible.")
-#   static_build_pass("libstatic_deprecated();" "Built use of deprecated 
function. This should not be possible.")
-# endif()
diff --git 
a/Tests/Module/GenerateExportHeader/reference/UNIX/libshared_export.h 
b/Tests/Module/GenerateExportHeader/reference/UNIX/libshared_export.h
new file mode 100644
index 0000000..7d8087f
--- /dev/null
+++ b/Tests/Module/GenerateExportHeader/reference/UNIX/libshared_export.h
@@ -0,0 +1,41 @@
+
+#ifndef LIBSHARED_EXPORT_H
+#define LIBSHARED_EXPORT_H
+
+#ifdef LIBSHARED_STATIC_DEFINE
+#  define LIBSHARED_EXPORT
+#  define LIBSHARED_NO_EXPORT
+#else
+#  ifndef LIBSHARED_EXPORT
+#    ifdef libshared_EXPORTS
+        /* We are building this library */
+#      define LIBSHARED_EXPORT __attribute__((visibility("default")))
+#    else
+        /* We are using this library */
+#      define LIBSHARED_EXPORT __attribute__((visibility("default")))
+#    endif
+#  endif
+
+#  ifndef LIBSHARED_NO_EXPORT
+#    define LIBSHARED_NO_EXPORT __attribute__((visibility("hidden")))
+#  endif
+#endif
+
+#ifndef LIBSHARED_DEPRECATED
+#  define LIBSHARED_DEPRECATED __attribute__ ((__deprecated__))
+#endif
+
+#ifndef LIBSHARED_DEPRECATED_EXPORT
+#  define LIBSHARED_DEPRECATED_EXPORT LIBSHARED_EXPORT LIBSHARED_DEPRECATED
+#endif
+
+#ifndef LIBSHARED_DEPRECATED_NO_EXPORT
+#  define LIBSHARED_DEPRECATED_NO_EXPORT LIBSHARED_NO_EXPORT 
LIBSHARED_DEPRECATED
+#endif
+
+#define DEFINE_NO_DEPRECATED 0
+#if DEFINE_NO_DEPRECATED
+# define LIBSHARED_NO_DEPRECATED
+#endif
+
+#endif
diff --git 
a/Tests/Module/GenerateExportHeader/reference/UNIX/libstatic_export.h 
b/Tests/Module/GenerateExportHeader/reference/UNIX/libstatic_export.h
new file mode 100644
index 0000000..fd021e9
--- /dev/null
+++ b/Tests/Module/GenerateExportHeader/reference/UNIX/libstatic_export.h
@@ -0,0 +1,41 @@
+
+#ifndef LIBSTATIC_EXPORT_H
+#define LIBSTATIC_EXPORT_H
+
+#ifdef LIBSTATIC_STATIC_DEFINE
+#  define LIBSTATIC_EXPORT
+#  define LIBSTATIC_NO_EXPORT
+#else
+#  ifndef LIBSTATIC_EXPORT
+#    ifdef libstatic_EXPORTS
+        /* We are building this library */
+#      define LIBSTATIC_EXPORT
+#    else
+        /* We are using this library */
+#      define LIBSTATIC_EXPORT
+#    endif
+#  endif
+
+#  ifndef LIBSTATIC_NO_EXPORT
+#    define LIBSTATIC_NO_EXPORT
+#  endif
+#endif
+
+#ifndef LIBSTATIC_DEPRECATED
+#  define LIBSTATIC_DEPRECATED __attribute__ ((__deprecated__))
+#endif
+
+#ifndef LIBSTATIC_DEPRECATED_EXPORT
+#  define LIBSTATIC_DEPRECATED_EXPORT LIBSTATIC_EXPORT LIBSTATIC_DEPRECATED
+#endif
+
+#ifndef LIBSTATIC_DEPRECATED_NO_EXPORT
+#  define LIBSTATIC_DEPRECATED_NO_EXPORT LIBSTATIC_NO_EXPORT 
LIBSTATIC_DEPRECATED
+#endif
+
+#define DEFINE_NO_DEPRECATED 0
+#if DEFINE_NO_DEPRECATED
+# define LIBSTATIC_NO_DEPRECATED
+#endif
+
+#endif
diff --git 
a/Tests/Module/GenerateExportHeader/reference/Win32/libshared_export.h 
b/Tests/Module/GenerateExportHeader/reference/Win32/libshared_export.h
new file mode 100644
index 0000000..976c92e
--- /dev/null
+++ b/Tests/Module/GenerateExportHeader/reference/Win32/libshared_export.h
@@ -0,0 +1,41 @@
+
+#ifndef LIBSHARED_EXPORT_H
+#define LIBSHARED_EXPORT_H
+
+#ifdef LIBSHARED_STATIC_DEFINE
+#  define LIBSHARED_EXPORT
+#  define LIBSHARED_NO_EXPORT
+#else
+#  ifndef LIBSHARED_EXPORT
+#    ifdef libshared_EXPORTS
+        /* We are building this library */
+#      define LIBSHARED_EXPORT __declspec(dllexport)
+#    else
+        /* We are using this library */
+#      define LIBSHARED_EXPORT __declspec(dllimport)
+#    endif
+#  endif
+
+#  ifndef LIBSHARED_NO_EXPORT
+#    define LIBSHARED_NO_EXPORT
+#  endif
+#endif
+
+#ifndef LIBSHARED_DEPRECATED
+#  define LIBSHARED_DEPRECATED __declspec(deprecated)
+#endif
+
+#ifndef LIBSHARED_DEPRECATED_EXPORT
+#  define LIBSHARED_DEPRECATED_EXPORT LIBSHARED_EXPORT LIBSHARED_DEPRECATED
+#endif
+
+#ifndef LIBSHARED_DEPRECATED_NO_EXPORT
+#  define LIBSHARED_DEPRECATED_NO_EXPORT LIBSHARED_NO_EXPORT 
LIBSHARED_DEPRECATED
+#endif
+
+#define DEFINE_NO_DEPRECATED 0
+#if DEFINE_NO_DEPRECATED
+# define LIBSHARED_NO_DEPRECATED
+#endif
+
+#endif
diff --git 
a/Tests/Module/GenerateExportHeader/reference/Win32/libstatic_export.h 
b/Tests/Module/GenerateExportHeader/reference/Win32/libstatic_export.h
new file mode 100644
index 0000000..db4df61
--- /dev/null
+++ b/Tests/Module/GenerateExportHeader/reference/Win32/libstatic_export.h
@@ -0,0 +1,41 @@
+
+#ifndef LIBSTATIC_EXPORT_H
+#define LIBSTATIC_EXPORT_H
+
+#ifdef LIBSTATIC_STATIC_DEFINE
+#  define LIBSTATIC_EXPORT
+#  define LIBSTATIC_NO_EXPORT
+#else
+#  ifndef LIBSTATIC_EXPORT
+#    ifdef libstatic_EXPORTS
+        /* We are building this library */
+#      define LIBSTATIC_EXPORT
+#    else
+        /* We are using this library */
+#      define LIBSTATIC_EXPORT
+#    endif
+#  endif
+
+#  ifndef LIBSTATIC_NO_EXPORT
+#    define LIBSTATIC_NO_EXPORT
+#  endif
+#endif
+
+#ifndef LIBSTATIC_DEPRECATED
+#  define LIBSTATIC_DEPRECATED __declspec(deprecated)
+#endif
+
+#ifndef LIBSTATIC_DEPRECATED_EXPORT
+#  define LIBSTATIC_DEPRECATED_EXPORT LIBSTATIC_EXPORT LIBSTATIC_DEPRECATED
+#endif
+
+#ifndef LIBSTATIC_DEPRECATED_NO_EXPORT
+#  define LIBSTATIC_DEPRECATED_NO_EXPORT LIBSTATIC_NO_EXPORT 
LIBSTATIC_DEPRECATED
+#endif
+
+#define DEFINE_NO_DEPRECATED 0
+#if DEFINE_NO_DEPRECATED
+# define LIBSTATIC_NO_DEPRECATED
+#endif
+
+#endif

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

Summary of changes:
 Tests/Module/GenerateExportHeader/CMakeLists.txt   |   13 ++++-
 .../GenerateExportHeader/exportheader_test.cpp     |   51 ++++++++++++++++++++
 .../lib_shared_and_statictest/CMakeLists.txt       |   33 -------------
 .../libsharedtest/CMakeLists.txt                   |   45 -----------------
 .../libstatictest/CMakeLists.txt                   |   18 -------
 .../reference/UNIX/libshared_export.h              |   41 ++++++++++++++++
 .../reference/UNIX/libstatic_export.h              |   41 ++++++++++++++++
 .../reference/Win32/libshared_export.h             |   41 ++++++++++++++++
 .../reference/Win32/libstatic_export.h             |   41 ++++++++++++++++
 9 files changed, 225 insertions(+), 99 deletions(-)
 delete mode 100644 
Tests/Module/GenerateExportHeader/lib_shared_and_statictest/CMakeLists.txt
 delete mode 100644 
Tests/Module/GenerateExportHeader/libsharedtest/CMakeLists.txt
 delete mode 100644 
Tests/Module/GenerateExportHeader/libstatictest/CMakeLists.txt
 create mode 100644 
Tests/Module/GenerateExportHeader/reference/UNIX/libshared_export.h
 create mode 100644 
Tests/Module/GenerateExportHeader/reference/UNIX/libstatic_export.h
 create mode 100644 
Tests/Module/GenerateExportHeader/reference/Win32/libshared_export.h
 create mode 100644 
Tests/Module/GenerateExportHeader/reference/Win32/libstatic_export.h


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

Reply via email to