MESSAGE( STATUS "..:: CMAKE ROOT ::..") PROJECT(skrooge) FIND_PROGRAM(SKG_BASH bash) MARK_AS_ADVANCED(SKG_BASH) SET(VERSION 0.6.0) SET(SOVERSION 1) SET(UPDATE_TYPE "svn") SET( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${skrooge_SOURCE_DIR}/cmake/modules ) IF (CMAKE_BUILD_TYPE) ELSE (CMAKE_BUILD_TYPE) SET(CMAKE_BUILD_TYPE profile) #"release": optimized for speed, no debug symbols or debug messages #"relwithdebinfo": optimized for speed, debug symbols for backtraces #"debug": optimized, but debuggable #"debugfull": no optimisations, full debug support #"profile": adds coverage flags to debugfull #"none": the build flags are manually set using the CMAKE_CXX_FLAGS option. ENDIF (CMAKE_BUILD_TYPE) SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin) SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib) OPTION(SKG_BUILD_TEST "Build the test" ON) MESSAGE( STATUS " PROJECT_SOURCE_DIR : " ${PROJECT_SOURCE_DIR} ) MESSAGE( STATUS " PROJECT_BINARY_DIR : " ${PROJECT_BINARY_DIR} ) MESSAGE( STATUS " BUILD_DIR : " ${BUILD_DIR} ) MESSAGE( STATUS " CMAKE_BUILD_TYPE : " ${CMAKE_BUILD_TYPE} ) MESSAGE( STATUS " CMAKE_INSTALL_PREFIX: " ${CMAKE_INSTALL_PREFIX} ) #add_definitions(-DSKGNOTRACES) #To disable all traces #add_definitions(-DSKGFULLTRACES) #To enable all traces add_definitions(-DSKGVERSION=${VERSION}) cmake_minimum_required(VERSION 2.4) if(COMMAND cmake_policy) cmake_policy(SET CMP0003 NEW) endif(COMMAND cmake_policy) FIND_PACKAGE(KDE4 REQUIRED) INCLUDE(KDE4Defaults) INCLUDE(MacroLibrary) MESSAGE(STATUS " KDE4 support enabled : ${KDE4_DATA_DIR}") add_definitions(${QT_DEFINITIONS} ${KDE4_DEFINITIONS}) include_directories( ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${KDE4_INCLUDES} ${CMAKE_CURRENT_SOURCE_DIR}/skgbasemodeler/ ${CMAKE_CURRENT_SOURCE_DIR}/skgbasegui/ ${CMAKE_CURRENT_BINARY_DIR}/skgbasegui/ ${CMAKE_CURRENT_SOURCE_DIR}/skgbasemodelertest ${CMAKE_CURRENT_SOURCE_DIR}/skgbankmodeler/ ${CMAKE_CURRENT_SOURCE_DIR}/skgbankgui ${CMAKE_CURRENT_BINARY_DIR}/skgbankgui) #Correction bug 207249 vvvv #SET(CMAKE_CXX_FLAGS "-Wall" ) SET(CMAKE_CXX_FLAGS "-Wall ${CMAKE_CXX_FLAGS}") #Correction bug 207249 ^^^^ #Default installation path set(CMAKE_INSTALL_PREFIX ${BUILD_DIR}) # Win32 specific configuration IF(WIN32) ADD_DEFINITIONS(-DSKG_PLATFORM_WIN32) SET(CMAKE_SHARED_LINKER_FLAGS "-Wl,--enable-runtime-pseudo-reloc -Wl,--export-all-symbols" CACHE STRING "" FORCE) ELSE(WIN32) #To solve Bug 209912:"ldd -u "" #doesnt work on MACOS, must be done manually SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--as-needed" CACHE STRING "" FORCE) ENDIF(WIN32) MESSAGE(STATUS " CMAKE_SHARED_LINKER_FLAGS : ${CMAKE_SHARED_LINKER_FLAGS}") #ADD_SUBDIRECTORY ADD_SUBDIRECTORY(skgbasemodeler) ADD_SUBDIRECTORY(skgbankmodeler) ADD_SUBDIRECTORY(skgbasegui) ADD_SUBDIRECTORY(skgbankgui) ADD_SUBDIRECTORY(skrooge_bank) ADD_SUBDIRECTORY(skrooge_bookmark) ADD_SUBDIRECTORY(skrooge_calculator) ADD_SUBDIRECTORY(skrooge_categories) ADD_SUBDIRECTORY(skrooge_dashboard) # ADD_SUBDIRECTORY(skrooge_dashboard2) #<-- Experimental plugin, do not activate ADD_SUBDIRECTORY(skrooge_debug) ADD_SUBDIRECTORY(skrooge_delete) ADD_SUBDIRECTORY(skrooge_file) ADD_SUBDIRECTORY(skrooge_importexport) ADD_SUBDIRECTORY(skrooge_monthly) ADD_SUBDIRECTORY(skrooge_operation) ADD_SUBDIRECTORY(skrooge_print) ADD_SUBDIRECTORY(skrooge_properties) ADD_SUBDIRECTORY(skrooge_report) ADD_SUBDIRECTORY(skrooge_scheduled) ADD_SUBDIRECTORY(skrooge_search) ADD_SUBDIRECTORY(skrooge_tracker) ADD_SUBDIRECTORY(skrooge_undoredo) ADD_SUBDIRECTORY(skrooge_unit) ADD_SUBDIRECTORY(images) ADD_SUBDIRECTORY(skrooge) IF(SKG_BUILD_TEST AND NOT WIN32) ADD_SUBDIRECTORY(skgbasemodelertest) ADD_SUBDIRECTORY(skgbankmodelertest) ADD_SUBDIRECTORY(skgbaseguitest) ADD_SUBDIRECTORY(skroogetest) ENDIF(SKG_BUILD_TEST AND NOT WIN32) CONFIGURE_FILE(scripts/addNewPlugin.sh.in scripts/addNewPlugin.sh @ONLY) #TESTS CONFIGURE_FILE(${PROJECT_SOURCE_DIR}/tests/scripts/init.sh.in ${PROJECT_SOURCE_DIR}/tests/scripts/init.sh @ONLY) ENABLE_TESTING() INCLUDE(Dart) INCLUDE(CTest) #DOXYGEN CONFIGURE_FILE(scripts/Doxyfile.in scripts/Doxyfile @ONLY) ADD_CUSTOM_TARGET(apidox "doxygen" "scripts/Doxyfile" DEPENDS "scripts/Doxyfile") #KRAZY CONFIGURE_FILE(scripts/krazy.sh.in scripts/krazy.sh @ONLY) ADD_CUSTOM_TARGET(krazy "scripts/krazy.sh") #GENERATE_ICONS CONFIGURE_FILE(scripts/generateIcons.sh.in scripts/generateIcons.sh @ONLY) #LCOV CONFIGURE_FILE(scripts/removeTmpFile.sh.in scripts/removeTmpFile.sh @ONLY) CONFIGURE_FILE(scripts/lcov.sh.in scripts/lcov.sh @ONLY) ADD_CUSTOM_TARGET(lcov "scripts/lcov.sh") ADD_CUSTOM_TARGET(lcovclean "scripts/lcov.sh" "-b") #FULL ADD_CUSTOM_TARGET(full "scripts/full.sh") #PACKAGING INCLUDE(InstallRequiredSystemLibraries) SET(CPACK_SET_DESTDIR TRUE) SET(CPACK_GENERATOR "DEB") SET(CPACK_PACKAGE_NAME ${CMAKE_PROJECT_NAME}) SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Personal finance management tool for KDE4, with the aim of being highly intuitive, while providing powerful functions such as reporting (including graphics), persistent Undo/Redo, encryption, and much more...") SET(CPACK_PACKAGE_VENDOR "Stephane MANKOWSKI / Guillaume DE BURE") SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/CHANGELOG") SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/COPYING") SET(CPACK_PACKAGE_VERSION_MAJOR "0") SET(CPACK_PACKAGE_VERSION_MINOR "6") SET(CPACK_PACKAGE_VERSION_PATCH "0") SET(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${VERSION}") SET(CPACK_SOURCE_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${VERSION}-dev") SET(CPACK_INSTALL_CMAKE_PROJECTS "${CMAKE_BINARY_DIR};skrooge;ALL;/") SET(CPACK_SOURCE_GENERATOR "TGZ") SET(CPACK_SOURCE_IGNORE_FILES "${CMAKE_BINARY_DIR}/bin" "${CMAKE_BINARY_DIR}/lib" "${CMAKE_BINARY_DIR}/cov" "${CMAKE_BINARY_DIR}/_CPack*" "${CMAKE_BINARY_DIR}/html" "${CMAKE_BINARY_DIR}/lib" "${CMAKE_BINARY_DIR}/log" "${CMAKE_BINARY_DIR}/Testing" ".svn" "CMake*" "Makefile" "output" ".*.cmake" ".*~" ".*.moc" ".*.gz" ".*.deb" ".*.rpm" "ui.*.h" "Dart.*" "install_manifest.txt" ) SET(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6 (>= 2.4), kdebase-runtime, kdebase-runtime-data, libqca2 (>= 2.0.0), libqt4-core (>= 4.5), libqt4-gui (>= 4.5), libqt4-sql-sqlite, libofx4") SET(CPACK_DEBIAN_PACKAGE_MAINTAINER "stephane@mankowski.fr") SET(CPACK_DEBIAN_PACKAGE_SECTION "financial") #SET(CPACK_RPM_PACKAGE_LICENSE "GPL") #SET(CPACK_RPM_PACKAGE_DEPENDS "kdebase4-runtime, libqtcore4 (>= 4.4.1), libqtgui4 (>= 4.4.1), qt4-database-plugin-sqlite-lib (>= 4.4.1)") #SET(CPACK_RPM_PACKAGE_SECTION "financial") #SET(CPACK_RPM_PACKAGE_VERSION ${VERSION}) #SET(CPACK_RPM_PACKAGE_ARCHITECTURE "i586") #SET(CPACK_RPM_PACKAGE_RELEASE "1mdv2009.0") #SET(CPACK_STRIP_FILES "bin/skrooge") #SET(CPACK_SOURCE_STRIP_FILES "") #SET(CPACK_PACKAGE_EXECUTABLES "skrooge" "skrooge") INCLUDE(CPack) find_package(Msgfmt REQUIRED) find_package(Gettext REQUIRED) add_subdirectory( po ) add_subdirectory( doc-translations ) add_subdirectory( doc )