Warning, /office/kmymoney/kmymoney/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 include(ECMAddAppIcon) 0002 0003 include_directories(${CMAKE_CURRENT_SOURCE_DIR} 0004 ${CMAKE_CURRENT_BINARY_DIR} 0005 ${CMAKE_CURRENT_SOURCE_DIR}/settings/ 0006 ${CMAKE_CURRENT_BINARY_DIR}/settings/ 0007 ${CMAKE_CURRENT_BINARY_DIR}/dialogs/ 0008 ${CMAKE_CURRENT_SOURCE_DIR}/widgets/ 0009 ${CMAKE_CURRENT_BINARY_DIR}/widgets/ 0010 ${CMAKE_CURRENT_SOURCE_DIR}/mymoney/ 0011 ${CMAKE_CURRENT_SOURCE_DIR}/mymoney/storage/ 0012 ${CMAKE_CURRENT_SOURCE_DIR}/interfaces/ 0013 ${CMAKE_CURRENT_BINARY_DIR}/interfaces/ 0014 ${CMAKE_CURRENT_SOURCE_DIR}/plugins/ 0015 ${CMAKE_CURRENT_BINARY_DIR}/plugins/ 0016 ${CMAKE_CURRENT_SOURCE_DIR}/views/ 0017 ${CMAKE_CURRENT_SOURCE_DIR}/dialogs/ 0018 ${CMAKE_CURRENT_SOURCE_DIR}/converter/ 0019 ${CMAKE_CURRENT_BINARY_DIR}/dialogs/settings/ 0020 ${CMAKE_CURRENT_BINARY_DIR}/mymoney/storage/ 0021 ${CMAKE_CURRENT_BINARY_DIR}/mymoney/ 0022 ${CMAKE_CURRENT_SOURCE_DIR}/wizards/endingbalancedlg/ 0023 ${CMAKE_CURRENT_BINARY_DIR}/wizards/endingbalancedlg/ 0024 ${CMAKE_CURRENT_SOURCE_DIR}/wizards/newinvestmentwizard/ 0025 ${CMAKE_CURRENT_BINARY_DIR}/wizards/newinvestmentwizard/ 0026 ${CMAKE_CURRENT_SOURCE_DIR}/wizards/newloanwizard/ 0027 ${CMAKE_CURRENT_BINARY_DIR}/wizards/newloanwizard/ 0028 ${CMAKE_CURRENT_SOURCE_DIR}/wizards/wizardpages/ 0029 ${CMAKE_CURRENT_SOURCE_DIR}/models/ 0030 ${CMAKE_CURRENT_BINARY_DIR}/models/ 0031 ${CMAKE_CURRENT_SOURCE_DIR}/icons/ 0032 ${CMAKE_CURRENT_BINARY_DIR}/icons/ 0033 ${CMAKE_CURRENT_SOURCE_DIR}/menus/ 0034 ${CMAKE_CURRENT_BINARY_DIR}/menus/ 0035 ${CMAKE_CURRENT_SOURCE_DIR}/misc/ 0036 ${CMAKE_CURRENT_BINARY_DIR}/misc/ 0037 ) 0038 0039 add_subdirectory( mymoney ) 0040 add_subdirectory( settings ) 0041 add_subdirectory( models ) 0042 add_subdirectory( interfaces ) 0043 add_subdirectory( plugins ) 0044 add_subdirectory( widgets ) 0045 add_subdirectory( dialogs ) 0046 add_subdirectory( views ) 0047 add_subdirectory( converter ) 0048 add_subdirectory( wizards ) 0049 add_subdirectory( templates ) 0050 add_subdirectory( misc ) 0051 add_subdirectory( icons ) 0052 add_subdirectory( menus ) 0053 if(BUILD_TESTING) 0054 add_subdirectory( tests ) 0055 endif() 0056 0057 set( _HEADERS kmymoneyutils.h ) 0058 0059 ########### common code (kmymoney_common) STATIC ############### 0060 # will be linked into kmymoney, kmymoneytest, and libkmymoney.so 0061 0062 set( kmymoney_common_SRCS kmymoneyutils.cpp kcreditswindow.cpp ) 0063 add_library(kmymoney_common STATIC ${kmymoney_common_SRCS}) 0064 0065 target_link_libraries(kmymoney_common 0066 PUBLIC 0067 Qt::Core 0068 KF5::ConfigGui 0069 KF5::WidgetsAddons 0070 KF5::KIOCore 0071 KF5::KIOFileWidgets 0072 KF5::KIOWidgets 0073 Alkimia::alkimia 0074 kmm_mymoney 0075 kmm_webconnect 0076 kmm_utils_platformtools 0077 kmm_url 0078 kmm_yesno 0079 PRIVATE 0080 KF5::I18n 0081 kmm_settings 0082 ) 0083 0084 # must build kmymoney/transactionsortoption.h 0085 # from transactionsortoption.ui first 0086 add_dependencies(kmymoney_common kmm_settings) 0087 add_dependencies(wizardpages kmm_widgets) 0088 # add_dependencies(kmm_dialogs kmm_widgets) 0089 0090 if(USE_MODELTEST) 0091 set( kmymoney_common_LIBS ${kmymoney_common_LIBS} ${QT_QTTEST_LIBRARY}) 0092 endif(USE_MODELTEST) 0093 0094 # remove these generated files, they are in the way and leftovers from 5.0 0095 if(EXISTS ${CMAKE_CURRENT_BINARY_DIR}/kmymoneysettings.h) 0096 file(REMOVE ${CMAKE_CURRENT_BINARY_DIR}/kmymoneysettings.h) 0097 endif() 0098 if(EXISTS ${CMAKE_CURRENT_BINARY_DIR}/kmymoneysettings.cpp) 0099 file(REMOVE ${CMAKE_CURRENT_BINARY_DIR}/kmymoneysettings.cpp) 0100 endif() 0101 0102 ########### kmymoney executable ############### 0103 0104 set( kmymoney_SRCS 0105 main.cpp 0106 kmymoney.cpp 0107 pluginloader.cpp 0108 ) 0109 0110 qt_add_dbus_adaptor(kmymoney_SRCS org.kde.kmymoney.xml kmymoney.h KMyMoneyApp) 0111 qt_add_resources(kmymoney_SRCS kmymoney.qrc) 0112 0113 # collect application icons 0114 file(GLOB_RECURSE KMYMONEY_APP_ICONS "${CMAKE_CURRENT_SOURCE_DIR}/icons/kmymoney/apps/*.png") 0115 # add icons to application sources, to have them bundled 0116 ecm_add_app_icon(kmymoney_SRCS ICONS ${KMYMONEY_APP_ICONS}) 0117 0118 add_executable( kmymoney ${kmymoney_SRCS} ) 0119 if (BUILD_STATIC_PLUGINS) 0120 kcoreaddons_target_static_plugins(kmymoney "kmymoney_plugins" LINK_OPTION PRIVATE) 0121 kcoreaddons_target_static_plugins(kmymoney "kmymoney_plugins/kcms" LINK_OPTION PRIVATE) 0122 kcoreaddons_target_static_plugins(kmymoney "kmymoney_plugins/onlinetasks" LINK_OPTION PRIVATE) 0123 if (ENABLE_SQLCIPHER) 0124 target_link_libraries(kmymoney PRIVATE qsqlcipher) 0125 target_compile_definitions(kmymoney PRIVATE -DIMPORT_SQLCIPHER_PLUGIN) 0126 endif() 0127 endif() 0128 0129 if (ENABLE_SQLCIPHER) 0130 message( STATUS " SQLCIPHER INCLUDE : " ${SQLCIPHER_INCLUDE_DIRS}) #just for testing it on MS Windows 0131 message( STATUS " SQLCIPHER LIBRARIES : " ${SQLCIPHER_LIBRARY_DIRS}) #just for testing it on MS Windows 0132 link_directories(${SQLCIPHER_LIBRARY_DIRS}) 0133 0134 target_compile_definitions(kmymoney 0135 PRIVATE 0136 SQLITE_HAS_CODEC 0137 SQLITE_TEMP_STORE=2) 0138 0139 #otherwise "fatal error: 'sqlite3.h' file not found" 0140 if(CMAKE_SYSTEM_NAME MATCHES "FreeBSD" OR CMAKE_SYSTEM_NAME MATCHES "Windows") 0141 target_include_directories(kmymoney 0142 PRIVATE 0143 ${SQLCIPHER_INCLUDE_DIRS}) 0144 endif() 0145 endif() 0146 0147 target_link_libraries(kmymoney 0148 PUBLIC 0149 views 0150 kmymoney_common 0151 newuserwizard 0152 newaccountwizard 0153 newinvestmentwizard 0154 newloanwizard 0155 endingbalancedlg 0156 wizardpages 0157 kmm_extended_dialogs 0158 kmm_base_dialogs 0159 settings 0160 kmm_models 0161 kmm_settings 0162 kmm_menus 0163 kmm_widgets 0164 kmm_mymoney 0165 interfaces 0166 kmm_plugin 0167 Qt::Core 0168 KF5::ConfigGui 0169 KF5::WidgetsAddons 0170 KF5::CoreAddons 0171 kmm_templates 0172 $<$<BOOL:${USE_MODELTEST}>:Qt::Test> 0173 $<$<BOOL:${ENABLE_HOLIDAYS}>:KF5::Holidays> 0174 $<$<BOOL:${ENABLE_ACTIVITIES}>:KF5::Activities> 0175 PRIVATE 0176 kmm_selections 0177 $<$<BOOL:${ENABLE_SQLCIPHER}>:PkgConfig::SQLCIPHER> 0178 ) 0179 0180 # create symlink to let kcoreaddons find plugins 0181 if(WIN32 AND NOT CMAKE_CROSSCOMPILING) 0182 # First make sure that nothing is in the way so mklink will always work 0183 if(EXISTS ${CMAKE_BINARY_DIR}/bin/kmymoney) 0184 add_custom_command(TARGET kmymoney POST_BUILD 0185 COMMAND rmdir kmymoney 0186 WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/bin) 0187 endif() 0188 add_custom_command(TARGET kmymoney POST_BUILD 0189 COMMAND mklink /J kmymoney . 0190 WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/bin) 0191 else() 0192 add_custom_command(TARGET kmymoney POST_BUILD 0193 COMMAND ${CMAKE_COMMAND} -E create_symlink . kmymoney 0194 WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/lib) 0195 endif() 0196 0197 # own plist magic for mac os 0198 if(APPLE) 0199 string(TIMESTAMP CURRENT_YEAR "%Y") 0200 # own plist template 0201 set_target_properties(kmymoney PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/MacOSXBundleInfo.plist.in) 0202 0203 # the MacOSX bundle display name property (CFBundleDisplayName) is not currently supported by cmake, 0204 # so has to be set for all targets in this cmake file 0205 set(MACOSX_BUNDLE_DISPLAY_NAME KMyMoney) 0206 set_target_properties(kmymoney PROPERTIES MACOSX_BUNDLE_GUI_IDENTIFIER "org.kde.KMyMoney") 0207 set_target_properties(kmymoney PROPERTIES MACOSX_BUNDLE_BUNDLE_NAME "KMyMoney") 0208 set_target_properties(kmymoney PROPERTIES MACOSX_BUNDLE_DISPLAY_NAME "KMyMoney") 0209 set_target_properties(kmymoney PROPERTIES MACOSX_BUNDLE_INFO_STRING "KMyMoney - Personal Finances Manager") 0210 set_target_properties(kmymoney PROPERTIES MACOSX_BUNDLE_SHORT_VERSION_STRING "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}") 0211 set_target_properties(kmymoney PROPERTIES MACOSX_BUNDLE_BUNDLE_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}") 0212 set_target_properties(kmymoney PROPERTIES MACOSX_BUNDLE_COPYRIGHT "© 2000-${CURRENT_YEAR} The KMyMoney Authors") 0213 endif() 0214 0215 ########### install files ############### 0216 0217 install(TARGETS kmymoney ${INSTALL_TARGETS_DEFAULT_ARGS}) 0218 0219 install(FILES ${_HEADERS} 0220 DESTINATION ${KDE_INSTALL_INCLUDEDIR}/kmymoney 0221 ) 0222 install(FILES org.kde.kmymoney.desktop 0223 DESTINATION ${KDE_INSTALL_APPDIR} 0224 ) 0225 install(FILES org.kde.kmymoney.appdata.xml 0226 DESTINATION ${KDE_INSTALL_METAINFODIR} 0227 ) 0228 0229 install(FILES x-kmymoney.xml 0230 DESTINATION ${KDE_INSTALL_MIMEDIR}) 0231 0232 #UPDATE_XDG_MIMETYPES(${XDG_MIME_INSTALL_DIR}) 0233 0234