Improve install-mingw-w64-strip target

This commit is contained in:
Martchus 2016-11-10 23:40:34 +01:00
parent b903adccdb
commit 722e9ae590
2 changed files with 49 additions and 47 deletions

View File

@ -54,16 +54,15 @@ install(TARGETS ${TARGET_PREFIX}${META_PROJECT_NAME}${TARGET_SUFFIX}
) )
if(NOT TARGET install-binary) if(NOT TARGET install-binary)
add_custom_target(install-binary add_custom_target(install-binary
DEPENDS ${META_PROJECT_NAME}
COMMAND "${CMAKE_COMMAND}" -DCMAKE_INSTALL_COMPONENT=binary -P "${CMAKE_BINARY_DIR}/cmake_install.cmake" COMMAND "${CMAKE_COMMAND}" -DCMAKE_INSTALL_COMPONENT=binary -P "${CMAKE_BINARY_DIR}/cmake_install.cmake"
) )
endif() endif()
add_dependencies(install-binary ${TARGET_PREFIX}${META_PROJECT_NAME}${TARGET_SUFFIX})
# add install target for localization # add install target for localization
if(NOT TARGET install-mingw-w64) if(NOT TARGET install-mingw-w64)
add_custom_target(install-mingw-w64 add_custom_target(install-mingw-w64)
DEPENDS install-binary ${LOCALIZATION_TARGET} add_dependencies(install-mingw-w64 install-binary ${TARGET_PREFIX}${META_PROJECT_NAME}${TARGET_SUFFIX})
)
endif() endif()
# add install target for desktop entries and icons # add install target for desktop entries and icons
@ -84,24 +83,23 @@ foreach(ICON_FILE ${ICON_FILES})
endforeach() endforeach()
if(NOT TARGET install-desktop) if(NOT TARGET install-desktop)
add_custom_target(install-desktop add_custom_target(install-desktop
DEPENDS ${META_PROJECT_NAME}
COMMAND "${CMAKE_COMMAND}" -DCMAKE_INSTALL_COMPONENT=desktop -P "${CMAKE_BINARY_DIR}/cmake_install.cmake" COMMAND "${CMAKE_COMMAND}" -DCMAKE_INSTALL_COMPONENT=desktop -P "${CMAKE_BINARY_DIR}/cmake_install.cmake"
) )
endif() endif()
add_dependencies(install-desktop ${TARGET_PREFIX}${META_PROJECT_NAME}${TARGET_SUFFIX})
# add install target for stripped binaries # add install target for stripped binaries
if(NOT TARGET install-binary-strip) if(NOT TARGET install-binary-strip)
add_custom_target(install-binary-strip add_custom_target(install-binary-strip
DEPENDS ${META_PROJECT_NAME}
COMMAND "${CMAKE_COMMAND}" -DCMAKE_INSTALL_DO_STRIP=1 -DCMAKE_INSTALL_COMPONENT=binary -P "${CMAKE_BINARY_DIR}/cmake_install.cmake" COMMAND "${CMAKE_COMMAND}" -DCMAKE_INSTALL_DO_STRIP=1 -DCMAKE_INSTALL_COMPONENT=binary -P "${CMAKE_BINARY_DIR}/cmake_install.cmake"
) )
endif() endif()
add_dependencies(install-binary-strip ${TARGET_PREFIX}${META_PROJECT_NAME}${TARGET_SUFFIX})
# add mingw-w64 specific install target # add mingw-w64 specific install target
if(NOT TARGET install-mingw-w64-strip) if(NOT TARGET install-mingw-w64-strip)
add_custom_target(install-mingw-w64-strip add_custom_target(install-mingw-w64-strip)
DEPENDS install-binary-strip ${LOCALIZATION_TARGET} add_dependencies(install-mingw-w64-strip install-binary-strip ${LOCALIZATION_TARGET})
)
endif() endif()
# add target for launching application with wine ensuring the WINEPATH is set correctly so wine is able to find all required *.dll files # add target for launching application with wine ensuring the WINEPATH is set correctly so wine is able to find all required *.dll files

View File

@ -230,6 +230,20 @@ if(NOT TARGET install-pkg-config)
) )
endif() endif()
# add install target for libs
if(NOT TARGET install-binary)
add_custom_target(install-binary
COMMAND "${CMAKE_COMMAND}" -DCMAKE_INSTALL_COMPONENT=binary -P "${CMAKE_BINARY_DIR}/cmake_install.cmake"
)
endif()
# add install target for stripped libs
if(NOT TARGET install-binary-strip)
add_custom_target(install-binary-strip
COMMAND "${CMAKE_COMMAND}" -DCMAKE_INSTALL_DO_STRIP=1 -DCMAKE_INSTALL_COMPONENT=binary -P "${CMAKE_BINARY_DIR}/cmake_install.cmake"
)
endif()
# add install target for dynamic libs # add install target for dynamic libs
if(BUILD_SHARED_LIBS) if(BUILD_SHARED_LIBS)
install( install(
@ -247,11 +261,8 @@ if(BUILD_SHARED_LIBS)
EXPORT_LINK_INTERFACE_LIBRARIES EXPORT_LINK_INTERFACE_LIBRARIES
COMPONENT cmake-config COMPONENT cmake-config
) )
endif() add_dependencies(install-binary ${TARGET_PREFIX}${META_PROJECT_NAME}${TARGET_SUFFIX})
if(NOT TARGET install-binary) add_dependencies(install-binary-strip ${TARGET_PREFIX}${META_PROJECT_NAME}${TARGET_SUFFIX})
add_custom_target(install-binary
COMMAND "${CMAKE_COMMAND}" -DCMAKE_INSTALL_COMPONENT=binary -P "${CMAKE_BINARY_DIR}/cmake_install.cmake"
)
endif() endif()
# add install for static libs when building with mingw-w64 # add install for static libs when building with mingw-w64
@ -271,15 +282,8 @@ if(BUILD_STATIC_LIBS)
EXPORT_LINK_INTERFACE_LIBRARIES EXPORT_LINK_INTERFACE_LIBRARIES
COMPONENT cmake-config COMPONENT cmake-config
) )
endif() add_dependencies(install-binary ${TARGET_PREFIX}${META_PROJECT_NAME}${TARGET_SUFFIX}_static)
add_dependencies(install-binary-strip ${TARGET_PREFIX}${META_PROJECT_NAME}${TARGET_SUFFIX}_static)
#export(EXPORT ${META_PROJECT_NAME}Targets EXPORT_LINK_INTERFACE_LIBRARIES)
# add install target for stripped libs
if(NOT TARGET install-binary-strip)
add_custom_target(install-binary-strip
COMMAND "${CMAKE_COMMAND}" -DCMAKE_INSTALL_DO_STRIP=1 -DCMAKE_INSTALL_COMPONENT=binary -P "${CMAKE_BINARY_DIR}/cmake_install.cmake"
)
endif() endif()
# add install target for header files # add install target for header files
@ -329,34 +333,34 @@ endif()
# add install target for all the cmake stuff # add install target for all the cmake stuff
if(NOT TARGET install-cmake-stuff) if(NOT TARGET install-cmake-stuff)
add_custom_target(install-cmake-stuff add_custom_target(install-cmake-stuff)
DEPENDS install-cmake-config install-cmake-modules install-cmake-templates add_dependencies(install-cmake-stuff install-cmake-config install-cmake-modules install-cmake-templates)
)
endif() endif()
# add mingw-w64 specific install targets # add mingw-w64 specific install targets
if(NOT TARGET install-mingw-w64) if(NOT TARGET install-mingw-w64)
add_custom_target(install-mingw-w64 add_custom_target(install-mingw-w64)
DEPENDS install-binary install-header install-cmake-stuff ${LOCALIZATION_TARGET} add_dependencies(install-mingw-w64 install-binary install-header install-cmake-stuff install-pkg-config)
)
endif()
set(ADDITIONAL_STRIP_TARGETS)
if(BUILD_SHARED_LIBS AND NOT TARGET install-mingw-w64-importlib-strip)
add_custom_target(install-mingw-w64-importlib-strip
DEPENDS install-binary-strip
COMMAND "${CMAKE_FIND_ROOT_PATH}/bin/strip" --strip-unneeded "\$\{DESTDIR\}\$\{DESTDIR:+/\}${CMAKE_INSTALL_PREFIX}/lib/lib${META_PROJECT_NAME}.dll.a"
)
list(APPEND ADDITIONAL_STRIP_TARGETS install-mingw-w64-importlib-strip)
endif()
if(BUILD_STATIC_LIBS AND NOT TARGET install-mingw-w64-staticlib-strip)
add_custom_target(install-mingw-w64-staticlib-strip
DEPENDS install-binary-strip
COMMAND "${CMAKE_FIND_ROOT_PATH}/bin/strip" -g "\$\{DESTDIR\}\$\{DESTDIR:+/\}${CMAKE_INSTALL_PREFIX}/lib/lib${META_PROJECT_NAME}.a"
)
list(APPEND ADDITIONAL_STRIP_TARGETS install-mingw-w64-staticlib-strip)
endif() endif()
if(NOT TARGET install-mingw-w64-strip) if(NOT TARGET install-mingw-w64-strip)
add_custom_target(install-mingw-w64-strip add_custom_target(install-mingw-w64-strip)
DEPENDS install-binary-strip ${ADDITIONAL_STRIP_TARGETS} install-header install-cmake-stuff ${LOCALIZATION_TARGET} add_dependencies(install-mingw-w64-strip install-binary-strip install-header install-cmake-stuff install-pkg-config)
) endif()
if(LOCALIZATION_TARGET)
add_dependencies(install-mingw-w64 ${LOCALIZATION_TARGET})
add_dependencies(install-mingw-w64-strip ${LOCALIZATION_TARGET})
endif()
if(BUILD_SHARED_LIBS)
add_custom_target(install-${TARGET_PREFIX}${META_PROJECT_NAME}${TARGET_SUFFIX}-mingw-w64-importlib-strip
COMMAND "${CMAKE_FIND_ROOT_PATH}/bin/strip" -g "\$\{DESTDIR\}\$\{DESTDIR:+/\}${CMAKE_INSTALL_PREFIX}/lib/lib${TARGET_PREFIX}${META_PROJECT_NAME}${TARGET_SUFFIX}.dll.a"
)
add_dependencies(install-${TARGET_PREFIX}${META_PROJECT_NAME}${TARGET_SUFFIX}-mingw-w64-importlib-strip install-binary-strip)
add_dependencies(install-mingw-w64-strip install-${TARGET_PREFIX}${META_PROJECT_NAME}${TARGET_SUFFIX}-mingw-w64-importlib-strip)
endif()
if(BUILD_STATIC_LIBS)
add_custom_target(install-${TARGET_PREFIX}${META_PROJECT_NAME}${TARGET_SUFFIX}-mingw-w64-staticlib-strip
COMMAND "${CMAKE_FIND_ROOT_PATH}/bin/strip" -g "\$\{DESTDIR\}\$\{DESTDIR:+/\}${CMAKE_INSTALL_PREFIX}/lib/lib${TARGET_PREFIX}${META_PROJECT_NAME}${TARGET_SUFFIX}.a"
)
add_dependencies(install-${TARGET_PREFIX}${META_PROJECT_NAME}${TARGET_SUFFIX}-mingw-w64-staticlib-strip install-binary-strip)
add_dependencies(install-mingw-w64-strip install-${TARGET_PREFIX}${META_PROJECT_NAME}${TARGET_SUFFIX}-mingw-w64-staticlib-strip)
endif() endif()