]> git.ipfire.org Git - thirdparty/dbus.git/commitdiff
Add cmake macros add_executable_version_info and add_library_version_info
authorRalf Habacker <ralf.habacker@freenet.de>
Tue, 15 Jan 2019 13:41:14 +0000 (14:41 +0100)
committerRalf Habacker <ralf.habacker@freenet.de>
Tue, 22 Jan 2019 08:58:27 +0000 (09:58 +0100)
This helps to reduce duplicated code.

Signed-off-by: Ralf Habacker <ralf.habacker@freenet.de>
bus/CMakeLists.txt
cmake/modules/Macros.cmake
dbus/CMakeLists.txt
tools/CMakeLists.txt

index f901b7e0a831e2301964d861882ee6e6c1f06803..cefb7c48a6be8cd1f6fb0973033428474c521cae 100644 (file)
@@ -90,11 +90,7 @@ include_directories(
 )
 
 if(WIN32)
-    set(DBUS_VER_INTERNAL_NAME "dbus-daemon")
-    set(DBUS_VER_ORIGINAL_NAME "${DBUS_VER_INTERNAL_NAME}${CMAKE_EXECUTABLE_SUFFIX}")
-    set(DBUS_VER_FILE_TYPE "VFT_APP")
-    configure_file(../dbus/versioninfo.rc.in ${CMAKE_CURRENT_BINARY_DIR}/versioninfo-${DBUS_VER_INTERNAL_NAME}.rc)
-    list(APPEND BUS_SOURCES ${CMAKE_CURRENT_BINARY_DIR}/versioninfo-${DBUS_VER_INTERNAL_NAME}.rc)
+    add_executable_version_info(BUS_SOURCES "dbus-daemon")
 endif()
 
 add_library(dbus-daemon-internal STATIC ${BUS_SOURCES})
@@ -127,11 +123,7 @@ if (DBUS_SERVICE)
        #       ${BUS_SOURCES}
        )
 
-    set(DBUS_VER_INTERNAL_NAME "dbus-service")
-    set(DBUS_VER_ORIGINAL_NAME "${DBUS_VER_INTERNAL_NAME}${CMAKE_EXECUTABLE_SUFFIX}")
-    set(DBUS_VER_FILE_TYPE "VFT_APP")
-    configure_file(../dbus/versioninfo.rc.in ${CMAKE_CURRENT_BINARY_DIR}/versioninfo-${DBUS_VER_INTERNAL_NAME}.rc)
-    list(APPEND dbus_service_SOURCES ${CMAKE_CURRENT_BINARY_DIR}/versioninfo-${DBUS_VER_INTERNAL_NAME}.rc)
+       add_executable_version_info(dbus_service_SOURCES "dbus-service")
        add_executable(dbus-service ${dbus_service_SOURCES} )
        target_link_libraries(dbus-service ${DBUS_INTERNAL_LIBRARIES} ${EXPAT_LIBRARIES})
        set_target_properties(dbus-service PROPERTIES COMPILE_FLAGS ${DBUS_INTERNAL_CLIENT_DEFINITIONS})
index f3806e05dc7953c35e7d6ff98d464f9b0734dd3f..1d613067fde2bb743b204369cceb7216ac6bce95 100644 (file)
@@ -182,3 +182,21 @@ macro(add_uac_manifest _sources)
     endif()
     list(APPEND ${_sources} ${outfile})
 endmacro()
+
+macro(add_executable_version_info _sources _name)
+    set(DBUS_VER_INTERNAL_NAME "${_name}")
+    set(DBUS_VER_ORIGINAL_NAME "${DBUS_VER_INTERNAL_NAME}${CMAKE_EXECUTABLE_SUFFIX}")
+    set(DBUS_VER_FILE_TYPE "VFT_APP")
+    configure_file(${CMAKE_SOURCE_DIR}/dbus/versioninfo.rc.in ${CMAKE_CURRENT_BINARY_DIR}/versioninfo-${DBUS_VER_INTERNAL_NAME}.rc)
+    # version info and uac manifest can be combined in a binary because they use different resource types
+    list(APPEND ${_sources} ${CMAKE_CURRENT_BINARY_DIR}/versioninfo-${DBUS_VER_INTERNAL_NAME}.rc)
+endmacro()
+
+macro(add_library_version_info _sources _name)
+    set(DBUS_VER_INTERNAL_NAME "${_name}")
+    set(DBUS_VER_ORIGINAL_NAME "${DBUS_VER_INTERNAL_NAME}}${CMAKE_SHARED_LIBRARY_SUFFIX}")
+    set(DBUS_VER_FILE_TYPE "VFT_DLL")
+    configure_file(${CMAKE_SOURCE_DIR}/dbus/versioninfo.rc.in ${CMAKE_CURRENT_BINARY_DIR}/versioninfo-${DBUS_VER_INTERNAL_NAME}.rc)
+    # version info and uac manifest can be combined in a binary because they use different resource types
+    list(APPEND ${_sources} ${CMAKE_CURRENT_BINARY_DIR}/versioninfo-${DBUS_VER_INTERNAL_NAME}.rc)
+endmacro()
index c9789718dc59e7414132a507ff310ee25685e871..a91f08539da3ba5fb4de084a6463b808eef33002 100644 (file)
@@ -236,11 +236,7 @@ if(DEFINED DBUS_LIBRARY_REVISION)
 endif()
 
 if(WIN32)
-    set(DBUS_VER_INTERNAL_NAME "${CMAKE_SHARED_LIBRARY_PREFIX}dbus-1-${DBUS_LIBRARY_MAJOR}")
-    set(DBUS_VER_ORIGINAL_NAME "${DBUS_VER_INTERNAL_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}")
-    set(DBUS_VER_FILE_TYPE "VFT_DLL")
-    configure_file(versioninfo.rc.in ${CMAKE_CURRENT_BINARY_DIR}/versioninfo.rc)
-    list(APPEND libdbus_SOURCES versioninfo.rc)
+    add_library_version_info(libdbus_SOURCES "${CMAKE_SHARED_LIBRARY_PREFIX}dbus-1-${DBUS_LIBRARY_MAJOR}")
 endif()
 
 if(MSVC_IDE)
index a4adee3de4d2bb841598fd1e458a29b4ea2cf76a..a8fe96c854b51f56c9a35be46880b1b2ee2693b1 100644 (file)
@@ -59,11 +59,7 @@ set (dbus_run_session_SOURCES
 )
 
 if(WIN32)
-    set(DBUS_VER_INTERNAL_NAME "dbus-send")
-    set(DBUS_VER_ORIGINAL_NAME "${DBUS_VER_INTERNAL_NAME}${CMAKE_EXECUTABLE_SUFFIX}")
-    set(DBUS_VER_FILE_TYPE "VFT_APP")
-    configure_file(../dbus/versioninfo.rc.in ${CMAKE_CURRENT_BINARY_DIR}/versioninfo-${DBUS_VER_INTERNAL_NAME}.rc)
-    list(APPEND dbus_send_SOURCES ${CMAKE_CURRENT_BINARY_DIR}/versioninfo-${DBUS_VER_INTERNAL_NAME}.rc)
+    add_executable_version_info(dbus_send_SOURCES "dbus-send")
 endif()
 
 add_executable(dbus-send ${dbus_send_SOURCES})
@@ -71,11 +67,7 @@ target_link_libraries(dbus-send ${DBUS_LIBRARIES})
 install(TARGETS dbus-send ${INSTALL_TARGETS_DEFAULT_ARGS})
 
 if(WIN32)
-    set(DBUS_VER_INTERNAL_NAME "dbus-test-tool")
-    set(DBUS_VER_ORIGINAL_NAME "${DBUS_VER_INTERNAL_NAME}${CMAKE_EXECUTABLE_SUFFIX}")
-    set(DBUS_VER_FILE_TYPE "VFT_APP")
-    configure_file(../dbus/versioninfo.rc.in ${CMAKE_CURRENT_BINARY_DIR}/versioninfo-${DBUS_VER_INTERNAL_NAME}.rc)
-    list(APPEND dbus_test_tool_SOURCES ${CMAKE_CURRENT_BINARY_DIR}/versioninfo-${DBUS_VER_INTERNAL_NAME}.rc)
+    add_executable_version_info(dbus_test_tool_SOURCES "dbus-test-tool")
 endif()
 
 add_executable(dbus-test-tool ${dbus_test_tool_SOURCES})
@@ -83,12 +75,7 @@ target_link_libraries(dbus-test-tool ${DBUS_LIBRARIES})
 install(TARGETS dbus-test-tool ${INSTALL_TARGETS_DEFAULT_ARGS})
 
 if(WIN32)
-    # version info and uac manifest can be combined in a binary because they use different resource types
-    set(DBUS_VER_INTERNAL_NAME "dbus-update-activation-environment")
-    set(DBUS_VER_ORIGINAL_NAME "${DBUS_VER_INTERNAL_NAME}${CMAKE_EXECUTABLE_SUFFIX}")
-    set(DBUS_VER_FILE_TYPE "VFT_APP")
-    configure_file(../dbus/versioninfo.rc.in ${CMAKE_CURRENT_BINARY_DIR}/versioninfo-${DBUS_VER_INTERNAL_NAME}.rc)
-    list(APPEND dbus_update_activation_environment_SOURCES ${CMAKE_CURRENT_BINARY_DIR}/versioninfo-${DBUS_VER_INTERNAL_NAME}.rc)
+    add_executable_version_info(dbus_update_activation_environment_SOURCES "dbus-update-activation-environment")
 endif()
 if(WIN32 AND NOT MSVC)
     add_uac_manifest(dbus_update_activation_environment_SOURCES)
@@ -98,11 +85,7 @@ target_link_libraries(dbus-update-activation-environment ${DBUS_LIBRARIES})
 install(TARGETS dbus-update-activation-environment ${INSTALL_TARGETS_DEFAULT_ARGS})
 
 if(WIN32)
-    set(DBUS_VER_INTERNAL_NAME "dbus-launch")
-    set(DBUS_VER_ORIGINAL_NAME "${DBUS_VER_INTERNAL_NAME}${CMAKE_EXECUTABLE_SUFFIX}")
-    set(DBUS_VER_FILE_TYPE "VFT_APP")
-    configure_file(../dbus/versioninfo.rc.in ${CMAKE_CURRENT_BINARY_DIR}/versioninfo-${DBUS_VER_INTERNAL_NAME}.rc)
-    list(APPEND dbus_launch_SOURCES ${CMAKE_CURRENT_BINARY_DIR}/versioninfo-${DBUS_VER_INTERNAL_NAME}.rc)
+    add_executable_version_info(dbus_launch_SOURCES "dbus-launch")
 endif()
 
 add_executable(dbus-launch ${dbus_launch_SOURCES})
@@ -113,11 +96,7 @@ endif (DBUS_BUILD_X11)
 install(TARGETS dbus-launch ${INSTALL_TARGETS_DEFAULT_ARGS})
 
 if(WIN32)
-    set(DBUS_VER_INTERNAL_NAME "dbus-monitor")
-    set(DBUS_VER_ORIGINAL_NAME "${DBUS_VER_INTERNAL_NAME}${CMAKE_EXECUTABLE_SUFFIX}")
-    set(DBUS_VER_FILE_TYPE "VFT_APP")
-    configure_file(../dbus/versioninfo.rc.in ${CMAKE_CURRENT_BINARY_DIR}/versioninfo-${DBUS_VER_INTERNAL_NAME}.rc)
-    list(APPEND dbus_monitor_SOURCES ${CMAKE_CURRENT_BINARY_DIR}/versioninfo-${DBUS_VER_INTERNAL_NAME}.rc)
+    add_executable_version_info(dbus_launch_SOURCES "dbus-monitor")
 endif()
 
 add_executable(dbus-monitor ${dbus_monitor_SOURCES})