[Cmake-commits] CMake branch, next, updated. v3.7.0-rc3-1112-g4a90a79

Brad King brad.king at kitware.com
Fri Nov 11 10:57:48 EST 2016


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  4a90a79f157764c13d1efc3f94ec59212d225bba (commit)
       via  a57e76301baf95bc4acf9a1ed50e349220b45579 (commit)
       via  013193d0b00f5a9db5440b2306548b44cbcfc21c (commit)
       via  ec1d585c43b60a8f9c7b3cb1636e831915b37eb0 (commit)
       via  4c5b3c1ceaec319163fa26a8e55eb669f11ee8a5 (commit)
       via  d0a9d8bbe60edfb7cf7569fe8162b17bba294182 (commit)
      from  dfa7535878a1f1b584139a7f3c245890cce0b2e2 (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=4a90a79f157764c13d1efc3f94ec59212d225bba
commit 4a90a79f157764c13d1efc3f94ec59212d225bba
Merge: dfa7535 a57e763
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Fri Nov 11 10:57:47 2016 -0500
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Fri Nov 11 10:57:47 2016 -0500

    Merge topic 'swig_add_library' into next
    
    a57e7630 Help: Add notes for topic 'swig_add_library'
    013193d0 SwigTest: Update for swig_add_library and add lua example
    ec1d585c UseSWIG: Do not set PREFIX property for SHARED and STATIC lua libraries
    4c5b3c1c UseSWIG: Do not set NO_SONAME property for SHARED and STATIC libraries
    d0a9d8bb UseSWIG: Add swig_add_library macro.


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a57e76301baf95bc4acf9a1ed50e349220b45579
commit a57e76301baf95bc4acf9a1ed50e349220b45579
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Fri Nov 11 10:56:25 2016 -0500
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Fri Nov 11 10:56:25 2016 -0500

    Help: Add notes for topic 'swig_add_library'

diff --git a/Help/release/dev/swig_add_library.rst b/Help/release/dev/swig_add_library.rst
new file mode 100644
index 0000000..4b7723b
--- /dev/null
+++ b/Help/release/dev/swig_add_library.rst
@@ -0,0 +1,8 @@
+swig_add_library
+----------------
+
+* The :module:`UseSWIG` module gained a ``swig_add_library`` command
+  to give more flexibility over the old ``swig_add_module`` command.
+
+* The :module:`UseSWIG` module ``swig_add_module`` command is now
+  deprecated in favor of ``swig_add_library``.

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=013193d0b00f5a9db5440b2306548b44cbcfc21c
commit 013193d0b00f5a9db5440b2306548b44cbcfc21c
Author:     Daniele E. Domenichelli <daniele.domenichelli at iit.it>
AuthorDate: Thu Nov 10 17:02:23 2016 +0100
Commit:     Daniele E. Domenichelli <daniele.domenichelli at iit.it>
CommitDate: Fri Nov 11 08:14:10 2016 +0100

    SwigTest: Update for swig_add_library and add lua example

diff --git a/Tests/SwigTest/CMakeLists.txt b/Tests/SwigTest/CMakeLists.txt
index 17a502d..65f5c93 100644
--- a/Tests/SwigTest/CMakeLists.txt
+++ b/Tests/SwigTest/CMakeLists.txt
@@ -7,6 +7,7 @@ project(example_${language}_class)
 find_package(SWIG REQUIRED)
 include(${SWIG_USE_FILE})
 
+unset(SWIG_LANG_TYPE)
 if(${language} MATCHES python)
   find_package(PythonLibs)
   include_directories(${PYTHON_INCLUDE_PATH})
@@ -38,6 +39,12 @@ if(${language} MATCHES pike)
   include_directories(${PIKE_INCLUDE_PATH})
   set(SWIG_LANG_LIBRARIES ${PIKE_LIBRARY})
 endif()
+if(${language} MATCHES lua)
+  find_package(Lua)
+  include_directories(${LUA_INCLUDE_DIR})
+  set(SWIG_LANG_TYPE TYPE SHARED)
+  set(SWIG_LANG_LIBRARIES ${LUA_LIBRARIES})
+endif()
 
 include_directories(${CMAKE_CURRENT_SOURCE_DIR})
 
@@ -45,6 +52,8 @@ set(CMAKE_SWIG_FLAGS "")
 
 set_source_files_properties(example.i PROPERTIES CPLUSPLUS ON)
 set_source_files_properties(example.i PROPERTIES SWIG_FLAGS "-includeall")
-SWIG_ADD_MODULE(example "${language}"
-  example.i example.cxx)
+SWIG_ADD_LIBRARY(example
+                 LANGUAGE "${language}"
+                 ${SWIG_LANG_TYPE}
+                 SOURCES example.i example.cxx)
 SWIG_LINK_LIBRARIES(example ${SWIG_LANG_LIBRARIES})

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ec1d585c43b60a8f9c7b3cb1636e831915b37eb0
commit ec1d585c43b60a8f9c7b3cb1636e831915b37eb0
Author:     Daniele E. Domenichelli <daniele.domenichelli at iit.it>
AuthorDate: Thu Nov 10 17:01:38 2016 +0100
Commit:     Daniele E. Domenichelli <daniele.domenichelli at iit.it>
CommitDate: Fri Nov 11 08:14:10 2016 +0100

    UseSWIG: Do not set PREFIX property for SHARED and STATIC lua libraries

diff --git a/Modules/UseSWIG.cmake b/Modules/UseSWIG.cmake
index 8373fbd..0e00506 100644
--- a/Modules/UseSWIG.cmake
+++ b/Modules/UseSWIG.cmake
@@ -294,7 +294,9 @@ macro(SWIG_ADD_LIBRARY name)
         set_target_properties (${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES SUFFIX ".jnilib")
       endif ()
   elseif ("${swig_lowercase_language}" STREQUAL "lua")
-    set_target_properties(${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES PREFIX "")
+    if("${_SAM_TYPE}" STREQUAL "MODULE")
+      set_target_properties(${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES PREFIX "")
+    endif()
   elseif ("${swig_lowercase_language}" STREQUAL "python")
     # this is only needed for the python case where a _modulename.so is generated
     set_target_properties(${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES PREFIX "")

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=4c5b3c1ceaec319163fa26a8e55eb669f11ee8a5
commit 4c5b3c1ceaec319163fa26a8e55eb669f11ee8a5
Author:     Daniele E. Domenichelli <daniele.domenichelli at iit.it>
AuthorDate: Thu Nov 10 17:00:45 2016 +0100
Commit:     Daniele E. Domenichelli <daniele.domenichelli at iit.it>
CommitDate: Fri Nov 11 08:14:10 2016 +0100

    UseSWIG: Do not set NO_SONAME property for SHARED and STATIC libraries

diff --git a/Modules/UseSWIG.cmake b/Modules/UseSWIG.cmake
index fe80938..8373fbd 100644
--- a/Modules/UseSWIG.cmake
+++ b/Modules/UseSWIG.cmake
@@ -274,7 +274,9 @@ macro(SWIG_ADD_LIBRARY name)
     ${_SAM_TYPE}
     ${swig_generated_sources}
     ${swig_other_sources})
-  set_target_properties(${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES NO_SONAME ON)
+  if("${_SAM_TYPE}" STREQUAL "MODULE")
+    set_target_properties(${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES NO_SONAME ON)
+  endif()
   string(TOLOWER "${_SAM_LANGUAGE}" swig_lowercase_language)
   if ("${swig_lowercase_language}" STREQUAL "octave")
     set_target_properties(${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES PREFIX "")

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d0a9d8bbe60edfb7cf7569fe8162b17bba294182
commit d0a9d8bbe60edfb7cf7569fe8162b17bba294182
Author:     Daniele E. Domenichelli <daniele.domenichelli at iit.it>
AuthorDate: Thu Nov 10 16:49:46 2016 +0100
Commit:     Daniele E. Domenichelli <daniele.domenichelli at iit.it>
CommitDate: Fri Nov 11 08:13:47 2016 +0100

    UseSWIG: Add swig_add_library macro.
    
    swig_add_module does not allow to set the type for the library and
    instead always create the library as MODULE.
    
    This patch adds the new swig_add_library command with this signature:
    
      SWIG_ADD_LIBRARY(<name>
                       [TYPE <SHARED|MODULE|STATIC>]
                       LANGUAGE <language>
                       SOURCES <file>...
                       )
    
    The swig_add_module is deprecated in favour of swig_add_library.
    
    Closes: #16415

diff --git a/Modules/UseSWIG.cmake b/Modules/UseSWIG.cmake
index 2df0011..fe80938 100644
--- a/Modules/UseSWIG.cmake
+++ b/Modules/UseSWIG.cmake
@@ -9,18 +9,22 @@
 #
 # ::
 #
-#    SWIG_ADD_MODULE(name language [ files ])
+#    SWIG_ADD_LIBRARY(<name>
+#                     [TYPE <SHARED|MODULE|STATIC>]
+#                     LANGUAGE <language>
+#                     SOURCES <file>...
+#                     )
 #      - Define swig module with given name and specified language
 #    SWIG_LINK_LIBRARIES(name [ libraries ])
 #      - Link libraries to swig module
 #
 # Source files properties on module files can be set before the invocation
-# of the SWIG_ADD_MODULE macro to specify special behavior of SWIG.
+# of the SWIG_ADD_LIBRARY macro to specify special behavior of SWIG.
 #
 # The source file property CPLUSPLUS calls SWIG in c++ mode, e.g.::
 #
 #    set_property(SOURCE mymod.i PROPERTY CPLUSPLUS ON)
-#    swig_add_module(mymod python mymod.i)
+#    swig_add_library(mymod LANGUAGE python SOURCES mymod.i)
 #
 # The source file property SWIG_FLAGS adds custom flags to the SWIG executable.
 #
@@ -217,10 +221,40 @@ endmacro()
 # Create Swig module
 #
 macro(SWIG_ADD_MODULE name language)
-  SWIG_MODULE_INITIALIZE(${name} ${language})
+  message(DEPRECATION "SWIG_ADD_MODULE is deprecated. Use SWIG_ADD_LIBRARY instead.")
+  swig_add_library(${name}
+                   LANGUAGE ${language}
+                   TYPE MODULE
+                   SOURCES ${ARGN})
+endmacro()
+
+
+macro(SWIG_ADD_LIBRARY name)
+
+  include(CMakeParseArguments)
+  set(options "")
+  set(oneValueArgs LANGUAGE
+                   TYPE)
+  set(multiValueArgs SOURCES)
+  cmake_parse_arguments(_SAM "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
+
+  if(NOT DEFINED _SAM_LANGUAGE)
+    message(FATAL_ERROR "SWIG_ADD_LIBRARY: Missing LANGUAGE argument")
+  endif()
+
+  if(NOT DEFINED _SAM_SOURCES)
+    message(FATAL_ERROR "SWIG_ADD_LIBRARY: Missing SOURCES argument")
+  endif()
+
+  if(NOT DEFINED _SAM_TYPE)
+    set(_SAM_TYPE MODULE)
+  endif()
+
+  swig_module_initialize(${name} ${_SAM_LANGUAGE})
+
   set(swig_dot_i_sources)
   set(swig_other_sources)
-  foreach(it ${ARGN})
+  foreach(it ${_SAM_SOURCES})
     if(${it} MATCHES "\\.i$")
       set(swig_dot_i_sources ${swig_dot_i_sources} "${it}")
     else()
@@ -237,11 +271,11 @@ macro(SWIG_ADD_MODULE name language)
   set_directory_properties(PROPERTIES
     ADDITIONAL_MAKE_CLEAN_FILES "${swig_extra_clean_files};${swig_generated_sources}")
   add_library(${SWIG_MODULE_${name}_REAL_NAME}
-    MODULE
+    ${_SAM_TYPE}
     ${swig_generated_sources}
     ${swig_other_sources})
   set_target_properties(${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES NO_SONAME ON)
-  string(TOLOWER "${language}" swig_lowercase_language)
+  string(TOLOWER "${_SAM_LANGUAGE}" swig_lowercase_language)
   if ("${swig_lowercase_language}" STREQUAL "octave")
     set_target_properties(${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES PREFIX "")
     set_target_properties(${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES SUFFIX ".oct")

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

Summary of changes:
 Help/release/dev/swig_add_library.rst |    8 +++++
 Modules/UseSWIG.cmake                 |   56 +++++++++++++++++++++++++++------
 Tests/SwigTest/CMakeLists.txt         |   13 ++++++--
 3 files changed, 66 insertions(+), 11 deletions(-)
 create mode 100644 Help/release/dev/swig_add_library.rst


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list