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  927ab805e5a07d266b272e56af52835f52f2c64f (commit)
       via  554e8273ee4a697420a3f427361f15c97813d590 (commit)
      from  467a182d46a3ff7caf822f287f947ce9ad214cde (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 -----------------------------------------------------------------
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=927ab805e5a07d266b272e56af52835f52f2c64f
commit 927ab805e5a07d266b272e56af52835f52f2c64f
Merge: 467a182 554e827
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Wed Jul 20 13:36:06 2016 -0400
Commit:     CMake Topic Stage <kwro...@kitware.com>
CommitDate: Wed Jul 20 13:36:06 2016 -0400

    Merge topic 'windows-export-all-fix-objlib' into next
    
    554e8273 VS: Fix WINDOWS_EXPORT_ALL_SYMBOLS for object libraries


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=554e8273ee4a697420a3f427361f15c97813d590
commit 554e8273ee4a697420a3f427361f15c97813d590
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Wed Jul 20 11:26:55 2016 -0400
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Wed Jul 20 13:29:14 2016 -0400

    VS: Fix WINDOWS_EXPORT_ALL_SYMBOLS for object libraries
    
    Teach Visual Studio generators to include object files from object
    libraries in the list of objects whose symbols are to be exported.
    The Makefile and Ninja generators already did this.  Update the
    test to cover this case.
    
    Reported-by: Bertrand Bellenot <bertrand.belle...@cern.ch>

diff --git a/Source/cmGlobalVisualStudioGenerator.cxx 
b/Source/cmGlobalVisualStudioGenerator.cxx
index 1bec581..7bdd74d 100644
--- a/Source/cmGlobalVisualStudioGenerator.cxx
+++ b/Source/cmGlobalVisualStudioGenerator.cxx
@@ -827,6 +827,7 @@ void cmGlobalVisualStudioGenerator::AddSymbolExportCommand(
     cmSystemTools::Error("could not open ", objs_file.c_str());
     return;
   }
+  std::vector<std::string> objs;
   for (std::vector<cmSourceFile const*>::const_iterator it =
          objectSources.begin();
        it != objectSources.end(); ++it) {
@@ -836,6 +837,12 @@ void cmGlobalVisualStudioGenerator::AddSymbolExportCommand(
     // It must exist because we populated the mapping just above.
     assert(!map_it->second.empty());
     std::string objFile = obj_dir + map_it->second;
+    objs.push_back(objFile);
+  }
+  gt->UseObjectLibraries(objs, configName);
+  for (std::vector<std::string>::iterator it = objs.begin(); it != objs.end();
+       ++it) {
+    std::string objFile = *it;
     // replace $(ConfigurationName) in the object names
     cmSystemTools::ReplaceString(objFile, this->GetCMakeCFGIntDir(),
                                  configName.c_str());
diff --git a/Tests/RunCMake/AutoExportDll/AutoExport.cmake 
b/Tests/RunCMake/AutoExportDll/AutoExport.cmake
index bdddb38..dd74a4d 100644
--- a/Tests/RunCMake/AutoExportDll/AutoExport.cmake
+++ b/Tests/RunCMake/AutoExportDll/AutoExport.cmake
@@ -2,7 +2,8 @@ project(autoexport)
 set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS TRUE)
 set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${autoexport_BINARY_DIR}/bin)
 add_subdirectory(sub)
-add_library(autoexport SHARED hello.cxx world.cxx foo.c)
+add_library(objlib OBJECT objlib.c)
+add_library(autoexport SHARED hello.cxx world.cxx foo.c 
$<TARGET_OBJECTS:objlib>)
 
 add_executable(say say.cxx)
 if(MSVC)
diff --git a/Tests/RunCMake/AutoExportDll/objlib.c 
b/Tests/RunCMake/AutoExportDll/objlib.c
new file mode 100644
index 0000000..54a9658
--- /dev/null
+++ b/Tests/RunCMake/AutoExportDll/objlib.c
@@ -0,0 +1,4 @@
+int objlib()
+{
+  return 7;
+}
diff --git a/Tests/RunCMake/AutoExportDll/say.cxx 
b/Tests/RunCMake/AutoExportDll/say.cxx
index 9ca8d31..e966b1f 100644
--- a/Tests/RunCMake/AutoExportDll/say.cxx
+++ b/Tests/RunCMake/AutoExportDll/say.cxx
@@ -11,6 +11,7 @@ extern "C" {
 int WINAPI foo();
 // test regular C
 int bar();
+int objlib();
 }
 
 // test c++ functions
@@ -39,6 +40,7 @@ int main()
   foo();
   printf("\n");
   bar();
+  objlib();
   printf("\n");
   return 0;
 }

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

Summary of changes:
 Source/cmGlobalVisualStudioGenerator.cxx      |    7 +++++++
 Tests/RunCMake/AutoExportDll/AutoExport.cmake |    3 ++-
 Tests/RunCMake/AutoExportDll/objlib.c         |    4 ++++
 Tests/RunCMake/AutoExportDll/say.cxx          |    2 ++
 4 files changed, 15 insertions(+), 1 deletion(-)
 create mode 100644 Tests/RunCMake/AutoExportDll/objlib.c


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

Reply via email to