From 1ddc5a202d6986f5e981ce16c0fce6c49b767765 Mon Sep 17 00:00:00 2001 From: Dominik Riebeling Date: Mon, 27 Dec 2021 16:18:17 +0100 Subject: themeeditor: Convert to cmake. Change-Id: Ib46842c157121c64cd0091118aa9b7e43d83b8b3 --- utils/CMakeLists.txt | 18 +++++ utils/themeeditor/CMakeLists.txt | 149 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 167 insertions(+) create mode 100644 utils/themeeditor/CMakeLists.txt diff --git a/utils/CMakeLists.txt b/utils/CMakeLists.txt index b487e78efe..6aa419ada2 100644 --- a/utils/CMakeLists.txt +++ b/utils/CMakeLists.txt @@ -333,6 +333,21 @@ add_library(rbtomcrypt ) target_include_directories(rbtomcrypt PUBLIC ${CMAKE_CURRENT_LIST_DIR}/tomcrypt/src/headers) +add_library(skin_parser + ${CMAKE_CURRENT_LIST_DIR}/../lib/skin_parser/skin_buffer.c + ${CMAKE_CURRENT_LIST_DIR}/../lib/skin_parser/skin_buffer.h + ${CMAKE_CURRENT_LIST_DIR}/../lib/skin_parser/skin_debug.c + ${CMAKE_CURRENT_LIST_DIR}/../lib/skin_parser/skin_debug.h + ${CMAKE_CURRENT_LIST_DIR}/../lib/skin_parser/skin_parser.c + ${CMAKE_CURRENT_LIST_DIR}/../lib/skin_parser/skin_parser.h + ${CMAKE_CURRENT_LIST_DIR}/../lib/skin_parser/skin_scan.c + ${CMAKE_CURRENT_LIST_DIR}/../lib/skin_parser/skin_scan.h + ${CMAKE_CURRENT_LIST_DIR}/../lib/skin_parser/symbols.h + ${CMAKE_CURRENT_LIST_DIR}/../lib/skin_parser/tag_table.c + ${CMAKE_CURRENT_LIST_DIR}/../lib/skin_parser/tag_table.h + ) +target_include_directories(skin_parser PUBLIC ${CMAKE_CURRENT_LIST_DIR}/../lib/skin_parser) +target_compile_definitions(skin_parser PUBLIC __PCTOOL__) # target will always be build. File is only updated when contents change. add_custom_target(gitversion.h @@ -349,4 +364,7 @@ add_dependencies(gitversion gitversion.h) target_include_directories(gitversion INTERFACE ${CMAKE_CURRENT_BINARY_DIR}/gitversion) include(${CMAKE_CURRENT_LIST_DIR}/cmake/deploy.cmake) +include(${CMAKE_CURRENT_LIST_DIR}/cmake/QtTest.cmake) add_subdirectory(rbutilqt) +add_subdirectory(themeeditor) + diff --git a/utils/themeeditor/CMakeLists.txt b/utils/themeeditor/CMakeLists.txt new file mode 100644 index 0000000000..e8e137cd4d --- /dev/null +++ b/utils/themeeditor/CMakeLists.txt @@ -0,0 +1,149 @@ +# +# __________ __ ___. +# Open \______ \ ____ ____ | | _\_ |__ _______ ___ +# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / +# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < +# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ +# \/ \/ \/ \/ \/ +# +# All files in this archive are subject to the GNU General Public License. +# See the file COPYING in the source tree root for full license agreement. +# +# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY +# KIND, either express or implied. +# + +add_executable(RockboxThemeEditor + graphics/rbalbumart.cpp + graphics/rbalbumart.h + graphics/rbfont.cpp + graphics/rbfont.h + graphics/rbfontcache.cpp + graphics/rbfontcache.h + graphics/rbimage.cpp + graphics/rbimage.h + graphics/rbmovable.cpp + graphics/rbmovable.h + graphics/rbprogressbar.cpp + graphics/rbprogressbar.h + graphics/rbrenderinfo.cpp + graphics/rbrenderinfo.h + graphics/rbscene.cpp + graphics/rbscene.h + graphics/rbscreen.cpp + graphics/rbscreen.h + graphics/rbtext.cpp + graphics/rbtext.h + graphics/rbtextcache.cpp + graphics/rbtextcache.h + graphics/rbtoucharea.cpp + graphics/rbtoucharea.h + graphics/rbviewport.cpp + graphics/rbviewport.h + gui/codeeditor.cpp + gui/codeeditor.h + gui/configdocument.cpp + gui/configdocument.h + gui/configdocument.ui + gui/devicestate.cpp + gui/devicestate.h + gui/editorwindow.cpp + gui/editorwindow.h + gui/editorwindow.ui + gui/fontdownloader.cpp + gui/fontdownloader.h + gui/fontdownloader.ui + gui/newprojectdialog.cpp + gui/newprojectdialog.h + gui/newprojectdialog.ui + gui/preferencesdialog.cpp + gui/preferencesdialog.h + gui/preferencesdialog.ui + gui/projectexporter.cpp + gui/projectexporter.h + gui/projectexporter.ui + gui/rbconsole.cpp + gui/rbconsole.h + gui/rbconsole.ui + gui/skindocument.cpp + gui/skindocument.h + gui/skinhighlighter.cpp + gui/skinhighlighter.h + gui/skintimer.cpp + gui/skintimer.h + gui/skintimer.ui + gui/skinviewer.cpp + gui/skinviewer.h + gui/skinviewer.ui + gui/syntaxcompleter.cpp + gui/syntaxcompleter.h + gui/tabcontent.h + gui/targetdownloader.cpp + gui/targetdownloader.h + gui/targetdownloader.ui + main.cpp + models/parsetreemodel.cpp + models/parsetreemodel.h + models/parsetreenode.cpp + models/parsetreenode.h + models/projectmodel.cpp + models/projectmodel.h + models/targetdata.cpp + models/targetdata.h + qtfindreplacedialog/finddialog.cpp + qtfindreplacedialog/finddialog.h + qtfindreplacedialog/findform.cpp + qtfindreplacedialog/findform.h + qtfindreplacedialog/findreplace_global.h + qtfindreplacedialog/findreplacedialog.cpp + qtfindreplacedialog/findreplacedialog.h + qtfindreplacedialog/findreplacedialog.ui + qtfindreplacedialog/findreplaceform.cpp + qtfindreplacedialog/findreplaceform.h + qtfindreplacedialog/findreplaceform.ui + qtfindreplacedialog/varianteditor.cpp + qtfindreplacedialog/varianteditor.h + quazip/crypt.h + quazip/ioapi.c + quazip/ioapi.h + quazip/quazip.cpp + quazip/quazip.h + quazip/quazipfile.cpp + quazip/quazipfile.h + quazip/quazipfileinfo.h + quazip/quazipnewinfo.cpp + quazip/quazipnewinfo.h + quazip/unzip.c + quazip/unzip.h + quazip/zip.c + quazip/zip.h + zlib/zconf.h + zlib/zlib.h + resources.qrc + themeeditor.rc + ) +set_target_properties(RockboxThemeEditor PROPERTIES AUTOMOC ON) +set_target_properties(RockboxThemeEditor PROPERTIES AUTORCC ON) +set_target_properties(RockboxThemeEditor PROPERTIES AUTOUIC ON) + +target_link_libraries(RockboxThemeEditor + Qt${QT_MAJOR_VERSION}::Network Qt${QT_MAJOR_VERSION}::Widgets Qt${QT_MAJOR_VERSION}::Core + skin_parser z) +target_include_directories(RockboxThemeEditor PRIVATE models graphics gui qtfindreplacedialog quazip) +target_compile_definitions(RockboxThemeEditor PRIVATE FINDREPLACE_NOLIB) + +if(APPLE) + # MacOS Application Bundle specifics. + target_sources(RockboxThemeEditor PRIVATE + ${CMAKE_CURRENT_LIST_DIR}/resources/windowicon.icns) + set_target_properties(RockboxThemeEditor + PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_LIST_DIR}/Info.plist) + set_source_files_properties(${CMAKE_CURRENT_LIST_DIR}/resources/windowicon.icns + PROPERTIES MACOSX_PACKAGE_LOCATION Resources) +endif() + +deploy_qt(RockboxThemeEditor + ${QT_BINDIR} + ${CMAKE_CURRENT_LIST_DIR}/resources/rbthemeeditor.svg + ${CMAKE_CURRENT_LIST_DIR}/RockboxThemeEditor.desktop + ${CMAKE_CURRENT_LIST_DIR}/dmgbuild.cfg) -- cgit v1.2.3