libt2n-git Archives

Subject: C++ inter-process communication library branch, cmake-conversion, updated. v0.6-13-gb24bd08

From: libt2n-git@xxxxxxxxxxxxxxxxxxxxxxx
To: libt2n-git@xxxxxxxxxxxxxxxxxxxxxxx
Date: Thu, 25 Aug 2011 17:35:06 +0200 (CEST)
The branch, cmake-conversion has been updated
       via  b24bd083fe58d644ba3b4e8db76636dddd842b9d (commit)
      from  abe6a17bbc65524d8e917d18762c0fcf5f5e28b2 (commit)


- Log -----------------------------------------------------------------
commit b24bd083fe58d644ba3b4e8db76636dddd842b9d
Author: Kristóf Katus <kristof.katus@xxxxxxxxxxxxx>
Date:   Thu Aug 25 17:34:38 2011 +0200

    Installation of Libt2n.cmake

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

Summary of changes:
 codegen/CMakeLists.txt                   |    1 +
 codegen/Libt2n.cmake                     |  112 ++++++++++++++++++++++++++++++
 examples-codegen/cmake/CMakeLists.txt    |    2 +-
 examples-codegen/cmake/Libt2n.cmake      |  112 ------------------------------
 examples-codegen/example1/CMakeLists.txt |    2 +-
 examples-codegen/example2/CMakeLists.txt |    2 +-
 libt2n.spec.in                           |    3 +-
 7 files changed, 118 insertions(+), 116 deletions(-)
 create mode 100644 codegen/Libt2n.cmake
 delete mode 100644 examples-codegen/cmake/Libt2n.cmake

diff --git a/codegen/CMakeLists.txt b/codegen/CMakeLists.txt
index 1b62402..55d5243 100644
--- a/codegen/CMakeLists.txt
+++ b/codegen/CMakeLists.txt
@@ -13,3 +13,4 @@ target_link_libraries(libt2n-codegen ${XMLPP_LIBRARIES})
 install(TARGETS libt2n-codegen DESTINATION bin)
 install(FILES ${CPP_HEADERS} DESTINATION include)
 install(FILES clientlib.pc.in DESTINATION share/libt2n)
+install(FILES Libt2n.cmake DESTINATION ${CMAKE_ROOT}/Modules)
diff --git a/codegen/Libt2n.cmake b/codegen/Libt2n.cmake
new file mode 100644
index 0000000..a31edee
--- /dev/null
+++ b/codegen/Libt2n.cmake
@@ -0,0 +1,112 @@
+# Detect libt2n. Version of this file: 1.2
+pkg_check_modules(LIBT2N REQUIRED libt2n)
+include_directories(${LIBT2N_INCLUDE_DIRS})
+link_directories(${LIBT2N_LIBRARY_DIRS})
+
+# Get locations from pkgconfig
+execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} --variable libt2n_codegen 
libt2n
+                                OUTPUT_VARIABLE LIBT2N_CODEGEN
+                                OUTPUT_STRIP_TRAILING_WHITESPACE)
+execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} --variable libt2n_datadir 
libt2n
+                                OUTPUT_VARIABLE LIBT2N_DATADIR
+                                OUTPUT_STRIP_TRAILING_WHITESPACE)
+set(LIBT2N_CLIENT_PCTEMPLATE ${LIBT2N_DATADIR}/clientlib.pc.in)
+set(LIBT2N_GCCXML /usr/bin/libt2n-gccxml.sh)
+
+# Basic pkgconfig settings needed for client.pc generation
+set(prefix      ${CMAKE_INSTALL_PREFIX})
+set(exec_prefix ${CMAKE_INSTALL_PREFIX}/bin)
+set(includedir  ${CMAKE_INSTALL_PREFIX}/include/${PROJECT_NAME})
+set(libdir      ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX})
+
+# Setup libt2n. Arguments are the CMDGROUP names
+function(setup_libt2n)
+    string(LENGTH "${ARGV}" CMDGROUP_LEN)
+    if (${CMDGROUP_LEN} EQUAL 0)
+        message(FATAL_ERROR "libt2n CMDGROUP is empty")
+    endif(${CMDGROUP_LEN} EQUAL 0)
+
+    include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} 
${CMAKE_CURRENT_BINARY_DIR})
+
+    # Compute include directories
+    # TODO: http://www.cmake.org/Bug/view.php?id=11889 contains a better 
solution
+    get_property(gcc_include_dirs
+       DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+       PROPERTY INCLUDE_DIRECTORIES
+    )
+    set(gccxml_include_dirs "")
+    foreach(gcc_include_dir ${gcc_include_dirs})
+       set(gccxml_include_dirs "${gccxml_include_dirs} -I${gcc_include_dir}")
+    endforeach(gcc_include_dir ${gcc_include_dirs})
+
+    foreach(CMDGROUP ${ARGV})
+        message(STATUS "Processing libt2n command group ${CMDGROUP}")
+
+        # We are going to run each .cpp file through gccxml for the current 
CMDGROUP
+       set(T2N_GCCXML_FILES "")
+       set(T2N_GCCXML_COMMANDS "")
+        foreach(T2NFILE ${${CMDGROUP}_GROUP})
+            get_filename_component(FILE_NAME ${T2NFILE} NAME)
+           get_filename_component(FILE_EXT ${T2NFILE} EXT)
+           if(NOT FILE_EXT STREQUAL ".cpp")
+               message(FATAL_ERROR "   Error: ${FILE_NAME} is not a .cpp file 
based on its filename extension!")
+           endif()
+            message(STATUS "   Processing file ${FILE_NAME}")
+
+           # We build the commands in advance which execute gccxml on each 
file in the CMDGROUP
+           set(T2N_GCCXML_COMMANDS ${T2N_GCCXML_COMMANDS}
+               COMMAND ${LIBT2N_GCCXML} ${gccxml_include_dirs} ${T2NFILE} 
-fxml=${T2NFILE}.xml
+               )
+           # The filenames of the created intermediate gccxml files for the 
current CMDGROUP
+           set(T2N_GCCXML_FILES ${T2N_GCCXML_FILES} ${T2NFILE}.xml)
+        endforeach(T2NFILE ${${CMDGROUP}_GROUP})
+
+       add_custom_command(
+           OUTPUT ${CMDGROUP}_common.cpp ${CMDGROUP}_common.hxx 
${CMDGROUP}_client.cpp ${CMDGROUP}_client.hxx ${CMDGROUP}_server.cpp  
${CMDGROUP}_server.hxx
+
+           # Create dummy _common.hxx file
+           COMMAND echo "\\#include \\\"codegen-stubhead.hxx\\\"" 
>${CMDGROUP}_common.hxx
+           COMMAND echo "\\#include \\\"${CMDGROUP}.hxx\\\"" 
>>${CMDGROUP}_common.hxx
+
+           # Invoke gccxml on each source file in the current CMDGROUP and 
delete the dummy file
+           ${T2N_GCCXML_COMMANDS}
+           COMMAND rm -f ${CMDGROUP}_common.hxx
+
+           # Run the code generator on all the generated gccxml files and 
remove those intermediate gccxml files
+           COMMAND ${LIBT2N_CODEGEN} ${CMDGROUP} ${T2N_GCCXML_FILES}
+           COMMAND rm -f ${T2N_GCCXML_FILES}
+
+           DEPENDS ${${CMDGROUP}_GROUP}
+           )
+
+        # Write out pkgconfig file
+        configure_file(${LIBT2N_CLIENT_PCTEMPLATE} 
${CMAKE_CURRENT_BINARY_DIR}/${CMDGROUP}.pc @ONLY@)
+        install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${CMDGROUP}.pc
+            DESTINATION lib/pkgconfig)
+
+        # Create shared client library
+        add_library(${CMDGROUP} SHARED ${CMDGROUP}_client.cpp 
${CMDGROUP}_client.hxx)
+        set_target_properties(${CMDGROUP} PROPERTIES VERSION ${VERSION} 
SOVERSION 1)
+        install(TARGETS ${CMDGROUP} LIBRARY DESTINATION lib COMPONENT 
sharedlibs)
+
+        # Create static client library
+        add_library(${CMDGROUP}-static STATIC ${CMDGROUP}_client.cpp 
${CMDGROUP}_client.hxx)
+        set_target_properties(${CMDGROUP}-static PROPERTIES OUTPUT_NAME 
"${CMDGROUP}")
+        install(TARGETS ${CMDGROUP}-static ARCHIVE DESTINATION lib COMPONENT 
staticlibs)
+
+        # Prevent clobbering each other during the build
+        set_target_properties(${CMDGROUP} PROPERTIES CLEAN_DIRECT_OUTPUT 1)
+        set_target_properties(${CMDGROUP}-static PROPERTIES 
CLEAN_DIRECT_OUTPUT 1)
+
+        install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${CMDGROUP}_client.hxx 
${CMDGROUP}.hxx
+                    DESTINATION include
+                    COMPONENT headers
+        )
+
+        # Wait till generated code is available
+       add_custom_target(${CMDGROUP}_codegen_done ALL DEPENDS 
${CMDGROUP}_common.cpp ${CMDGROUP}_common.hxx ${CMDGROUP}_client.cpp 
${CMDGROUP}_client.hxx ${CMDGROUP}_server.cpp  ${CMDGROUP}_server.hxx)
+        add_dependencies(${CMDGROUP} ${CMDGROUP}_codegen_done)
+        add_dependencies(${CMDGROUP}-static ${CMDGROUP}_codegen_done)
+
+    endforeach(CMDGROUP ${ARGV})
+endfunction(setup_libt2n)
diff --git a/examples-codegen/cmake/CMakeLists.txt 
b/examples-codegen/cmake/CMakeLists.txt
index deb1c63..60bb8d1 100644
--- a/examples-codegen/cmake/CMakeLists.txt
+++ b/examples-codegen/cmake/CMakeLists.txt
@@ -5,7 +5,7 @@
 set(t2n_mydaemon_GROUP
     ${CMAKE_SOURCE_DIR}/src/t2n_mydaemon.cpp
 )
-include(Libt2n.cmake)
+include(${CMAKE_SOURCE_DIR}/codegen/Libt2n.cmake)
 
 # Call setup_libt2n with the CMDGROUP name
 setup_libt2n(t2n_mydaemon)
diff --git a/examples-codegen/cmake/Libt2n.cmake 
b/examples-codegen/cmake/Libt2n.cmake
deleted file mode 100644
index a31edee..0000000
--- a/examples-codegen/cmake/Libt2n.cmake
+++ /dev/null
@@ -1,112 +0,0 @@
-# Detect libt2n. Version of this file: 1.2
-pkg_check_modules(LIBT2N REQUIRED libt2n)
-include_directories(${LIBT2N_INCLUDE_DIRS})
-link_directories(${LIBT2N_LIBRARY_DIRS})
-
-# Get locations from pkgconfig
-execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} --variable libt2n_codegen 
libt2n
-                                OUTPUT_VARIABLE LIBT2N_CODEGEN
-                                OUTPUT_STRIP_TRAILING_WHITESPACE)
-execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} --variable libt2n_datadir 
libt2n
-                                OUTPUT_VARIABLE LIBT2N_DATADIR
-                                OUTPUT_STRIP_TRAILING_WHITESPACE)
-set(LIBT2N_CLIENT_PCTEMPLATE ${LIBT2N_DATADIR}/clientlib.pc.in)
-set(LIBT2N_GCCXML /usr/bin/libt2n-gccxml.sh)
-
-# Basic pkgconfig settings needed for client.pc generation
-set(prefix      ${CMAKE_INSTALL_PREFIX})
-set(exec_prefix ${CMAKE_INSTALL_PREFIX}/bin)
-set(includedir  ${CMAKE_INSTALL_PREFIX}/include/${PROJECT_NAME})
-set(libdir      ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX})
-
-# Setup libt2n. Arguments are the CMDGROUP names
-function(setup_libt2n)
-    string(LENGTH "${ARGV}" CMDGROUP_LEN)
-    if (${CMDGROUP_LEN} EQUAL 0)
-        message(FATAL_ERROR "libt2n CMDGROUP is empty")
-    endif(${CMDGROUP_LEN} EQUAL 0)
-
-    include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} 
${CMAKE_CURRENT_BINARY_DIR})
-
-    # Compute include directories
-    # TODO: http://www.cmake.org/Bug/view.php?id=11889 contains a better 
solution
-    get_property(gcc_include_dirs
-       DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
-       PROPERTY INCLUDE_DIRECTORIES
-    )
-    set(gccxml_include_dirs "")
-    foreach(gcc_include_dir ${gcc_include_dirs})
-       set(gccxml_include_dirs "${gccxml_include_dirs} -I${gcc_include_dir}")
-    endforeach(gcc_include_dir ${gcc_include_dirs})
-
-    foreach(CMDGROUP ${ARGV})
-        message(STATUS "Processing libt2n command group ${CMDGROUP}")
-
-        # We are going to run each .cpp file through gccxml for the current 
CMDGROUP
-       set(T2N_GCCXML_FILES "")
-       set(T2N_GCCXML_COMMANDS "")
-        foreach(T2NFILE ${${CMDGROUP}_GROUP})
-            get_filename_component(FILE_NAME ${T2NFILE} NAME)
-           get_filename_component(FILE_EXT ${T2NFILE} EXT)
-           if(NOT FILE_EXT STREQUAL ".cpp")
-               message(FATAL_ERROR "   Error: ${FILE_NAME} is not a .cpp file 
based on its filename extension!")
-           endif()
-            message(STATUS "   Processing file ${FILE_NAME}")
-
-           # We build the commands in advance which execute gccxml on each 
file in the CMDGROUP
-           set(T2N_GCCXML_COMMANDS ${T2N_GCCXML_COMMANDS}
-               COMMAND ${LIBT2N_GCCXML} ${gccxml_include_dirs} ${T2NFILE} 
-fxml=${T2NFILE}.xml
-               )
-           # The filenames of the created intermediate gccxml files for the 
current CMDGROUP
-           set(T2N_GCCXML_FILES ${T2N_GCCXML_FILES} ${T2NFILE}.xml)
-        endforeach(T2NFILE ${${CMDGROUP}_GROUP})
-
-       add_custom_command(
-           OUTPUT ${CMDGROUP}_common.cpp ${CMDGROUP}_common.hxx 
${CMDGROUP}_client.cpp ${CMDGROUP}_client.hxx ${CMDGROUP}_server.cpp  
${CMDGROUP}_server.hxx
-
-           # Create dummy _common.hxx file
-           COMMAND echo "\\#include \\\"codegen-stubhead.hxx\\\"" 
>${CMDGROUP}_common.hxx
-           COMMAND echo "\\#include \\\"${CMDGROUP}.hxx\\\"" 
>>${CMDGROUP}_common.hxx
-
-           # Invoke gccxml on each source file in the current CMDGROUP and 
delete the dummy file
-           ${T2N_GCCXML_COMMANDS}
-           COMMAND rm -f ${CMDGROUP}_common.hxx
-
-           # Run the code generator on all the generated gccxml files and 
remove those intermediate gccxml files
-           COMMAND ${LIBT2N_CODEGEN} ${CMDGROUP} ${T2N_GCCXML_FILES}
-           COMMAND rm -f ${T2N_GCCXML_FILES}
-
-           DEPENDS ${${CMDGROUP}_GROUP}
-           )
-
-        # Write out pkgconfig file
-        configure_file(${LIBT2N_CLIENT_PCTEMPLATE} 
${CMAKE_CURRENT_BINARY_DIR}/${CMDGROUP}.pc @ONLY@)
-        install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${CMDGROUP}.pc
-            DESTINATION lib/pkgconfig)
-
-        # Create shared client library
-        add_library(${CMDGROUP} SHARED ${CMDGROUP}_client.cpp 
${CMDGROUP}_client.hxx)
-        set_target_properties(${CMDGROUP} PROPERTIES VERSION ${VERSION} 
SOVERSION 1)
-        install(TARGETS ${CMDGROUP} LIBRARY DESTINATION lib COMPONENT 
sharedlibs)
-
-        # Create static client library
-        add_library(${CMDGROUP}-static STATIC ${CMDGROUP}_client.cpp 
${CMDGROUP}_client.hxx)
-        set_target_properties(${CMDGROUP}-static PROPERTIES OUTPUT_NAME 
"${CMDGROUP}")
-        install(TARGETS ${CMDGROUP}-static ARCHIVE DESTINATION lib COMPONENT 
staticlibs)
-
-        # Prevent clobbering each other during the build
-        set_target_properties(${CMDGROUP} PROPERTIES CLEAN_DIRECT_OUTPUT 1)
-        set_target_properties(${CMDGROUP}-static PROPERTIES 
CLEAN_DIRECT_OUTPUT 1)
-
-        install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${CMDGROUP}_client.hxx 
${CMDGROUP}.hxx
-                    DESTINATION include
-                    COMPONENT headers
-        )
-
-        # Wait till generated code is available
-       add_custom_target(${CMDGROUP}_codegen_done ALL DEPENDS 
${CMDGROUP}_common.cpp ${CMDGROUP}_common.hxx ${CMDGROUP}_client.cpp 
${CMDGROUP}_client.hxx ${CMDGROUP}_server.cpp  ${CMDGROUP}_server.hxx)
-        add_dependencies(${CMDGROUP} ${CMDGROUP}_codegen_done)
-        add_dependencies(${CMDGROUP}-static ${CMDGROUP}_codegen_done)
-
-    endforeach(CMDGROUP ${ARGV})
-endfunction(setup_libt2n)
diff --git a/examples-codegen/example1/CMakeLists.txt 
b/examples-codegen/example1/CMakeLists.txt
index 8231afa..eb0f0d9 100644
--- a/examples-codegen/example1/CMakeLists.txt
+++ b/examples-codegen/example1/CMakeLists.txt
@@ -25,7 +25,7 @@ include(CPack)
 # for each command group list the files to parse for LIBT2N_EXPORT
 set(t2nexample_GROUP ${CMAKE_CURRENT_SOURCE_DIR}/t2nexample.cpp)
 # include CMake snippet doing all the magic
-include(${CMAKE_CURRENT_SOURCE_DIR}/../cmake/Libt2n.cmake)
+include(${CMAKE_SOURCE_DIR}/codegen/Libt2n.cmake)
 # command groups are listed here (seperated by spaces)
 setup_libt2n(t2nexample)
 
diff --git a/examples-codegen/example2/CMakeLists.txt 
b/examples-codegen/example2/CMakeLists.txt
index 9308cbe..31cc66a 100644
--- a/examples-codegen/example2/CMakeLists.txt
+++ b/examples-codegen/example2/CMakeLists.txt
@@ -35,7 +35,7 @@ set(other_GROUP
 #    ${CMAKE_CURRENT_SOURCE_DIR}/foo.hxx
 #)
 # include CMake snippet doing all the magic
-include(${CMAKE_CURRENT_SOURCE_DIR}/../cmake/Libt2n.cmake)
+include(${CMAKE_SOURCE_DIR}/codegen/Libt2n.cmake)
 # command groups are listed here (seperated by spaces)
 setup_libt2n(default other)
 
diff --git a/libt2n.spec.in b/libt2n.spec.in
index c49047a..e2241b4 100644
--- a/libt2n.spec.in
+++ b/libt2n.spec.in
@@ -17,7 +17,7 @@ C++ IPC library
 %package   devel
 Summary:   talk2neighbor - C++ IPC library
 Group:     Intranator/Development
-Requires:  libt2n = %{version} libgettext gccxml libxml++ boost-devel
+Requires:  libt2n = %{version} gccxml libxml++ boost-devel
 BuildPrereq: boost-devel
 
 %description devel
@@ -71,3 +71,4 @@ rm -fr $RPM_BUILD_ROOT
 %{prefix}/include/
 # %{prefix}/share/aclocal
 %{prefix}/share/libt2n
+%{prefix}/share/cmake/Modules/Libt2n.cmake


hooks/post-receive
-- 
C++ inter-process communication library

--
libt2n-git - see http://www.intra2net.com/en/developer/libt2n for details.
To unsubscribe send a mail to libt2n-git+unsubscribe@xxxxxxxxxxxxxxxxxxxxxxx   

Current Thread
  • C++ inter-process communication library branch, cmake-conversion, updated. v0.6-13-gb24bd08, libt2n-git <=