Warning, /office/kmymoney/kmymoney/widgets/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 
0002 ########### create links ###############
0003 set(kmymoney_STAT_HEADERS
0004   kaccounttemplateselector.h kguiutils.h
0005   kmymoneyaccountcombo.h kmymoneyaccountcompletion.h
0006   kmymoneyaccountselector.h
0007   kmymoneycategory.h
0008   kmymoneycombo.h kmymoneymvccombo.h kmymoneycompletion.h
0009   kmymoneycurrencyselector.h  kmymoneydateinput.h
0010   kmymoneylineedit.h kmymoneyselector.h
0011   kmymoneytitlelabel.h register.h registeritem.h groupmarker.h fancydategroupmarker.h
0012   scheduledtransaction.h selectedtransaction.h selectedtransactions.h stdtransactiondownloaded.h
0013   stdtransactionmatched.h transactioneditorcontainer.h
0014   transactionform.h transaction.h investtransaction.h stdtransaction.h
0015   transactionsortoption.h
0016   kmymoneyvalidationfeedback.h
0017   onlinejobmessagesview.h
0018   kmymoneydateedit.h
0019   amountedit.h amountvalidator.h creditdebithelper.h popuppositioner.h
0020   )
0021 
0022 ########### Shared widget library ###########
0023 set(kmm_widgets_sources
0024   kmymoneydateinput.cpp
0025   kmymoneyvalidationfeedback.cpp
0026   styleditemdelegateforwarder.cpp
0027   kmymoneylineedit.cpp
0028   kmymoneytextedit.cpp
0029   kmymoneytextedithighlighter.cpp
0030   kmymoneymvccombo.cpp
0031   kmymoneygeneralcombo.cpp
0032   kmymoneyactivitycombo.cpp
0033   kmymoneycashflowcombo.cpp
0034   kmymoneyfrequencycombo.cpp
0035   kmymoneyoccurrencecombo.cpp
0036   kmymoneyoccurrenceperiodcombo.cpp
0037   kmymoneypayeecombo.cpp
0038   kmymoneyperiodcombo.cpp
0039   kmymoneyreconcilecombo.cpp
0040   kmymoneytagcombo.cpp
0041   kmymoneyaccountselector.cpp
0042   ktagcontainer.cpp
0043   ktaglabel.cpp
0044   kmymoneyselector.cpp
0045   kmymoneycalculator.cpp
0046   ktreewidgetfilterlinewidget.cpp
0047   kguiutils.cpp
0048   onlinejobmessagesview.cpp
0049   kmymoneydateedit.cpp
0050   kmymoneymoneyvalidator.cpp
0051   amountedit.cpp
0052   amountvalidator.cpp
0053   creditdebithelper.cpp
0054   daterangedlg.cpp
0055   ktransactionfilter.cpp
0056   kmymoneyaccounttreeview.cpp
0057   accountsviewproxymodel.cpp
0058   budgetviewproxymodel.cpp
0059   kmymoneyviewbase.cpp
0060   kmymoneyaccountsviewbase.cpp
0061   passwordtoggle.cpp
0062   popuppositioner.cpp
0063   )
0064 
0065 set(nationalAccountWidget_SOURCES
0066   ./payeeidentifier/nationalaccount/nationalaccountedit.cpp
0067   ./payeeidentifier/nationalaccount/nationalaccountdelegate.cpp
0068 )
0069 
0070 set(nationalAccountWidget_HEADERS
0071   ./payeeidentifier/nationalaccount/nationalaccountdelegate.h
0072   ./payeeidentifier/nationalaccount/nationalaccountedit.h
0073 )
0074 
0075 set(IBANBICWidget_SOURCES
0076   ./payeeidentifier/ibanbic/kibanlineedit.cpp
0077   ./payeeidentifier/ibanbic/kbicedit.cpp
0078   ./payeeidentifier/ibanbic/ibanvalidator.cpp
0079   ./payeeidentifier/ibanbic/bicvalidator.cpp
0080   ./payeeidentifier/ibanbic/ibanbicitemdelegate.cpp
0081   ./payeeidentifier/ibanbic/ibanbicitemedit.cpp
0082 )
0083 
0084 set(IBANBICWidget_HEADERS
0085   ./payeeidentifier/ibanbic/kibanlineedit.h
0086   ./payeeidentifier/ibanbic/kbicedit.h
0087   ./payeeidentifier/ibanbic/ibanvalidator.h
0088   ./payeeidentifier/ibanbic/bicvalidator.h
0089   ./payeeidentifier/ibanbic/ibanbicitemdelegate.h
0090 )
0091 
0092 list(APPEND kmm_widgets_sources ${nationalAccountWidget_SOURCES})
0093 list(APPEND kmymoney_STAT_HEADERS ${nationalAccountWidget_HEADERS})
0094 
0095 list(APPEND kmm_widgets_sources ${IBANBICWidget_SOURCES})
0096 list(APPEND kmymoney_STAT_HEADERS ${IBANBICWidget_HEADERS})
0097 
0098 ki18n_wrap_ui(kmm_widgets_sources
0099   kmymoneyvalidationfeedback.ui
0100   onlinejobmessagesview.ui
0101   daterangedlg.ui
0102   ktransactionfilter.ui
0103   ./payeeidentifier/nationalaccount/nationalaccountedit.ui
0104   ./payeeidentifier/ibanbic/ibanbicitemedit.ui
0105 )
0106 
0107 add_library(kmm_widgets SHARED ${kmm_widgets_sources})
0108 target_link_libraries(kmm_widgets PUBLIC
0109   kmm_settings
0110   KF5::TextWidgets
0111   KF5::KIOWidgets
0112   KF5::Completion
0113   KF5::Notifications
0114   KF5::ItemViews
0115   KF5::I18n
0116   Qt5::Gui
0117   Qt5::Core
0118   Alkimia::alkimia
0119   kmm_mymoney
0120   kmm_models
0121   kmm_plugin
0122   kmm_utils_platformtools
0123 )
0124 
0125 set_target_properties(kmm_widgets PROPERTIES
0126   VERSION ${PROJECT_VERSION} SOVERSION ${PROJECT_VERSION_MAJOR}
0127   COMPILE_FLAGS "-DKMM_BUILD_WIDGETS_LIB"
0128 )
0129 
0130 generate_export_header(kmm_widgets)
0131 
0132 install(TARGETS kmm_widgets ${INSTALL_TARGETS_DEFAULT_ARGS} )
0133 
0134 ########### Basic Widget Library (kmymoney_base) STATIC #################
0135 
0136 # Common sources for libkmymoney.so and libwidgets.a that do not
0137 # contain the KMM_DESIGNER flag
0138 set(_uncritial_common_sources
0139   kmymoneyaccountcombo.cpp
0140   kmymoneycombo.cpp
0141   kmymoneycompletion.cpp
0142   kmymoneytitlelabel.cpp
0143   kmymoneydateedit.cpp
0144   kpricetreeitem.cpp
0145   registeritem.cpp
0146   registerfilter.cpp
0147   scheduledtransaction.cpp
0148   selectedtransaction.cpp
0149   selectedtransactions.cpp
0150   stdtransactiondownloaded.cpp
0151   stdtransactionmatched.cpp
0152   transactionform.cpp
0153   tabbar.cpp
0154   transactionformitemdelegate.cpp
0155   transactionsortoption.cpp
0156   )
0157 
0158 # sources that contain the KMM_DESIGNER flag
0159 set (_critial_common_sources
0160   kaccounttemplateselector.cpp
0161   kmymoneycurrencyselector.cpp
0162   kmymoneyaccountcompletion.cpp
0163   kmymoneycategory.cpp
0164   groupmarker.cpp
0165   groupmarkers.cpp
0166   fancydategroupmarker.cpp
0167   fancydategroupmarkers.cpp
0168   register.cpp
0169   itemptrvector.cpp
0170   qwidgetcontainer.cpp
0171   registeritemdelegate.cpp
0172   transaction.cpp
0173   stdtransaction.cpp
0174   investtransaction.cpp
0175   transactioneditorcontainer.cpp
0176   )
0177 
0178 
0179 set (kmymoney_base_UI
0180   transactionsortoption.ui kaccounttemplateselector.ui
0181   )
0182 
0183 ki18n_wrap_ui(kmymoney_base_ui_srcs ${kmymoney_base_UI})
0184 set(_uncritial_common_sources ${_uncritial_common_sources}
0185   ${kmymoney_base_ui_srcs})
0186 
0187 # in order to use add_dependencies, we need to add this custom target
0188 # for all generated header files.
0189 # (see https://gitlab.kitware.com/cmake/community/wikis/FAQ#how-can-i-add-a-dependency-to-a-source-file-which-is-generated-in-a-subdirectory )
0190 add_custom_target(generate_base_ui_srcs DEPENDS
0191   ${kmymoney_base_ui_srcs})
0192 
0193 # We can compile the uncritical sources without KMM_DESIGNER flags
0194 add_library(kmymoney_base STATIC ${_uncritial_common_sources})
0195 # TODO: fix dependencies
0196 target_link_libraries(kmymoney_base KF5::XmlGui KF5::TextWidgets KF5::IconThemes KF5::I18n KF5::ConfigWidgets KF5::ConfigCore KF5::Completion KF5::Service Qt5::Gui Qt5::Widgets Qt5::Xml kmm_settings Alkimia::alkimia)
0197 
0198 add_dependencies(kmymoney_base kmm_settings)
0199 
0200 ########### QtDesigner Widget Library (kmymoneywidgets) #################
0201 # we never link against this library,
0202 # but it is needed for uic and QtDesigner
0203 if( USE_QT_DESIGNER )
0204   set(kmymoneywidgets_PART_SRCS
0205       ${CMAKE_CURRENT_BINARY_DIR}/kmymoneywidgets.cpp)
0206 
0207   kde4_add_widget_files(kmymoneywidgets_PART_SRCS kmymoney.widgets)
0208 
0209   set(kmymoneywidgets_PART_SRCS
0210     ${_critial_common_sources}
0211     ${kmymoneywidgets_PART_SRCS})
0212 
0213   add_library(kmymoneywidgets MODULE ${kmymoneywidgets_PART_SRCS})
0214 
0215   include_directories( ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} )
0216 
0217   # The option -DKMM_DESIGNER will leave away any code that breaks uic.
0218   set_target_properties(kmymoneywidgets PROPERTIES
0219     COMPILE_FLAGS "-DKMM_DESIGNER")
0220 
0221   # The qt-designer widget library shouldn't need to link against the
0222   # dialogs and converter libraries.  If a widget references something
0223   # from one of these libraries it is most likely due to code that needs
0224   # to be excluded with a KMM_DESIGNER ifndef.
0225   target_link_libraries(kmymoneywidgets kmymoney_base kmm_mymoney kmymoney_common kmm_settings models)
0226 
0227   install(TARGETS kmymoneywidgets DESTINATION ${QT_PLUGINS_DIR}/designer )
0228 endif( USE_QT_DESIGNER )
0229 
0230 ########### Widget Library (widgets) STATIC #################
0231 
0232 set(libwidgets_a_SOURCES
0233   ${_critial_common_sources}
0234   kmymoneybriefschedule.cpp
0235   registersearchline.cpp
0236   transactioneditorcontainer.cpp
0237   )
0238 
0239 set(libwidgets_a_UI
0240   kmymoneybriefschedule.ui
0241   )
0242 
0243 # using uic on the above UI files DEPENDS on libkmymoney.so. If uic
0244 # does not find libkmymoney.so, gcc will fail compiling
0245 # kmymoneyreportconfigtab2decl.cpp and throw errors like "invalid use
0246 # of undefined type `struct KMyMoneyGeneralCombo'"
0247 
0248 
0249 ki18n_wrap_ui(widgets_ui_srcs ${libwidgets_a_UI})
0250 add_custom_target(generate_widgets_ui_srcs DEPENDS ${widgets_ui_srcs})
0251 
0252 add_library(widgets STATIC
0253   ${libwidgets_a_SOURCES}
0254   ${widgets_ui_srcs}
0255   )
0256 target_link_libraries(widgets KF5::XmlGui kmymoney_base)
0257 
0258 add_dependencies(widgets kmm_settings)
0259 
0260 ########### install files ###############
0261 
0262 install(FILES ${kmymoney_STAT_HEADERS} ${CMAKE_CURRENT_BINARY_DIR}/kmm_widgets_export.h
0263   DESTINATION ${INCLUDE_INSTALL_DIR}/kmymoney COMPONENT Devel)
0264 
0265 ############## tests ####################
0266 
0267 if(BUILD_TESTING)
0268   add_subdirectory(tests)
0269 endif()