[cmake] add executable versioning

optionally append API version to generated binaries
This commit is contained in:
Armin Novak 2023-12-21 17:27:54 +01:00 committed by akallabeth
parent 7f25a7cebf
commit b04271ae2d
18 changed files with 67 additions and 4 deletions

View File

@ -66,6 +66,9 @@ add_executable(${PROJECT_NAME}
${SOURCES}
${RESOURCES})
if (WITH_BINARY_VERSIONING)
set_target_properties(${PROJECT_NAME} PROPERTIES OUTPUT_NAME "${PROJECT_NAME}${PROJECT_VERSION_MAJOR}${CMAKE_EXECUTABLE_SUFFIX}")
endif()
set_target_properties(${PROJECT_NAME} PROPERTIES RESOURCE "${RESOURCES}")
set_target_properties(${PROJECT_NAME} PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_BINARY_DIR}/Info.plist)

View File

@ -117,6 +117,9 @@ add_executable(${PROJECT_NAME}
${SRCS}
)
if (WITH_BINARY_VERSIONING)
set_target_properties(${PROJECT_NAME} PROPERTIES OUTPUT_NAME "${PROJECT_NAME}${PROJECT_VERSION_MAJOR}${CMAKE_EXECUTABLE_SUFFIX}")
endif()
target_link_libraries(${PROJECT_NAME} PRIVATE ${LIBS})
set_property(TARGET ${PROJECT_NAME} PROPERTY FOLDER "Client/SDL")
install(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT client)

View File

@ -82,5 +82,8 @@ set(LIBS
)
target_link_libraries(${PROJECT_NAME} PRIVATE ${LIBS})
if (WITH_BINARY_VERSIONING)
set_target_properties(${PROJECT_NAME} PROPERTIES OUTPUT_NAME "${PROJECT_NAME}${PROJECT_VERSION_MAJOR}${CMAKE_EXECUTABLE_SUFFIX}")
endif()
set_property(TARGET ${PROJECT_NAME} PROPERTY FOLDER "Client/Sample")
install(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT client)

View File

@ -48,6 +48,9 @@ list (APPEND ${MODULE_PREFIX}_LIBS freerdp-client freerdp uwac)
add_executable(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
if (WITH_BINARY_VERSIONING)
set_target_properties(${MODULE_NAME} PROPERTIES OUTPUT_NAME "${MODULE_NAME}${FREERDP_API_VERSION}${CMAKE_EXECUTABLE_SUFFIX}")
endif()
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT client)

View File

@ -93,7 +93,11 @@ else()
set(${MODULE_PREFIX}_SRCS ${${MODULE_PREFIX}_SRCS} cli/wfreerdp.c cli/wfreerdp.h)
add_executable(${MODULE_NAME} ${WIN32_GUI_FLAG} ${${MODULE_PREFIX}_SRCS})
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
set_target_properties(${MODULE_NAME} PROPERTIES OUTPUT_NAME "wfreerdp")
if (WITH_BINARY_VERSIONING)
set_target_properties(${MODULE_NAME} PROPERTIES OUTPUT_NAME "${MODULE_NAME}${FREERDP_API_VERSION}${CMAKE_EXECUTABLE_SUFFIX}")
else()
set_target_properties(${MODULE_NAME} PROPERTIES OUTPUT_NAME "${MODULE_NAME}${CMAKE_EXECUTABLE_SUFFIX}")
endif()
endif()
list(APPEND LIBS freerdp-client)

View File

@ -42,6 +42,9 @@ if (WIN32)
endif()
add_executable(${MODULE_NAME} ${WIN32_GUI_FLAG} ${${MODULE_PREFIX}_SRCS})
if (WITH_BINARY_VERSIONING)
set_target_properties(${MODULE_NAME} PROPERTIES OUTPUT_NAME "${MODULE_NAME}${PROJECT_VERSION_MAJOR}${CMAKE_EXECUTABLE_SUFFIX}")
endif()
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} wfreerdp-client)
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})

View File

@ -113,6 +113,9 @@ else()
cli/xfreerdp.c xfreerdp.h
)
add_executable(${PROJECT_NAME} ${SRCS})
if (WITH_BINARY_VERSIONING)
set_target_properties(${PROJECT_NAME} PROPERTIES OUTPUT_NAME "${PROJECT_NAME}${PROJECT_VERSION_MAJOR}${CMAKE_EXECUTABLE_SUFFIX}")
endif()
include_directories(..)
endif()

View File

@ -23,7 +23,13 @@ set(SRCS
)
add_executable(${MODULE_NAME} ${SRCS})
set_target_properties(${MODULE_NAME} PROPERTIES OUTPUT_NAME "xfreerdp" RUNTIME_OUTPUT_DIRECTORY "..")
if (WITH_BINARY_VERSIONING)
set_target_properties(${MODULE_NAME} PROPERTIES OUTPUT_NAME "xfreerdp${PROJECT_VERSION_MAJOR}${CMAKE_EXECUTABLE_SUFFIX}")
else()
set_target_properties(${MODULE_NAME} PROPERTIES OUTPUT_NAME "xfreerdp${CMAKE_EXECUTABLE_SUFFIX}")
endif()
set_target_properties(${MODULE_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY "..")
list(APPEND LIBS
xfreerdp-client freerdp-client

View File

@ -120,6 +120,9 @@ add_executable(${MODULE_NAME}
${${MODULE_NAME}_RESOURCES}
)
if (WITH_BINARY_VERSIONING)
set_target_properties(${MODULE_NAME} PROPERTIES OUTPUT_NAME "${MODULE_NAME}${PROJECT_VERSION_MAJOR}${CMAKE_EXECUTABLE_SUFFIX}")
endif()
set_target_properties(${MODULE_NAME} PROPERTIES RESOURCE "${${MODULE_NAME}_RESOURCES}")
set(EXECUTABLE_NAME "\${EXECUTABLE_NAME}")

View File

@ -26,6 +26,9 @@ set(SRCS
rdtk_x11.c)
add_executable(${MODULE_NAME} ${SRCS})
if (WITH_BINARY_VERSIONING)
set_target_properties(${MODULE_NAME} PROPERTIES OUTPUT_NAME "${MODULE_NAME}${RDTK_API_VERSION}${CMAKE_EXECUTABLE_SUFFIX}")
endif()
set(LIBS rdtk)

View File

@ -56,6 +56,9 @@ if(CHANNEL_RDPSND_SERVER)
endif()
add_executable(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
if (WITH_BINARY_VERSIONING)
set_target_properties(${MODULE_NAME} PROPERTIES OUTPUT_NAME "${MODULE_NAME}${FREERDP_API_VERSION}${CMAKE_EXECUTABLE_SUFFIX}")
endif()
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS}
freerdp-server

View File

@ -52,6 +52,9 @@ endif()
file(COPY test_icon.ppm DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
add_executable(${MODULE_NAME} ${SRCS})
if (WITH_BINARY_VERSIONING)
set_target_properties(${MODULE_NAME} PROPERTIES OUTPUT_NAME "${MODULE_NAME}${FREERDP_API_VERSION}${CMAKE_EXECUTABLE_SUFFIX}")
endif()
list(APPEND LIBS freerdp-server)
list(APPEND LIBS winpr freerdp)

View File

@ -89,6 +89,9 @@ if(WITH_SERVER_INTERFACE)
else()
set(${MODULE_PREFIX}_SRCS ${${MODULE_PREFIX}_SRCS} cli/wfreerdp.c cli/wfreerdp.h)
add_executable(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
if (WITH_BINARY_VERSIONING)
set_target_properties(${MODULE_NAME} PROPERTIES OUTPUT_NAME "${MODULE_NAME}${FREERDP_API_VERSION}${CMAKE_EXECUTABLE_SUFFIX}")
endif()
endif()

View File

@ -41,7 +41,11 @@ set (${MODULE_PREFIX}_SRCS ${${MODULE_PREFIX}_SRCS} ${CMAKE_CURRENT_BINARY_DIR}/
add_executable(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
set_target_properties(${MODULE_NAME} PROPERTIES OUTPUT_NAME ${OUTPUT_NAME})
if (WITH_BINARY_VERSIONING)
set_target_properties(${MODULE_NAME} PROPERTIES OUTPUT_NAME "${OUTPUT_NAME}${FREERDP_API_VERSION}${CMAKE_EXECUTABLE_SUFFIX}")
else()
set_target_properties(${MODULE_NAME} PROPERTIES OUTPUT_NAME "${OUTPUT_NAME}${CMAKE_EXECUTABLE_SUFFIX}")
endif()
set(${MODULE_PREFIX}_LIBS wfreerdp-server)

View File

@ -36,7 +36,13 @@ endif()
set(APP_NAME "freerdp-proxy")
add_executable(${APP_NAME}
${PROXY_APP_SRCS})
${PROXY_APP_SRCS}
)
if (WITH_BINARY_VERSIONING)
set_target_properties(${APP_NAME} PROPERTIES OUTPUT_NAME "${APP_NAME}${FREERDP_API_VERSION}${CMAKE_EXECUTABLE_SUFFIX}")
endif()
target_link_libraries(${APP_NAME} ${MODULE_NAME})
install(TARGETS ${APP_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT server)
if (WITH_DEBUG_SYMBOLS AND MSVC)

View File

@ -202,6 +202,10 @@ endif()
add_executable(${MODULE_NAME} ${SRCS})
if (WITH_BINARY_VERSIONING)
set_target_properties(${MODULE_NAME} PROPERTIES OUTPUT_NAME "${MODULE_NAME}${FREERDP_API_VERSION}${CMAKE_EXECUTABLE_SUFFIX}")
endif()
list(APPEND LIBS freerdp-shadow-subsystem freerdp-shadow freerdp winpr)
target_link_libraries(${MODULE_NAME} PRIVATE ${LIBS})

View File

@ -41,6 +41,9 @@ add_executable(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
set(${MODULE_PREFIX}_LIBS winpr)
if (WITH_BINARY_VERSIONING)
set_target_properties(${MODULE_NAME} PROPERTIES OUTPUT_NAME "${MODULE_NAME}${WINPR_API_VERSION}${CMAKE_EXECUTABLE_SUFFIX}")
endif()
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT tools EXPORT WinPRTargets)

View File

@ -44,6 +44,9 @@ set(${MODULE_PREFIX}_LIBS winpr-tools)
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS} winpr)
if (WITH_BINARY_VERSIONING)
set_target_properties(${MODULE_NAME} PROPERTIES OUTPUT_NAME "${MODULE_NAME}${WINPR_API_VERSION}${CMAKE_EXECUTABLE_SUFFIX}")
endif()
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "WinPR/Tools")
install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT tools EXPORT WinPRTargets)