mirror of
https://github.com/TuxSH/PkmGCTools.git
synced 2026-09-07 16:25:39 -05:00
Fixed "install" target. Now installs to installdir/bin directly, calling windeployqt on windows
This commit is contained in:
@@ -7,20 +7,18 @@ message("BUILD_PKMGCSAVEEDITOR:\t${BUILD_PKMGCSAVEEDITOR}")
|
||||
set(CMAKE_INSTALL_PREFIX installdir)
|
||||
set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP ON)
|
||||
include(InstallRequiredSystemLibraries)
|
||||
install(FILES ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS} DESTINATION Release/bin CONFIGURATIONS Release RelWithDebInfo MinSizeRel COMPONENT Runtime)
|
||||
install(FILES ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS} DESTINATION bin COMPONENT Runtime)
|
||||
|
||||
add_subdirectory(LibPkmGC)
|
||||
add_definitions(${LIBPKMGC_DEFINITIONS})
|
||||
|
||||
if(BUILD_PKMGCSAVEEDITOR)
|
||||
add_subdirectory(PkmGCSaveEditor)
|
||||
install(FILES ${LIBPKMGC_RUNTIME} DESTINATION Debug/bin CONFIGURATIONS Debug COMPONENT Runtime)
|
||||
install(FILES ${LIBPKMGC_RUNTIME} DESTINATION Release/bin CONFIGURATIONS Release RelWithDebInfo MinSizeRel COMPONENT Runtime)
|
||||
|
||||
install(FILES ${QT5_RUNTIME_DEBUG} DESTINATION Debug/bin CONFIGURATIONS Debug COMPONENT Runtime)
|
||||
install(FILES ${QT5_RUNTIME_RELEASE} DESTINATION Release/bin CONFIGURATIONS Release RelWithDebInfo MinSizeRel COMPONENT Runtime)
|
||||
|
||||
install(FILES ${QT5_TRANSLATION_QM} DESTINATION Debug/bin/languages CONFIGURATIONS Debug COMPONENT Translations OPTIONAL)
|
||||
install(FILES ${QT5_TRANSLATION_QM} DESTINATION Release/bin/languages CONFIGURATIONS Release RelWithDebInfo MinSizeRel COMPONENT Translations OPTIONAL)
|
||||
|
||||
install(FILES ${LIBPKMGC_RUNTIME} DESTINATION bin COMPONENT Runtime)
|
||||
if(WIN32)
|
||||
install(CODE "message(\"Running windeployqt\")" COMPONENT RUNTIME)
|
||||
install(CODE "execute_process(COMMAND ${QT5_BINARY_DIR}/windeployqt.exe ${CMAKE_INSTALL_PREFIX}/bin/PkmGCSaveEditor.exe)")
|
||||
endif(WIN32)
|
||||
endif()
|
||||
|
||||
|
||||
@@ -28,24 +28,19 @@ if(LIBPKMGC_DYN_LIB)
|
||||
add_definitions(-DLIBPKMGC_DYN_LIB)
|
||||
add_library(LibPkmGC SHARED ${all_files})
|
||||
set(LIBPKMGC_RUNTIME $<TARGET_FILE:LibPkmGC> CACHE INTERNAL "Runtime dependencies for projects linking against this library" FORCE)
|
||||
install(FILES $<TARGET_FILE:LibPkmGC> $<TARGET_LINKER_FILE:LibPkmGC> DESTINATION Release/lib/shared CONFIGURATIONS Release RelWithDebInfo MinSizeRel COMPONENT Libraries)
|
||||
install(FILES $<TARGET_FILE:LibPkmGC> $<TARGET_LINKER_FILE:LibPkmGC> DESTINATION Debug/lib/shared CONFIGURATIONS Debug COMPONENT Libraries)
|
||||
install(FILES "README.md" "LICENSE" DESTINATION Debug/lib/shared CONFIGURATIONS Debug COMPONENT Libraries)
|
||||
install(FILES "README.md" "LICENSE" DESTINATION Release/lib/shared CONFIGURATIONS Release RelWithDebInfo MinSizeRel COMPONENT Libraries)
|
||||
install(FILES $<TARGET_FILE:LibPkmGC> $<TARGET_LINKER_FILE:LibPkmGC> DESTINATION lib/shared COMPONENT Libraries)
|
||||
else()
|
||||
set(LIBPKMGC_DEFINITIONS -DLIBPKMGC_STATIC_LIB CACHE INTERNAL "LibPkmGC's definitions" FORCE)
|
||||
add_definitions(-DLIBPKMGC_STATIC_LIB)
|
||||
add_library(LibPkmGC STATIC ${all_files})
|
||||
install(FILES $<TARGET_FILE:LibPkmGC> DESTINATION Release/lib/static CONFIGURATIONS Release RelWithDebInfo MinSizeRel COMPONENT Libraries)
|
||||
install(FILES $<TARGET_FILE:LibPkmGC> DESTINATION Debug/lib/static CONFIGURATIONS Debug COMPONENT Libraries)
|
||||
install(FILES "README.md" "LICENSE" DESTINATION Debug/lib/static CONFIGURATIONS Debug COMPONENT Libraries)
|
||||
install(FILES "README.md" "LICENSE" DESTINATION Release/lib/static CONFIGURATIONS Release RelWithDebInfo MinSizeRel COMPONENT Libraries)
|
||||
install(FILES $<TARGET_FILE:LibPkmGC> DESTINATION lib/static COMPONENT Libraries)
|
||||
endif()
|
||||
|
||||
install(DIRECTORY "include/LibPkmGC" DESTINATION "Release/include" CONFIGURATIONS Release RelWithDebInfo MinSizeRel COMPONENT Headers)
|
||||
install(DIRECTORY "include/LibPkmGC" DESTINATION "Debug/include" CONFIGURATIONS Debug COMPONENT Headers)
|
||||
install(FILES "README.md" "LICENSE" DESTINATION lib CONFIGURATIONS Debug COMPONENT Libraries)
|
||||
|
||||
install(FILES "README.md" "LICENSE" DESTINATION "Debug/include" CONFIGURATIONS Debug COMPONENT Headers)
|
||||
install(FILES "README.md" "LICENSE" DESTINATION "Release/include" CONFIGURATIONS Release RelWithDebInfo MinSizeRel COMPONENT Headers)
|
||||
|
||||
install(DIRECTORY "include/LibPkmGC" DESTINATION "include" COMPONENT Headers)
|
||||
|
||||
install(FILES "README.md" "LICENSE" DESTINATION "include" COMPONENT Headers)
|
||||
|
||||
set_target_properties(LibPkmGC PROPERTIES PREFIX "" IMPORT_PREFIX "")
|
||||
@@ -18,26 +18,17 @@ target_link_libraries(PkmGCSaveEditor LibPkmGC Qt5::Widgets)
|
||||
|
||||
set(PKMGCSAVEEDITOR_SUPPORTED_LANGUAGES en fr CACHE INTERNAL "PkmGCSaveEditor's supported languages" FORCE)
|
||||
|
||||
get_target_property(QT5_QMAKE_EXECUTABLE Qt5::qmake IMPORTED_LOCATION)
|
||||
execute_process(COMMAND ${QT5_QMAKE_EXECUTABLE} -query QT_INSTALL_BINS OUTPUT_VARIABLE QT5_BINARY_DIR OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
message(${QT5_BINARY_DIR})
|
||||
set(QT5_BINARY_DIR ${QT5_BINARY_DIR} CACHE INTERNAL "Qt5 bin dir" FORCE)
|
||||
|
||||
if(Qt5LinguistTools_FOUND)
|
||||
unset(PKMGCSAVEEDITOR_TRANSLATION_FILES)
|
||||
get_target_property(QT5_QMAKE_EXECUTABLE Qt5::qmake IMPORTED_LOCATION)
|
||||
execute_process(COMMAND ${QT5_QMAKE_EXECUTABLE} -query QT_INSTALL_TRANSLATIONS OUTPUT_VARIABLE QT5_QM_DIR OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
foreach(language ${PKMGCSAVEEDITOR_SUPPORTED_LANGUAGES})
|
||||
list(APPEND PKMGCSAVEEDITOR_TRANSLATION_FILES translations/PkmGCSaveEditor_${language}.ts)
|
||||
if(EXISTS ${QT5_QM_DIR}/qt_${language}.qm) # qt_en.qm does not exist
|
||||
list(APPEND QT5_TRANSLATION_QM ${QT5_QM_DIR}/qt_${language}.qm)
|
||||
elseif(EXISTS translations/qt/qt_${language}.qm)
|
||||
list(APPEND QT5_TRANSLATION_QM translations/qt/qt_${language}.qm)
|
||||
endif(EXISTS ${QT5_QM_DIR}/qt_${language}.qm)
|
||||
|
||||
if(EXISTS ${QT5_QM_DIR}/qtbase_${language}.qm)
|
||||
list(APPEND QT5_TRANSLATION_QM ${QT5_QM_DIR}/qtbase_${language}.qm) # Required for Qt > 5.3
|
||||
elseif(EXISTS translations/qt/qtbase_${language}.qm)
|
||||
list(APPEND QT5_TRANSLATION_QM translations/qt/qtbase_${language}.qm)
|
||||
endif(EXISTS ${QT5_QM_DIR}/qtbase_${language}.qm)
|
||||
endforeach(language)
|
||||
list(REMOVE_DUPLICATES QT5_TRANSLATION_QM)
|
||||
set(QT5_TRANSLATION_QM ${QT5_TRANSLATION_QM} CACHE INTERNAL "Qt5 *.qm")
|
||||
|
||||
set_directory_properties(PROPERTIES CLEAN_NO_CUSTOM 1) # prevent make clean from removing TS files
|
||||
|
||||
@@ -46,58 +37,13 @@ if(Qt5LinguistTools_FOUND)
|
||||
add_custom_target(PkmGCSaveEditor_translations_update DEPENDS ${TRANSLATION_MESSAGES})
|
||||
add_custom_target(PkmGCSaveEditor_translations DEPENDS ${TRANSLATION_QM})
|
||||
|
||||
install(FILES ${TRANSLATION_QM} DESTINATION Debug/bin/languages CONFIGURATIONS Debug COMPONENT Translations OPTIONAL)
|
||||
install(FILES ${TRANSLATION_QM} DESTINATION Release/bin/languages CONFIGURATIONS Release RelWithDebInfo MinSizeRel COMPONENT Translations OPTIONAL)
|
||||
install(FILES ${TRANSLATION_QM} DESTINATION bin/translations COMPONENT Translations OPTIONAL)
|
||||
else(Qt5LinguistTools_FOUND)
|
||||
message("Qt5LinguistTools was NOT found. The translation files will not be able to be updated.")
|
||||
endif(Qt5LinguistTools_FOUND)
|
||||
|
||||
|
||||
# DLL hell
|
||||
install(PROGRAMS $<TARGET_FILE:PkmGCSaveEditor> DESTINATION bin/ COMPONENT Runtime)
|
||||
|
||||
|
||||
if(NOT WIN32 AND NOT COPY_QT_LIBS_UNIX)
|
||||
set(COPY_QT_LIBS OFF)
|
||||
else()
|
||||
set(COPY_QT_LIBS ON)
|
||||
endif()
|
||||
|
||||
if(COPY_QT_LIBS)
|
||||
get_target_property(qt_libs Qt5::Widgets INTERFACE_LINK_LIBRARIES)
|
||||
get_target_property(qt_widgets_location Qt5::Widgets LOCATION_Release)
|
||||
if(WIN32)
|
||||
get_target_property(qt_windows_plugin_location Qt5::QWindowsIntegrationPlugin LOCATION_Release)
|
||||
list(APPEND QT5_RUNTIME_RELEASE ${qt_windows_plugin_location})
|
||||
endif()
|
||||
list(APPEND QT5_RUNTIME_RELEASE ${qt_widgets_location})
|
||||
foreach(qt_lib ${qt_libs})
|
||||
get_target_property(qt_lib_location ${qt_lib} LOCATION_Release)
|
||||
list(APPEND QT5_RUNTIME_RELEASE ${qt_lib_location})
|
||||
endforeach()
|
||||
list(REMOVE_DUPLICATES QT5_RUNTIME_RELEASE)
|
||||
set(QT5_RUNTIME_RELEASE ${QT5_RUNTIME_RELEASE} CACHE INTERNAL "Qt5 release libraries" FORCE)
|
||||
|
||||
get_target_property(qt_libs Qt5::Widgets INTERFACE_LINK_LIBRARIES)
|
||||
get_target_property(qt_widgets_location Qt5::Widgets LOCATION_Debug)
|
||||
if(WIN32)
|
||||
get_target_property(qt_windows_plugin_location Qt5::QWindowsIntegrationPlugin LOCATION_Debug)
|
||||
list(APPEND QT5_RUNTIME_RELEASE ${qt_windows_plugin_location})
|
||||
endif()
|
||||
list(APPEND QT5_RUNTIME_DEBUG ${qt_widgets_location})
|
||||
foreach(qt_lib ${qt_libs})
|
||||
get_target_property(qt_lib_location ${qt_lib} LOCATION_Debug)
|
||||
list(APPEND QT5_RUNTIME_DEBUG ${qt_lib_location})
|
||||
endforeach()
|
||||
|
||||
list(REMOVE_DUPLICATES QT5_RUNTIME_DEBUG)
|
||||
|
||||
set(QT5_RUNTIME_DEBUG ${QT5_RUNTIME_DEBUG} CACHE INTERNAL "Qt5 debug libraries" FORCE)
|
||||
|
||||
endif()
|
||||
|
||||
install(PROGRAMS $<TARGET_FILE:PkmGCSaveEditor> DESTINATION Debug/bin CONFIGURATIONS Debug)
|
||||
install(PROGRAMS $<TARGET_FILE:PkmGCSaveEditor> DESTINATION Release/bin CONFIGURATIONS Release RelWithDebInfo MinSizeRel)
|
||||
|
||||
install(FILES "README.md" "LICENSE" DESTINATION Debug/bin CONFIGURATIONS Debug)
|
||||
install(FILES "README.md" "LICENSE" DESTINATION Release/bin CONFIGURATIONS Release RelWithDebInfo MinSizeRel)
|
||||
install(FILES "README.md" "LICENSE" DESTINATION bin COMPONENT Runtime)
|
||||
|
||||
|
||||
@@ -157,7 +157,7 @@ void MainWindow::createInterfaceLanguageMenu(void) {
|
||||
connect(interfaceLangGroup, SIGNAL(triggered(QAction*)), this, SLOT(interfaceLanguageChanged(QAction*)));
|
||||
|
||||
|
||||
langPath = QApplication::applicationDirPath().append("/languages/");
|
||||
langPath = QApplication::applicationDirPath().append("/translations/");
|
||||
QStringList fileNames = QDir(langPath).entryList(QStringList("PkmGCSaveEditor_*.qm"));
|
||||
|
||||
QAction *actionToCheck = select_auto;
|
||||
@@ -221,7 +221,7 @@ QString MainWindow::loadInterfaceLanguage(QString const& language) {
|
||||
QString sys_language = QLocale::system().name();
|
||||
sys_language.truncate(sys_language.lastIndexOf('_'));
|
||||
|
||||
QString langPath = QApplication::applicationDirPath().append("/languages/");
|
||||
QString langPath = QApplication::applicationDirPath().append("/translations/");
|
||||
QString lg = (language == "auto") ? sys_language : language;
|
||||
QString fileName = langPath +QString("PkmGCSaveEditor_%1.qm").arg(lg);
|
||||
if (!QFile(fileName).exists()) {
|
||||
|
||||
Reference in New Issue
Block a user