diff options
author | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-02-17 00:43:50 +0000 |
---|---|---|
committer | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-02-17 00:43:50 +0000 |
commit | ceea23677c61f20759ae986bd77b0d5c4d673edb (patch) | |
tree | 3fcec1702eaf9c14d1dd736e594f5df08dab4001 /CMakeLists.txt | |
download | kbfx-ceea23677c61f20759ae986bd77b0d5c4d673edb.tar.gz kbfx-ceea23677c61f20759ae986bd77b0d5c4d673edb.zip |
Added old KDE3 version of kbfx
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/kbfx@1091549 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 274 |
1 files changed, 274 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..52e2459 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,274 @@ +PROJECT(kbfx) + +CMAKE_MINIMUM_REQUIRED(VERSION 2.4.2 FATAL_ERROR) +SET(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmakemodules) +SET(CMAKE_COLOR_MAKEFILE ON CACHE STRING "Enable/Disable color output during build." FORCE) +#SET(CMAKE_VERBOSE_MAKEFILE OFF CACHE STRING "Enable/Disable cmake debug output during build." FORCE) + +# Optimization flags +# SET(CMAKE_CXX_FLAGS_DISTRIBUTION "-O3") +# SET(CMAKE_C_FLAGS_DISTRIBUTION "-O3") + +# Global variable CMAKE_BUILD_TYPE +# None (CMAKE_C_FLAGS or CMAKE_CXX_FLAGS used) +# Debug (CMAKE_C_FLAGS_DEBUG or CMAKE_CXX_FLAGS_DEBUG) +# Release (CMAKE_C_FLAGS_RELEASE or CMAKE_CXX_FLAGS_RELEASE) +# RelWithDebInfo (CMAKE_C_FLAGS_RELWITHDEBINFO or CMAKE_CXX_FLAGS_RELWITHDEBINFO +# MinSizeRel (CMAKE_C_FLAGS_MINSIZEREL or CMAKE_CXX_FLAGS_MINSIZEREL) +IF (NOT CMAKE_BUILD_TYPE) + SET(CMAKE_BUILD_TYPE RelWithDebInfo + CACHE + STRING "Specify build type: None Debug Release RelWithDebInfo MinSizeRel." + FORCE) +ENDIF (NOT CMAKE_BUILD_TYPE) + +OPTION(USE_STRIGI "Enable use of Strigi search support (disabled)" OFF) +OPTION(USE_MENUDRAKE "Use 'menudrake' instead of 'kmenuedit' in Mandriva (auto)" ON) +OPTION(USE_KDE4 "Compile for KDE4 (disabled)" OFF) + +SET(BIN_SEARCH_PATHES + $ENV{HOME}/bin + $ENV{HOME}/usr/bin + $ENV{KDEDIR}/bin + ${CMAKE_INSTALL_PREFIX}/bin + /opt/kde/bin + /opt/kde3/bin + /opt/kde4/bin + /usr/kde/3.5/bin + /usr/bin + /usr/local/bin + /opt/bin + ) +SET(INCLUDE_SEARCH_PATHES + $ENV{HOME}/include + $ENV{HOME}/usr/include + $ENV{KDEDIR}/include + /opt/kde/include + /opt/kde3/include + /opt/kde4/include + /usr/kde/3.5/include + /usr/include + /usr/local/include + /opt/include + ${CMAKE_SYSTEM_INCLUDE_PATH} + ) +SET(LIB_SEARCH_PATHES + $ENV{HOME}/lib + $ENV{HOME}/usr/lib + $ENV{KDEDIR}/lib + /opt/kde/lib + /opt/kde3/lib + /opt/kde4/lib + /usr/kde/3.5/lib + /usr/lib + /usr/local/lib + /opt/lib + ) + +# Setting versions + +# For versions that are stable set to 1, else to 0 +SET(APPLICATION_STABLE 1) + +SET(LIB_MAJOR 4) +SET(LIB_MINOR 9) +SET(LIB_RELEASE 3) +SET(LIB_SUB_RELEASE 1) +SET(APPLICATION_INTERNAL_VERSION "20070516") +SET(APPLICATION_DATE "2007-05-16") + +SET(APPLICATION_NAME "${PROJECT_NAME}") +SET(APPLICATION_MAIN_VERSION "0.${LIB_MAJOR}.${LIB_MINOR}.${LIB_RELEASE}") + +IF (APPLICATION_STABLE) + SET(APPLICATION_STABLE_RELEASE ".${LIB_SUB_RELEASE}") + SET(APPLICATION_VERSION "${APPLICATION_MAIN_VERSION}.${LIB_SUB_RELEASE}") + SET(GENTOO_VERSION "${APPLICATION_MAIN_VERSION}.${LIB_SUB_RELEASE}") +ELSE (APPLICATION_APPLICATION_STABLE "") + SET(STABLE_RELEASE) + SET(APPLICATION_VERSION "${APPLICATION_MAIN_VERSION}-${LIB_SUB_RELEASE}") + SET(GENTOO_VERSION "${APPLICATION_MAIN_VERSION}_pre${LIB_SUB_RELEASE}") +ENDIF (APPLICATION_STABLE) + +SET(VERSION ${APPLICATION_VERSION}) + +SET(STRIGI_VERSION "0.3.11") +SET(GENTOO_KEYWORDS "x86 ~ppc ~amd64") + +# Prepare docbook part +CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/doc/en/index.docbook.in ${CMAKE_BINARY_DIR}/doc/en/index.docbook @ONLY) + +IF (USE_STRIGI) + FIND_PACKAGE(Strigi REQUIRED) + INCLUDE_DIRECTORIES(${STRIGI_INCLUDE_DIR}) + MESSAGE(STATUS "Strigi support is: ON!") +ELSE (USE_STRIGI) + MESSAGE(STATUS "Strigi support is: OFF!") +ENDIF (USE_STRIGI) + + +FIND_PROGRAM(HAVE_MANDRAKE menudrake) +IF (HAVE_MANDRAKE AND USE_MENUDRAKE) + SET(MANDRAKE "1") + MESSAGE(STATUS "Will use 'menudrake' instead of 'kmenuedit'!") +ELSE (HAVE_MANDRAKE AND USE_MENUDRAKE) + SET(MANDRAKE "") + MESSAGE(STATUS "Will use 'kmenuedit'!") +ENDIF (HAVE_MANDRAKE AND USE_MENUDRAKE) + +IF (NOT USE_KDE4) + MESSAGE(STATUS "Building for KDE3") + INCLUDE(TestCXXAcceptsFlag) + + SET(CMAKE_CXX_FLAGS_DEBUG + "${CMAKE_CXX_FLAGS_DEBUG} -DTESTING_RC=\"\\\"\${CMAKE_SOURCE_DIR}/configdialog/kbfxconfigappui.rc\\\"\"") + + CHECK_CXX_ACCEPTS_FLAG("-fexceptions" CXX_EXCEPTION) + CHECK_CXX_ACCEPTS_FLAG("-fstack-protector" CXX_PROTECTOR) + + FIND_PACKAGE(KDE3 REQUIRED) + + INCLUDE(FindKdeLibs) + INCLUDE(MacroEnsureVersion) + + # Dummy macros for compatibility + MACRO(KDE4_AUTOMOC _dummy) + ENDMACRO(KDE4_AUTOMOC) + + MACRO(KDE4_ADD_LIBRARY _dummy _dummy1 _dummy2) + ENDMACRO(KDE4_ADD_LIBRARY) + + MACRO(KDE4_INSTALL_LIBTOOL_FILE _dummy _dummy1) + ENDMACRO(KDE4_INSTALL_LIBTOOL_FILE) + + MACRO(KDE4_ADD_UI3_FILES _dummy _dummy1) + ENDMACRO(KDE4_ADD_UI3_FILES) + + MACRO(KDE4_ADD_DCOP_SKELS _dummy _dummy1) + ENDMACRO(KDE4_ADD_DCOP_SKELS) + + MACRO(KDE4_ADD_EXECUTABLE _dummy _dummy1) + ENDMACRO(KDE4_ADD_EXECUTABLE) + + MACRO(KDE4_INSTALL_ICONS _dummy) + ENDMACRO(KDE4_INSTALL_ICONS) +ELSE (NOT USE_KDE4) + MESSAGE(STATUS "Building for KDE4") + FIND_PACKAGE(KDE4 REQUIRED) + ADD_DEFINITIONS(${KDE4_DEFINITIONS} ${QT_DEFINITIONS}) + SET(INCLUDE_SEARCH_PATHES + ${INCLUDE_SEARCH_PATHES} + ${KDE4_INCLUDES} + ) + SET(LIB_SEARCH_PATHES + ${LIB_SEARCH_PATHES} + ${KDE4_LIB_DIR} + ) +ENDIF (NOT USE_KDE4) + +INCLUDE_DIRECTORIES( + ${CMAKE_BINARY_DIR} + ${CMAKE_BINARY_DIR}/kbfxlib/data + ${CMAKE_BINARY_DIR}/kbfxlib/common + ${CMAKE_BINARY_DIR}/src + ${CMAKE_BINARY_DIR}/configdialog + ${CMAKE_BINARY_DIR}/plugins/common + ${CMAKE_SOURCE_DIR} + ${CMAKE_SOURCE_DIR}/kbfxlib/data + ${CMAKE_SOURCE_DIR}/kbfxlib/common + ${CMAKE_SOURCE_DIR}/src + ${CMAKE_SOURCE_DIR}/configdialog + ${CMAKE_SOURCE_DIR}/plugins/common + ${KDE3_INCLUDE_DIR}/kbfx + ${KDE3_INCLUDE_DIR}/kbfx/plugins + ${INCLUDE_SEARCH_PATHES} + ) + +IF (NOT USE_KDE4) + IF (CXX_EXCEPTION) + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fexceptions") + ENDIF (CXX_EXCEPTION) + IF (CXX_PROTECTOR) + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fstack-protector") + ENDIF (CXX_PROTECTOR) + + ADD_DEFINITIONS(${KDE3_DEFINITIONS} ${QT_DEFINITIONS}) + SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin) + SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib) + + IF(KDE3_KDECONFIG_EXECUTABLE) + EXECUTE_PROCESS(COMMAND ${KDE3_KDECONFIG_EXECUTABLE} "--version" OUTPUT_VARIABLE output) + STRING(REGEX MATCH "KDE: [0-9]+\\.[0-9]+\\.[0-9]+" KDEVERSION "${output}") + STRING(REGEX REPLACE "^KDE: " "" KDEVERSION "${KDEVERSION}") + ENDIF(KDE3_KDECONFIG_EXECUTABLE) + SET(KDE_MIN_VERSION "3.5.0") + MACRO_ENSURE_VERSION(${KDE_MIN_VERSION} ${KDEVERSION} VERSION_OK) + IF(NOT VERSION_OK) + MESSAGE(FATAL_ERROR "You need at least KDE Version of 3.5.0 in order to compile KBFX.\n Please upgrade your KDE or install the development files of KDE.") + ENDIF(NOT VERSION_OK) +ENDIF (NOT USE_KDE4) + +SET(KBFX_LIB_INSTALL_DIR ${LIB_INSTALL_DIR}) + +ADD_SUBDIRECTORY(kbfxlib/data) +ADD_SUBDIRECTORY(kbfxlib/common) +ADD_SUBDIRECTORY(src) +ADD_SUBDIRECTORY(configdialog) +ADD_SUBDIRECTORY(skin/vector) +ADD_SUBDIRECTORY(skin/raster/default) +ADD_SUBDIRECTORY(skin/raster/2panels) +ADD_SUBDIRECTORY(images) +ADD_SUBDIRECTORY(doc) +ADD_SUBDIRECTORY(doc/en) +ADD_SUBDIRECTORY(doc/common) +ADD_SUBDIRECTORY(po) +ADD_SUBDIRECTORY(plugins/common) +ADD_SUBDIRECTORY(plugins/applications) +ADD_SUBDIRECTORY(plugins/settings) +ADD_SUBDIRECTORY(plugins/plasmoids) +ADD_SUBDIRECTORY(plugins/recentstuff) +IF (USE_STRIGI) + ADD_SUBDIRECTORY(plugins/strigi) +ENDIF (USE_STRIGI) + +CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/config.h.in ${CMAKE_BINARY_DIR}/config.h @ONLY) +CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/kbfx.spec.in ${CMAKE_BINARY_DIR}/kbfx.spec @ONLY) +CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/kbfx.ebuild.in ${CMAKE_BINARY_DIR}/kbfx-${GENTOO_VERSION}.ebuild @ONLY) +CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/strigi.ebuild.in ${CMAKE_BINARY_DIR}/strigi-${STRIGI_VERSION}.ebuild @ONLY) +CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/kbfx-svn.ebuild.in ${CMAKE_BINARY_DIR}/kbfx-9999.ebuild @ONLY) + +SET(DIST_INCLUDE "kbfx-9999.ebuild kbfx.spec kbfx-${GENTOO_VERSION}.ebuild strigi-${STRIGI_VERSION}.ebuild") +SET(DIST_EXCLUDE "Helperstuff") +CONFIGURE_FILE( + "${CMAKE_CURRENT_SOURCE_DIR}/cmakemodules/makedist.sh.in" + "${CMAKE_CURRENT_BINARY_DIR}/makedist.sh" + IMMEDIATE + @ONLY) +ADD_CUSTOM_TARGET(dist + "${CMAKE_BINARY_DIR}/makedist.sh" + WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) + +IF (NOT USE_KDE4) + CONFIGURE_FILE( + "${CMAKE_CURRENT_SOURCE_DIR}/cmakemodules/cmake_uninstall.cmake.in" + "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake" + IMMEDIATE @ONLY) + ADD_CUSTOM_TARGET(uninstall + "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake") +ENDIF (NOT USE_KDE4) + + +FILE(GLOB _POFILES po/*.po) +FOREACH(_p ${_POFILES}) + SET(POFILES "${_p} ${POFILES}") +ENDFOREACH(_p) + +SET(MESSAGES_DIR ${CMAKE_SOURCE_DIR}) +CONFIGURE_FILE( + "${CMAKE_CURRENT_SOURCE_DIR}/cmakemodules/package_messages.sh.in" + "${CMAKE_CURRENT_BINARY_DIR}/package_messages.sh" + IMMEDIATE + @ONLY) +ADD_CUSTOM_TARGET(package-messages + "${CMAKE_CURRENT_BINARY_DIR}/package_messages.sh") + |