@@ -19,8 +19,6 @@ target_link_libraries(syncspirit-daemon
1919)
2020target_include_directories (syncspirit-daemon PUBLIC ${syncspirit_SOURCE_DIR} /src)
2121
22- message (STATUS "build type ${CMAKE_BUILD_TYPE} " )
23-
2422if (("${CMAKE_BUILD_TYPE} " STREQUAL "Release" ) AND (NOT WIN32 ))
2523 include (CheckIPOSupported)
2624 check_ipo_supported(RESULT supported OUTPUT error)
@@ -31,3 +29,23 @@ if (("${CMAKE_BUILD_TYPE}" STREQUAL "Release") AND (NOT WIN32))
3129 message (STATUS "IPO / LTO not supported: <${error} >" )
3230 endif ()
3331endif ()
32+
33+ if (CMAKE_BUILD_TYPE MATCHES "^([Rr]elease)|(MinSizeRel)" )
34+ set_target_properties (syncspirit-daemon PROPERTIES LINK_FLAGS -s)
35+ set (DAEMON_TARGET "${CMAKE_CXX_COMPILER} " )
36+ string (REGEX REPLACE ".*/" "" DAEMON_TARGET ${DAEMON_TARGET} )
37+ string (REGEX REPLACE "(.*)-.+" "\\ 1" DAEMON_TARGET ${DAEMON_TARGET} )
38+ if ("${DAEMON_TARGET} " STREQUAL "" )
39+ set (DAEMON_TARGET "unknown" )
40+ endif ()
41+ string (JOIN "_" DAEMON_TARGET "syncspirit-daemon" ${SYNCSPIRIT_VERSION} ${DAEMON_TARGET} )
42+ set (DAEMON_TARGET "${DAEMON_TARGET} .zip" )
43+ set (ACHIVE_NAME "${syncspirit_BINARY_DIR} /${DAEMON_TARGET} " )
44+ message (STATUS "going to make an ${ACHIVE_NAME} " )
45+ add_custom_target (make_archive ALL
46+ COMMAND zip "-q9" "${ACHIVE_NAME} " "syncspirit-daemon${CMAKE_EXECUTABLE_SUFFIX} "
47+ DEPENDS "syncspirit-daemon${CMAKE_EXECUTABLE_SUFFIX} "
48+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
49+ COMMENT "making release archive ${DAEMON_TARGET} "
50+ VERBATIM )
51+ endif ()
0 commit comments