Housekeeping of CMake rules.

Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
pull/11/head
Slávek Banko 2 years ago
parent b61c1a1003
commit 49ce296ac5
No known key found for this signature in database
GPG Key ID: 608F5293A04BE668

@ -1,3 +1,11 @@
############################################
# #
# Improvements and feedbacks are welcome #
# #
# This file is released under GPL >= 2 #
# #
############################################
cmake_minimum_required( VERSION 3.1 ) cmake_minimum_required( VERSION 3.1 )
@ -5,8 +13,6 @@ cmake_minimum_required( VERSION 3.1 )
project( gtk-qt-engine ) project( gtk-qt-engine )
set( PACKAGE gtk-qt-engine )
##### include essential cmake modules ########### ##### include essential cmake modules ###########
@ -62,63 +68,24 @@ set( CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined"
set( CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,--no-undefined" ) set( CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,--no-undefined" )
INCLUDE (UsePkgConfig) ##### directories
# Find GTK add_subdirectory( src )
PKGCONFIG(gtk+-2.0 GTK_INCLUDE_DIR GTK_LIB_DIR GTK_LINK_FLAGS GTK_CFLAGS) add_subdirectory( kcm_gtk )
IF (NOT GTK_INCLUDE_DIR)
MESSAGE(FATAL_ERROR "GTK was not found. Ensure you have the GTK development libraries installed, and GTK's pkgconfig files are in your pkgconfig search path.")
ENDIF (NOT GTK_INCLUDE_DIR)
MESSAGE(STATUS "Found GTK include dir: ${GTK_INCLUDE_DIR}")
MESSAGE(STATUS "Found GTK library dir: ${GTK_LIB_DIR}")
# Find Bonobo
PKGCONFIG(libbonoboui-2.0 BONOBO_INCLUDE_DIR BONOBO_LIB_DIR BONOBO_LINK_FLAGS BONOBO_CFLAGS)
IF (NOT BONOBO_INCLUDE_DIR)
MESSAGE(STATUS "bonoboui not found. Some features of the theme engine will not work as intended.")
ELSE (NOT BONOBO_INCLUDE_DIR)
MESSAGE(STATUS "Found Bonobo include dir: ${BONOBO_INCLUDE_DIR}")
MESSAGE(STATUS "Found Bonobo library dir: ${BONOBO_LIB_DIR}")
SET(BONOBO_DEFINITIONS -D HAVE_BONOBO)
ENDIF (NOT BONOBO_INCLUDE_DIR)
# Work out where to install stuff
EXEC_PROGRAM(
${PKGCONFIG_EXECUTABLE}
ARGS --variable=gtk_binary_version gtk+-2.0
OUTPUT_VARIABLE GTK_VERSION)
SET(INSTALL_PATH_GTK_ENGINES "${GTK_LIB_DIR}/gtk-2.0/${GTK_VERSION}/engines" CACHE PATH "The directory in which to install the theme engine library (eg. /usr/lib/gtk-2.0/2.4.0/engines)")
MESSAGE(STATUS "Installing the GTK theme engine library to: ${INSTALL_PATH_GTK_ENGINES}")
EXEC_PROGRAM(
${PKGCONFIG_EXECUTABLE}
ARGS --variable=prefix gtk+-2.0
OUTPUT_VARIABLE GTK_PREFIX)
SET(INSTALL_PATH_GTK_THEMES "${GTK_PREFIX}/share/themes" CACHE PATH "The directory in which to install the theme data (eg. /usr/share/themes)")
MESSAGE(STATUS "Installing the GTK theme engine data to: ${INSTALL_PATH_GTK_THEMES}")
SET(INSTALL_PATH_KCONTROL_MODULES "${TDE_LIB_DIR}" CACHE PATH "The directory in which to install KControl plugins (eg. /usr/lib)")
MESSAGE(STATUS "Installing the KControl plugins to: ${INSTALL_PATH_KCONTROL_MODULES}")
MESSAGE(STATUS "Installing everything else to: ${CMAKE_INSTALL_PREFIX}")
# Setup definitions and directories to be used in all subdirectories
ADD_DEFINITIONS(${QT_DEFINITIONS} ${TDE_DEFINITIONS} ${BONOBO_DEFINITIONS})
LINK_DIRECTORIES(${TDE_LIB_DIR} ${GTK_LIB_DIR} ${BONOBO_LIB_DIR} ${TQT_LIBRARY_DIRS})
INCLUDE_DIRECTORIES(${GTK_INCLUDE_DIR} ${BONOBO_INCLUDE_DIR} ${TDE_INCLUDE_DIR} ${TQT_INCLUDE_DIRS})
# Subdirectories
ADD_SUBDIRECTORY(src)
ADD_SUBDIRECTORY(kcm_gtk)
tde_conditional_add_project_docs( BUILD_DOC ) tde_conditional_add_project_docs( BUILD_DOC )
tde_conditional_add_project_translations( BUILD_TRANSLATIONS ) tde_conditional_add_project_translations( BUILD_TRANSLATIONS )
# Uninstall support
CONFIGURE_FILE(
"${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in"
"${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
IMMEDIATE @ONLY)
ADD_CUSTOM_TARGET(uninstall ##### write configure files
"${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
configure_file( config.h.cmake config.h @ONLY )
##### uninstall support
if( NOT TARGET uninstall )
configure_file( "cmake_uninstall.cmake.in" "cmake_uninstall.cmake" IMMEDIATE @ONLY )
add_custom_target( uninstall
"${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
)
endif()

@ -12,8 +12,41 @@ find_package( TQt )
find_package( TDE ) find_package( TDE )
##### check for gcc visibility support ######### ##### check for gcc visibility support
if( WITH_GCC_VISIBILITY ) if( WITH_GCC_VISIBILITY )
tde_setup_gcc_visibility( ) tde_setup_gcc_visibility( )
endif( ) endif( )
#### gtk+-2.0
pkg_search_module( GTK gtk+-2.0 )
if( NOT GTK_FOUND )
tde_message_fatal( "gtk2 is required but was not found on your system" )
endif( )
execute_process(
COMMAND ${PKG_CONFIG_EXECUTABLE}
gtk+-2.0 --variable=gtk_binary_version
OUTPUT_VARIABLE GTK_BIN_VERSION
OUTPUT_STRIP_TRAILING_WHITESPACE
)
set( INSTALL_PATH_GTK_ENGINES "${GTK_LIBDIR}/gtk-2.0/${GTK_BIN_VERSION}/engines"
CACHE PATH "The directory in which to install the theme engine library" )
message( STATUS " theme engine lib directory: ${INSTALL_PATH_GTK_ENGINES}" )
set( INSTALL_PATH_GTK_THEMES "${GTK_PREFIX}/share/themes"
CACHE PATH "The directory in which to install the theme data" )
MESSAGE( STATUS " theme engine data directory: ${INSTALL_PATH_GTK_THEMES}" )
#### libbonoboui-2.0
pkg_search_module( BONOBO libbonoboui-2.0 )
if( NOT BONOBO_FOUND )
message( STATUS "bonoboui not found. Some features of the theme engine will not work as intended." )
else( )
set( HAVE_BONOBO 1 )
endif( )

@ -0,0 +1,11 @@
#define VERSION "@VERSION@"
// Defined if you have fvisibility and fvisibility-inlines-hidden support.
#cmakedefine __KDE_HAVE_GCC_VISIBILITY 1
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
significant byte first (like Motorola and SPARC, unlike Intel). */
#cmakedefine WORDS_BIGENDIAN @WORDS_BIGENDIAN@
/* Defined if libbonoboui is available */
#cmakedefine HAVE_BONOBO 1

@ -1,25 +1,30 @@
include( TDEMacros ) include_directories(
include_directories(
${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}
${TDE_INCLUDE_DIR} ${TDE_INCLUDE_DIR}
${TQT_INCLUDE_DIRS} ${TQT_INCLUDE_DIRS}
) )
link_directories( link_directories(
${TQT_LIBRARY_DIRS} ${TQT_LIBRARY_DIRS}
) )
##### kcm_kcmgtk (part)
tde_add_kpart( kcm_kcmgtk AUTOMOC tde_add_kpart( kcm_kcmgtk AUTOMOC
SOURCES kcmgtk.cpp SOURCES
kcmgtk.cpp
kcmgtkwidget.ui kcmgtkwidget.ui
mozillaprofile.ui mozillaprofile.ui
emacsdetails.ui emacsdetails.ui
searchpaths.ui searchpaths.ui
LINK ${TQT_LIBRARIES} -ltdecore -ltdeui LINK tdecore-shared tdeui-shared
DESTINATION ${PLUGIN_INSTALL_DIR} DESTINATION ${PLUGIN_INSTALL_DIR}
) )
##### other data
tde_create_translated_desktop( kcmgtk.desktop ) tde_create_translated_desktop( kcmgtk.desktop )

@ -1,3 +1,23 @@
include_directories(
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_BINARY_DIR}
${TDE_INCLUDE_DIR}
${TQT_INCLUDE_DIRS}
${GTK_INCLUDE_DIRS}
${BONOBO_INCLUDE_DIRS}
)
link_directories(
${TQT_LIBRARY_DIRS}
${TDE_LIB_DIR}
${GTK_LIBDIR}
${BONOBO_LIBDIR}
)
##### qtengine (shared)
set( target qtengine ) set( target qtengine )
set( ${target}_SRCS set( ${target}_SRCS
@ -9,15 +29,14 @@ set( ${target}_SRCS
tde_add_library( ${target} SHARED AUTOMOC tde_add_library( ${target} SHARED AUTOMOC
SOURCES ${${target}_SRCS} SOURCES ${${target}_SRCS}
LINK ${GTK_LINK_FLAGS} ${BONOBO_LINK_FLAGS} ${TQT_LIBRARIES} -lX11 -ltdecore LINK ${GTK_LIBRARIES} ${BONOBO_LIBRARIES} X11 tdecore-shared
DESTINATION ${INSTALL_PATH_GTK_ENGINES} DESTINATION ${INSTALL_PATH_GTK_ENGINES}
) )
# Add GTK's cflags
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${GTK_CFLAGS} ${BONOBO_CFLAGS}")
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${GTK_CFLAGS} ${BONOBO_CFLAGS}")
INSTALL( ##### other data
install(
FILES gtkrc FILES gtkrc
DESTINATION "${INSTALL_PATH_GTK_THEMES}/Qt/gtk-2.0" DESTINATION "${INSTALL_PATH_GTK_THEMES}/Qt/gtk-2.0"
) )

@ -1,3 +1,7 @@
#if defined( HAVE_CONFIG_H )
# include "config.h"
#endif
#include <math.h> #include <math.h>
#include <string.h> #include <string.h>
#include <gtk/gtkprogressbar.h> #include <gtk/gtkprogressbar.h>

Loading…
Cancel
Save