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