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