diff options
author | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2011-11-24 17:10:48 -0600 |
---|---|---|
committer | Slávek Banko <slavek.banko@axis.cz> | 2012-08-25 14:24:47 +0200 |
commit | da17668f8464b35dd0a9f13073342c2b5dc21c3f (patch) | |
tree | 18290ecb356d2b424d6ff92838a6346c3d918425 /CMakeLists.txt | |
parent | 56a74759b7a1ef815ff06ffc8ca761438f00d828 (diff) | |
download | kgtk-qt3-da17668f8464b35dd0a9f13073342c2b5dc21c3f.tar.gz kgtk-qt3-da17668f8464b35dd0a9f13073342c2b5dc21c3f.zip |
Initial CMake conversion attempt
(cherry picked from commit 01adb8f0d22cda54f15f7c3dda53e811d336a726)
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 139 |
1 files changed, 86 insertions, 53 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 72c65d6..896b3af 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,22 @@ -project(KGtk) -cmake_minimum_required(VERSION 2.4.0) +################################################# +# +# (C) 2011 Timothy Pearson +# kb9vqf (AT) pearsoncomputing.net +# +# Improvements and feedback are welcome +# +# This file is released under GPL >= 2 +# +################################################# + +cmake_minimum_required( VERSION 2.8 ) + + +##### general package setup ##################### + +project( kgtk ) + +##### set up cpack ############################## set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README") set(CPACK_GENERATOR "TBZ2") @@ -12,54 +29,70 @@ set(KGTK_VERSION_FULL "${KGTK_VERSION}.${CPACK_PACKAGE_VERSION_PATCH}") set(CPACK_SOURCE_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${KGTK_VERSION_FULL}") include(CPack) -set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake) -include(CheckFunctionExists) -check_function_exists(getpeereid HAVE_GETPEEREID) - -SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -I/usr/include/tqt -include tqt.h -DTQT_THREAD_SUPPORT") -SET(QT_UIC_EXECUTABLE "/usr/bin/uic-tqt") -#SET(QT_MOC_EXECUTABLE "/usr/bin/tmoc") - -if (NOT "${KGTK_KDE3}" MATCHES "false") - add_subdirectory(kdialogd3) -endif (NOT "${KGTK_KDE3}" MATCHES "false") - -if (NOT "${KGTK_GTK2}" MATCHES "false") - # Check if we have dlvsym... - find_library(LIBDLVSYM_LIBRARY - NAMES dl - PATHS /lib /usr/lib /usr/X11R6/lib /usr/local/lib) - - if(LIBDLVSYM_LIBRARY) - set(HAVE_DLVSYM 1) - # Determine version of dlsym... - find_library(LIBDL_LIBRARY - NAMES dl - PATHS /lib /usr/lib /usr/X11R6/lib /usr/local/lib) - - if(LIBDL_LIBRARY) - execute_process(COMMAND objdump --dynamic-syms ${LIBDL_LIBRARY} - COMMAND grep dlsym - OUTPUT_VARIABLE DLSYM_DATA) - separate_arguments(DLSYM_DATA) - if (${CMAKE_MAJOR_VERSION} GREATER 2 OR ${CMAKE_MINOR_VERSION} GREATER 4) - cmake_policy(SET CMP0007 OLD) - endif (${CMAKE_MAJOR_VERSION} GREATER 2 OR ${CMAKE_MINOR_VERSION} GREATER 4) - list(GET DLSYM_DATA 4 KGTK_DLSYM_VERSION) - endif(LIBDL_LIBRARY) - else(LIBDLVSYM_LIBRARY) - message("** INFORMATION: You're libdl does not contain dlvsym - SWT apps will not be supported") - endif(LIBDLVSYM_LIBRARY) - - add_subdirectory(gtk2) -endif (NOT "${KGTK_GTK2}" MATCHES "false") - -if (NOT "${KGTK_QT3}" MATCHES "false") - add_subdirectory(qt3) -endif (NOT "${KGTK_QT3}" MATCHES "false") - -install(PROGRAMS ${CMAKE_SOURCE_DIR}/kdialogd-wrapper DESTINATION bin) -install(PROGRAMS ${CMAKE_SOURCE_DIR}/kgtk-wrapper DESTINATION bin) - -message("** INFORMATION: Using installation prefix: ${CMAKE_INSTALL_PREFIX}") -configure_file (config.h.cmake ${CMAKE_BINARY_DIR}/config.h) +##### include essential cmake modules ########### + +include( CheckCXXSourceCompiles ) +include( CheckFunctionExists ) +include( CheckIncludeFileCXX ) +include( CheckLibraryExists ) +include( CheckStructHasMember ) +include( CheckSymbolExists ) +include( CheckTypeSize ) +include( FindPkgConfig ) + + +##### include our cmake modules ################# + +set( CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules" ) +include( TDEMacros ) + + +##### setup install paths ####################### + +include( TDESetupPaths ) +tde_setup_paths( ) + + +##### user requested modules #################### + +option( BUILD_ALL "Build all" OFF ) +option( BUILD_KGTK_TQT "Include TQT support" ${BUILD_ALL} ) +option( BUILD_KGTK_TDE "Include TDE support" ${BUILD_ALL} ) +option( BUILD_KGTK_GTK2 "Include GTK2 support" ${BUILD_ALL} ) +option( BUILD_DOC "Build doc" ${BUILD_ALL} ) +option( BUILD_TRANSLATIONS "Build translations" ${BUILD_ALL} ) + + +##### configure checks ########################## + +include( ConfigureChecks.cmake ) + + +###### global compiler settings ################# + +add_definitions( + -DHAVE_CONFIG_H +) + +set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${TQT_CXX_FLAGS}" ) +set( CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined" ) +set( CMAKE_MODULE_LINKER_FLAGS "-Wl,--no-undefined" ) + + +##### source directories ######################## + +add_subdirectory( src ) +tde_conditional_add_subdirectory( BUILD_KGTK_TQT qt3 ) +tde_conditional_add_subdirectory( BUILD_KGTK_TDE kdialogd3 ) +tde_conditional_add_subdirectory( BUILD_KGTK_GTK2 gtk2 ) +tde_conditional_add_subdirectory( BUILD_DOC doc ) +tde_conditional_add_subdirectory( BUILD_TRANSLATIONS po ) + +##### write configure files ##################### + +configure_file( config.h.cmake config.h @ONLY ) + +##### install global wrapper scripts ############ + +install(PROGRAMS ${CMAKE_SOURCE_DIR}/kdialogd-wrapper DESTINATION ${BIN_INSTALL_DIR}) +install(PROGRAMS ${CMAKE_SOURCE_DIR}/kgtk-wrapper DESTINATION ${BIN_INSTALL_DIR})
\ No newline at end of file |