[Cmake-commits] CMake branch, next, updated. v2.8.8-3358-g809e8c6

Peter Kuemmel syntheticpp at gmx.net
Tue Jul 3 09:07:05 EDT 2012


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  809e8c6954a42dcf12323df0f42c8f6f4eeb2091 (commit)
       via  ed258c354c22f313b97079ca87fad46fa6f69c91 (commit)
       via  f1d0e47c06d271c8d88cee5a812f8bc320cddef0 (commit)
      from  e4582fce9e972c56314184add8c06d8586977c8b (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=809e8c6954a42dcf12323df0f42c8f6f4eeb2091
commit 809e8c6954a42dcf12323df0f42c8f6f4eeb2091
Merge: e4582fc ed258c3
Author:     Peter Kuemmel <syntheticpp at gmx.net>
AuthorDate: Tue Jul 3 09:07:01 2012 -0400
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Tue Jul 3 09:07:01 2012 -0400

    Merge topic 'ninja-fixes' into next
    
    ed258c3 Ninja: add soname test case
    f1d0e47 Ninja: Clean all symlink created for libraries.


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ed258c354c22f313b97079ca87fad46fa6f69c91
commit ed258c354c22f313b97079ca87fad46fa6f69c91
Author:     Peter Kuemmel <syntheticpp at gmx.net>
AuthorDate: Tue Jul 3 15:01:06 2012 +0200
Commit:     Peter Kuemmel <syntheticpp at gmx.net>
CommitDate: Tue Jul 3 15:06:28 2012 +0200

    Ninja: add soname test case

diff --git a/Tests/LibName/CMakeLists.txt b/Tests/LibName/CMakeLists.txt
index 3dca0b0..07499a1 100644
--- a/Tests/LibName/CMakeLists.txt
+++ b/Tests/LibName/CMakeLists.txt
@@ -3,11 +3,24 @@ project(LibName)
 # LIBRARY_OUTPUT_PATH and EXECUTABLE_OUTPUT_PATH work
 set(LIBRARY_OUTPUT_PATH  lib)
 set(EXECUTABLE_OUTPUT_PATH lib)
+
 add_library(bar SHARED bar.c)
+
 add_library(foo SHARED foo.c)
 target_link_libraries(foo bar)
+
 add_executable(foobar foobar.c)
 target_link_libraries(foobar foo)
 IF(UNIX)
   target_link_libraries(foobar -L/usr/local/lib)
 ENDIF(UNIX)
+
+
+# check with lib version
+
+add_library(verFoo SHARED foo.c)
+target_link_libraries(verFoo bar)
+set_target_properties(verFoo PROPERTIES VERSION 3.1.4 SOVERSION 3)
+
+add_executable(verFoobar foobar.c)
+target_link_libraries(verFoobar verFoo)

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f1d0e47c06d271c8d88cee5a812f8bc320cddef0
commit f1d0e47c06d271c8d88cee5a812f8bc320cddef0
Author:     Nicolas Despres <nicolas.despres at gmail.com>
AuthorDate: Mon Apr 2 12:35:55 2012 +0200
Commit:     Peter Kuemmel <syntheticpp at gmx.net>
CommitDate: Tue Jul 3 14:58:48 2012 +0200

    Ninja: Clean all symlink created for libraries.
    
    'ninja -t clean' only cleans built output and dep files so all file
    created as a side effect and not mentioned in the 'build' statement
    would be omitted.

diff --git a/Source/cmNinjaNormalTargetGenerator.cxx b/Source/cmNinjaNormalTargetGenerator.cxx
index 6befb05..4787cb3 100644
--- a/Source/cmNinjaNormalTargetGenerator.cxx
+++ b/Source/cmNinjaNormalTargetGenerator.cxx
@@ -508,11 +508,20 @@ void cmNinjaNormalTargetGenerator::WriteLinkStatement()
                                          emptyDeps,
                                          symlinkVars);
     } else {
-      symlinkVars["SONAME"] = this->GetTargetFilePath(this->TargetNameSO);
+      cmNinjaDeps outputs;
+      const std::string soName = this->GetTargetFilePath(this->TargetNameSO);
+      // If one link has to be created.
+      if (targetOutputReal == soName || targetOutput == soName) {
+        symlinkVars["SONAME"] = soName;
+      } else {
+        symlinkVars["SONAME"] = "";
+        outputs.push_back(soName);
+      }
+      outputs.push_back(targetOutput);
       cmGlobalNinjaGenerator::WriteBuild(this->GetBuildFileStream(),
                                       "Create library symlink " + targetOutput,
                                          "CMAKE_SYMLINK_LIBRARY",
-                                         cmNinjaDeps(1, targetOutput),
+                                         outputs,
                                          cmNinjaDeps(1, targetOutputReal),
                                          emptyDeps,
                                          emptyDeps,

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

Summary of changes:
 Source/cmNinjaNormalTargetGenerator.cxx |   13 +++++++++++--
 Tests/LibName/CMakeLists.txt            |   13 +++++++++++++
 2 files changed, 24 insertions(+), 2 deletions(-)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list