mirror of https://github.com/mgba-emu/mgba.git
CMake: Add debug-separated packages
This commit is contained in:
parent
4a72f5f562
commit
7198544873
|
@ -90,7 +90,7 @@ source_group("Utilities" FILES ${UTIL_SRC})
|
|||
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR}/include ${CMAKE_CURRENT_SOURCE_DIR}/src)
|
||||
|
||||
if(NOT CMAKE_BUILD_TYPE)
|
||||
set(CMAKE_BUILD_TYPE Release CACHE STRING "Build type (e.g. Release or Debug)" FORCE)
|
||||
set(CMAKE_BUILD_TYPE Release CACHE STRING "Build type (e.g. Release, RelWithDebInfo, or Debug)" FORCE)
|
||||
endif()
|
||||
|
||||
if(UNIX OR WIN32_UNIX_PATHS)
|
||||
|
@ -264,6 +264,14 @@ if(APPLE OR CMAKE_C_COMPILER_ID STREQUAL "GNU" AND BUILD_LTO)
|
|||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -flto")
|
||||
endif()
|
||||
|
||||
if(CMAKE_C_COMPILER_ID STREQUAL "GNU" OR CMAKE_C_COMPILER_ID STREQUAL "Clang" OR CMAKE_C_COMPILER_ID STREQUAL "AppleClang")
|
||||
find_program(OBJCOPY ${cross_prefix}objcopy)
|
||||
find_program(STRIP ${cross_prefix}strip)
|
||||
|
||||
set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELEASE} -gdwarf")
|
||||
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELEASE} -gdwarf")
|
||||
endif()
|
||||
|
||||
if(BUILD_BBB OR BUILD_RASPI OR BUILD_PANDORA)
|
||||
if(NOT BUILD_EGL)
|
||||
add_definitions(-DCOLOR_16_BIT -DCOLOR_5_6_5)
|
||||
|
@ -1043,9 +1051,18 @@ set(CPACK_STRIP_FILES ON)
|
|||
|
||||
if(DISTBUILD)
|
||||
set(CPACK_ARCHIVE_COMPONENT_INSTALL ON)
|
||||
if(CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo" AND BUILD_SHARED)
|
||||
if(NOT APPLE)
|
||||
add_custom_command(TARGET ${BINARY_NAME} POST_BUILD COMMAND "${OBJCOPY}" --only-keep-debug "$<TARGET_FILE:${BINARY_NAME}>" "$<TARGET_FILE:${BINARY_NAME}>.dSYM")
|
||||
add_custom_command(TARGET ${BINARY_NAME} POST_BUILD COMMAND "${STRIP}" -S "$<TARGET_FILE:${BINARY_NAME}>")
|
||||
install(FILES "$<TARGET_FILE:${BINARY_NAME}>.dSYM" DESTINATION ${LIBDIR} COMPONENT lib${BINARY_NAME}-dbg)
|
||||
endif()
|
||||
endif()
|
||||
if(WIN32 OR APPLE)
|
||||
set(CPACK_COMPONENTS_ALL ${BINARY_NAME} ${BINARY_NAME}-qt ${BINARY_NAME}-sdl ${BINARY_NAME}-perf)
|
||||
set(CPACK_COMPONENTS_GROUPING ALL_COMPONENTS_IN_ONE)
|
||||
set(CPACK_COMPONENTS_ALL ${BINARY_NAME} ${BINARY_NAME}-qt ${BINARY_NAME}-sdl ${BINARY_NAME}-qt-dbg ${BINARY_NAME}-sdl-dbg ${BINARY_NAME}-perf)
|
||||
if(APPLE)
|
||||
set(CPACK_COMPONENTS_GROUPING ALL_COMPONENTS_IN_ONE)
|
||||
endif()
|
||||
elseif(3DS)
|
||||
set(CPACK_COMPONENTS_ALL ${BINARY_NAME} ${BINARY_NAME}-3ds ${BINARY_NAME}-perf)
|
||||
elseif(WII)
|
||||
|
@ -1092,6 +1109,19 @@ if(SDL_FOUND)
|
|||
cpack_add_component(${BINARY_NAME}-sdl GROUP sdl)
|
||||
endif()
|
||||
|
||||
if(DISTBUILD AND CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo")
|
||||
cpack_add_component_group(debug PARENT_GROUP dev)
|
||||
if(BUILD_SHARED AND NOT IS_EMBEDDED)
|
||||
cpack_add_component(lib${BINARY_NAME}-dbg GROUP debug)
|
||||
endif()
|
||||
if(BUILD_QT)
|
||||
cpack_add_component(${BINARY_NAME}-qt-dbg GROUP debug)
|
||||
endif()
|
||||
if(SDL_FOUND)
|
||||
cpack_add_component(${BINARY_NAME}-sdl-dbg GROUP debug)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
cpack_add_component_group(test PARENT_GROUP dev)
|
||||
cpack_add_component(${BINARY_NAME}-perf GROUP test)
|
||||
cpack_add_component(${BINARY_NAME}-fuzz GROUP test)
|
||||
|
|
|
@ -348,3 +348,11 @@ elseif(WIN32)
|
|||
install(CODE "execute_process(COMMAND \"${BASH}\" \"${CMAKE_SOURCE_DIR}/tools/deploy-win.sh\" \"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.exe\" \"\${CMAKE_INSTALL_PREFIX}\" \"\$ENV{PWD}\" WORKING_DIRECTORY \"${CMAKE_BINARY_DIR}\")" COMPONENT ${BINARY_NAME}-qt)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(DISTBUILD AND CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo")
|
||||
if(NOT APPLE)
|
||||
add_custom_command(TARGET ${BINARY_NAME}-qt POST_BUILD COMMAND "${OBJCOPY}" --only-keep-debug "$<TARGET_FILE:${BINARY_NAME}-qt>" "$<TARGET_FILE:${BINARY_NAME}-qt>.dSYM")
|
||||
add_custom_command(TARGET ${BINARY_NAME}-qt POST_BUILD COMMAND "${STRIP}" -S "$<TARGET_FILE:${BINARY_NAME}-qt>")
|
||||
install(FILES "$<TARGET_FILE:${BINARY_NAME}-qt>.dSYM" DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT ${BINARY_NAME}-qt-dbg)
|
||||
endif()
|
||||
endif()
|
||||
|
|
|
@ -105,3 +105,11 @@ install(TARGETS ${BINARY_NAME}-sdl DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT
|
|||
if(UNIX)
|
||||
install(FILES ${CMAKE_SOURCE_DIR}/doc/mgba.6 DESTINATION ${MANDIR}/man6 COMPONENT ${BINARY_NAME}-sdl)
|
||||
endif()
|
||||
|
||||
if(DISTBUILD AND CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo")
|
||||
if(NOT APPLE)
|
||||
add_custom_command(TARGET ${BINARY_NAME}-sdl POST_BUILD COMMAND "${OBJCOPY}" --only-keep-debug "$<TARGET_FILE:${BINARY_NAME}-sdl>" "$<TARGET_FILE:${BINARY_NAME}-sdl>.dSYM")
|
||||
add_custom_command(TARGET ${BINARY_NAME}-sdl POST_BUILD COMMAND "${STRIP}" -S "$<TARGET_FILE:${BINARY_NAME}-sdl>")
|
||||
install(FILES "$<TARGET_FILE:${BINARY_NAME}-sdl>.dSYM" DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT ${BINARY_NAME}-sdl-dbg)
|
||||
endif()
|
||||
endif()
|
||||
|
|
Loading…
Reference in New Issue