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()