Initial conversion to standard CMake system

pull/1/head
Timothy Pearson 13 years ago
parent 61572100ab
commit 1899f45e7a

@ -1,10 +1,22 @@
project(QtCurve-KDE3) #################################################
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 )
##### cpack configuration #######################
set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README") set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README")
set(CPACK_GENERATOR "DEB;RPM;TGZ") set(CPACK_GENERATOR "DEB;RPM;TGZ")
set(DEBIAN_PACKAGE_DESCRIPTION "QtCurve for Qt3/KDE3") set(DEBIAN_PACKAGE_DESCRIPTION "QtCurve for TQt/TDE")
set(DEBIAN_PACKAGE_SECTION "kde") set(DEBIAN_PACKAGE_SECTION "tde")
set(CPACK_SOURCE_GENERATOR "TBZ2") set(CPACK_SOURCE_GENERATOR "TBZ2")
set(CPACK_PACKAGE_VERSION_MAJOR "1") set(CPACK_PACKAGE_VERSION_MAJOR "1")
set(CPACK_PACKAGE_VERSION_MINOR "6") set(CPACK_PACKAGE_VERSION_MINOR "6")
@ -16,111 +28,71 @@ set(CPACK_SOURCE_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${QTCURVE_VERSION_FULL
set(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${QTCURVE_VERSION_FULL}") set(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${QTCURVE_VERSION_FULL}")
include(CPack) include(CPack)
if(COMMAND cmake_policy)
cmake_policy(SET CMP0003 NEW) ##### general package setup #####################
endif(COMMAND cmake_policy)
project( kio-locate )
if (QTC_BUILD_CONFIG_MODULE)
if (NOT QTC_QT_ONLY)
find_package(KDE3) ##### include essential cmake modules ###########
if (NOT KDE3_FOUND)
set(QTC_QT_ONLY true) include( CheckCXXSourceCompiles )
message("INFO: KDE3 not found! Compiling for Qt only! (Not building the config module)") include( CheckFunctionExists )
endif (NOT KDE3_FOUND) include( CheckIncludeFileCXX )
endif (NOT QTC_QT_ONLY) include( CheckLibraryExists )
else (QTC_BUILD_CONFIG_MODULE) include( CheckStructHasMember )
set(QTC_QT_ONLY true) include( CheckSymbolExists )
endif (QTC_BUILD_CONFIG_MODULE) include( CheckTypeSize )
include( FindPkgConfig )
if (NOT QTC_QT_ONLY)
include(KDE3Macros)
else (NOT QTC_QT_ONLY) ##### include our cmake modules #################
if (NOT KDE3PREFIX)
SET(KDE3PREFIX "/opt/trinity") set( CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules" )
endif (NOT KDE3PREFIX) include( TDEMacros )
set(QT_MT_REQUIRED TRUE)
find_package(Qt3 REQUIRED) ##### setup install paths #######################
set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake )
include(QtCurveQt3) include( TDESetupPaths )
if (QT_PLUGINS_DIR MATCHES NOTFOUND) tde_setup_paths( )
MESSAGE(STATUS_ERROR "Qt3 package not found--assuming TQt4")
SET(QT_INCLUDE_DIR "/usr/include/qt4")
SET(QT_PLUGINS_DIR "${KDE3PREFIX}/lib/trinity/plugins") ##### user requested modules ####################
endif (QT_PLUGINS_DIR MATCHES NOTFOUND)
endif (NOT QTC_QT_ONLY) option( BUILD_ALL "Build all" OFF )
option( BUILD_CONFIG_MODULE "Build TDE configuration module" ${BUILD_ALL} )
#if (NOT QTC_QT_ONLY) option( BUILD_TRANSLATIONS "Build translations" ${BUILD_ALL} )
exec_program(kde-config
ARGS --prefix --expandvars
OUTPUT_VARIABLE CMAKE_INSTALL_PREFIX) ##### configure checks ##########################
#endif (NOT QTC_QT_ONLY)
include( ConfigureChecks.cmake )
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -I/usr/include/tqt -include tqt.h -DTQT_THREAD_SUPPORT")
# NASTY HACK TO FORCE COMPILATION ###### global compiler settings #################
# REMOVE WHEN FIXED
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -I/opt/trinity/include") add_definitions(
-DHAVE_CONFIG_H
SET(QT_UIC_EXECUTABLE "/usr/bin/uic-tqt" CACHE FILEPATH "") )
SET(QT_MOC_EXECUTABLE "/usr/bin/tmoc" CACHE FILEPATH "")
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${TQT_CXX_FLAGS}" )
exec_program(kde-config set( CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined" )
ARGS --install locale --expandvars set( CMAKE_MODULE_LINKER_FLAGS "-Wl,--no-undefined" )
OUTPUT_VARIABLE KDE3_LOCALE_PREFIX)
file(TO_CMAKE_PATH "$ENV{KDEDIRS}" _KDEDIRS) ##### source directories ########################
# For KDE4 kde-config has been renamed to kde4-config add_subdirectory( style )
find_program(KDE4_KDECONFIG_EXECUTABLE add_subdirectory( themes )
NAMES kde4-config add_subdirectory( colors )
PATHS ${CMAKE_INSTALL_PREFIX}/bin ${_KDEDIRS} /usr/local/bin /usr/bin /opt/kde4/bin NO_DEFAULT_PATH) tde_conditional_add_subdirectory( BUILD_CONFIG_MODULE config )
tde_conditional_add_subdirectory( BUILD_TRANSLATIONS po )
if (NOT KDE4_KDECONFIG_EXECUTABLE)
find_program(KDE4_KDECONFIG_EXECUTABLE NAMES kde4-config )
endif (NOT KDE4_KDECONFIG_EXECUTABLE) ##### write configure files #####################
if(KDE4_KDECONFIG_EXECUTABLE) configure_file( config.h.cmake config.h @ONLY )
exec_program(${KDE4_KDECONFIG_EXECUTABLE}
ARGS --prefix
OUTPUT_VARIABLE KDE4PREFIX)
endif(KDE4_KDECONFIG_EXECUTABLE)
if(NOT KDE4PREFIX)
set(KDE4PREFIX ${KDE3PREFIX})
endif(NOT KDE4PREFIX)
configure_file (config.h.cmake ${CMAKE_BINARY_DIR}/config.h)
#if (NOT QTC_QT_ONLY)
add_definitions(${QT_DEFINITIONS} ${KDE3_DEFINITIONS})
include_directories (${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${KDE3_INCLUDES})
#else (NOT QTC_QT_ONLY)
# add_definitions(${QT_DEFINITIONS})
# include_directories (${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR})
#endif (NOT QTC_QT_ONLY)
set(DATA_INSTALL_DIR ${KDE3PREFIX}/share/apps)
if(QTC_DEFAULT_TO_KDE3)
message("INFO: Defaulting to reading KDE3 settings if KDE_SESSION_VERSION is not set")
else(QTC_DEFAULT_TO_KDE3)
message("INFO: Defaulting to reading KDE4 settings if KDE_SESSION_VERSION is not set")
endif(QTC_DEFAULT_TO_KDE3)
add_subdirectory(style)
#if (NOT QTC_QT_ONLY)
if (QTC_BUILD_CONFIG_MODULE)
message("**************************************************************\n"
"Warning: The KDE3 config module is deprecated, and is no longer\n"
" actively maintained. This module NO LONGER COMPILES!\n"
" It is recommended to use the KDE4 version instead.\n"
"**************************************************************\n")
add_subdirectory(config)
add_subdirectory(po)
endif (QTC_BUILD_CONFIG_MODULE)
add_subdirectory(themes)
add_subdirectory(colors)
#endif (NOT QTC_QT_ONLY)
if (QTC_ENABLE_PARENTLESS_DIALOG_FIX_SUPPORT) if (QTC_ENABLE_PARENTLESS_DIALOG_FIX_SUPPORT)
message("**************************************************************\n" message("**************************************************************\n"

@ -0,0 +1,132 @@
project(QtCurve-KDE3)
cmake_minimum_required(VERSION 2.4.0)
set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README")
set(CPACK_GENERATOR "DEB;RPM;TGZ")
set(DEBIAN_PACKAGE_DESCRIPTION "QtCurve for Qt3/KDE3")
set(DEBIAN_PACKAGE_SECTION "kde")
set(CPACK_SOURCE_GENERATOR "TBZ2")
set(CPACK_PACKAGE_VERSION_MAJOR "1")
set(CPACK_PACKAGE_VERSION_MINOR "6")
set(CPACK_PACKAGE_VERSION_PATCH "2")
set(CPACK_PACKAGE_CONTACT "Craig Drummond <craig.p.drummond@gmail.com>")
set(QTCURVE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}")
set(QTCURVE_VERSION_FULL "${QTCURVE_VERSION}.${CPACK_PACKAGE_VERSION_PATCH}")
set(CPACK_SOURCE_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${QTCURVE_VERSION_FULL}")
set(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${QTCURVE_VERSION_FULL}")
include(CPack)
if(COMMAND cmake_policy)
cmake_policy(SET CMP0003 NEW)
endif(COMMAND cmake_policy)
if (QTC_BUILD_CONFIG_MODULE)
if (NOT QTC_QT_ONLY)
find_package(KDE3)
if (NOT KDE3_FOUND)
set(QTC_QT_ONLY true)
message("INFO: KDE3 not found! Compiling for Qt only! (Not building the config module)")
endif (NOT KDE3_FOUND)
endif (NOT QTC_QT_ONLY)
else (QTC_BUILD_CONFIG_MODULE)
set(QTC_QT_ONLY true)
endif (QTC_BUILD_CONFIG_MODULE)
if (NOT QTC_QT_ONLY)
include(KDE3Macros)
else (NOT QTC_QT_ONLY)
if (NOT KDE3PREFIX)
SET(KDE3PREFIX "/opt/trinity")
endif (NOT KDE3PREFIX)
set(QT_MT_REQUIRED TRUE)
find_package(Qt3 REQUIRED)
set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake )
include(QtCurveQt3)
if (QT_PLUGINS_DIR MATCHES NOTFOUND)
MESSAGE(STATUS_ERROR "Qt3 package not found--assuming TQt4")
SET(QT_INCLUDE_DIR "/usr/include/qt4")
SET(QT_PLUGINS_DIR "${KDE3PREFIX}/lib/trinity/plugins")
endif (QT_PLUGINS_DIR MATCHES NOTFOUND)
endif (NOT QTC_QT_ONLY)
#if (NOT QTC_QT_ONLY)
exec_program(kde-config
ARGS --prefix --expandvars
OUTPUT_VARIABLE CMAKE_INSTALL_PREFIX)
#endif (NOT QTC_QT_ONLY)
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -I/usr/include/tqt -include tqt.h -DTQT_THREAD_SUPPORT")
# NASTY HACK TO FORCE COMPILATION
# REMOVE WHEN FIXED
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -I/opt/trinity/include")
SET(QT_UIC_EXECUTABLE "/usr/bin/uic-tqt" CACHE FILEPATH "")
SET(QT_MOC_EXECUTABLE "/usr/bin/tmoc" CACHE FILEPATH "")
exec_program(kde-config
ARGS --install locale --expandvars
OUTPUT_VARIABLE KDE3_LOCALE_PREFIX)
file(TO_CMAKE_PATH "$ENV{KDEDIRS}" _KDEDIRS)
# For KDE4 kde-config has been renamed to kde4-config
find_program(KDE4_KDECONFIG_EXECUTABLE
NAMES kde4-config
PATHS ${CMAKE_INSTALL_PREFIX}/bin ${_KDEDIRS} /usr/local/bin /usr/bin /opt/kde4/bin NO_DEFAULT_PATH)
if (NOT KDE4_KDECONFIG_EXECUTABLE)
find_program(KDE4_KDECONFIG_EXECUTABLE NAMES kde4-config )
endif (NOT KDE4_KDECONFIG_EXECUTABLE)
if(KDE4_KDECONFIG_EXECUTABLE)
exec_program(${KDE4_KDECONFIG_EXECUTABLE}
ARGS --prefix
OUTPUT_VARIABLE KDE4PREFIX)
endif(KDE4_KDECONFIG_EXECUTABLE)
if(NOT KDE4PREFIX)
set(KDE4PREFIX ${KDE3PREFIX})
endif(NOT KDE4PREFIX)
configure_file (config.h.cmake ${CMAKE_BINARY_DIR}/config.h)
#if (NOT QTC_QT_ONLY)
add_definitions(${QT_DEFINITIONS} ${KDE3_DEFINITIONS})
include_directories (${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${KDE3_INCLUDES})
#else (NOT QTC_QT_ONLY)
# add_definitions(${QT_DEFINITIONS})
# include_directories (${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR})
#endif (NOT QTC_QT_ONLY)
set(DATA_INSTALL_DIR ${KDE3PREFIX}/share/apps)
if(QTC_DEFAULT_TO_KDE3)
message("INFO: Defaulting to reading KDE3 settings if KDE_SESSION_VERSION is not set")
else(QTC_DEFAULT_TO_KDE3)
message("INFO: Defaulting to reading KDE4 settings if KDE_SESSION_VERSION is not set")
endif(QTC_DEFAULT_TO_KDE3)
add_subdirectory(style)
#if (NOT QTC_QT_ONLY)
if (QTC_BUILD_CONFIG_MODULE)
message("**************************************************************\n"
"Warning: The KDE3 config module is deprecated, and is no longer\n"
" actively maintained. This module NO LONGER COMPILES!\n"
" It is recommended to use the KDE4 version instead.\n"
"**************************************************************\n")
add_subdirectory(config)
add_subdirectory(po)
endif (QTC_BUILD_CONFIG_MODULE)
add_subdirectory(themes)
add_subdirectory(colors)
#endif (NOT QTC_QT_ONLY)
if (QTC_ENABLE_PARENTLESS_DIALOG_FIX_SUPPORT)
message("**************************************************************\n"
"Warning: You have enabled support for the 'fix parentless dialogs'\n"
" option. This is known to BREAK some applications. Please\n"
" DO NOT report errors to application authors when you have\n"
" this enabled. Please reconsider DISABLING this option.\n"
"**************************************************************\n")
endif (QTC_ENABLE_PARENTLESS_DIALOG_FIX_SUPPORT)

@ -0,0 +1,30 @@
#################################################
#
# (C) 2010 Serghei Amelian
# serghei (DOT) amelian (AT) gmail.com
#
# Improvements and feedback are welcome
#
# This file is released under GPL >= 2
#
#################################################
if( BUILD_TRANSLATIONS AND NOT DEFINED MSGFMT_EXECUTABLE )
find_program( MSGFMT_EXECUTABLE msgfmt )
if( NOT MSGFMT_EXECUTABLE )
tde_message_fatal( "msgfmt program is required, but was not found on your system" )
endif( )
endif( )
check_type_size( "int" SIZEOF_INT BUILTIN_TYPES_ONLY )
check_type_size( "long" SIZEOF_LONG BUILTIN_TYPES_ONLY )
check_include_file( stdint.h HAVE_STDINT_H )
check_include_file( systems.h HAVE_SYSTEMS_H )
check_include_file( linux/inotify.h HAVE_INOTIFY )
check_function_exists( statvfs HAVE_STATVFS )
# common required stuff
find_package( TQt )
find_package( TDE )

@ -1,27 +0,0 @@
FILE(GLOB GLOB_PATHS_BIN /usr/lib/qt-3*/bin/)
FIND_PATH(QT_PLUGINS_DIR imageformats
$ENV{QTDIR}/plugins
${GLOB_PATHS_BIN}
/usr/local/qt/plugins
/usr/lib/qt/plugins
/usr/lib/qt3/plugins
/usr/share/qt3/plugins
)
MACRO(QTCURVE_QT_WRAP_CPP outfiles )
# get include dirs
GET_DIRECTORY_PROPERTY(moc_includes_tmp INCLUDE_DIRECTORIES)
SET(moc_includes)
FOREACH(it ${ARGN})
GET_FILENAME_COMPONENT(outfilename ${it} NAME_WE)
GET_FILENAME_COMPONENT(infile ${it} ABSOLUTE)
SET(outfile ${CMAKE_CURRENT_BINARY_DIR}/${outfilename}.moc)
ADD_CUSTOM_COMMAND(OUTPUT ${outfile}
COMMAND ${QT_MOC_EXECUTABLE}
ARGS -o ${outfile} ${infile}
DEPENDS ${infile})
SET(${outfiles} ${${outfiles}} ${outfile})
ENDFOREACH(it)
ENDMACRO(QTCURVE_QT_WRAP_CPP)

@ -1,22 +1,47 @@
if (NOT QTC_QT_ONLY) #################################################
set(qtcurve_SRCS qtcurve.cpp pixmaps.h) #
add_definitions(-DQT_PLUGIN) # (C) 2010 Serghei Amelian
include_directories(${CMAKE_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_BINARY_DIR} ${KDE3_INCLUDE_DIR} ${QT_INCLUDE_DIR} ${CMAKE_SOURCE_DIR}/common) # serghei (DOT) amelian (AT) gmail.com
link_directories(${KDE3_LIB_DIR}) #
trinity_automoc(${qtcurve_SRCS}) # Improvements and feedback are welcome
add_library(qtcurve MODULE ${qtcurve_SRCS}) #
set_target_properties(qtcurve PROPERTIES PREFIX "") # This file is released under GPL >= 2
target_link_libraries(qtcurve ${QT_LIBRARIES} tdefx) #
install(TARGETS qtcurve LIBRARY DESTINATION ${KDE3_LIB_DIR}/trinity/plugins/styles) #################################################
install(FILES qtcurve.themerc DESTINATION ${KDE3PREFIX}/share/apps/kstyle/themes)
else (NOT QTC_QT_ONLY)
set(qtcurve_MOC_CLASSES qtcurve.h qtc_kstyle.h)
QTCURVE_QT_WRAP_CPP(qtcurve_MOC_SRCS ${qtcurve_MOC_CLASSES})
set(qtcurve_SRCS qtcurve.cpp qtc_kstyle.cpp pixmaps.h)
include_directories(${CMAKE_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_BINARY_DIR} ${QT_INCLUDE_DIR} ${CMAKE_SOURCE_DIR}/common)
add_library(qtcurve MODULE ${qtcurve_SRCS} ${qtcurve_MOC_SRCS})
set_target_properties(qtcurve PROPERTIES PREFIX "")
target_link_libraries(qtcurve ${QT_LIBRARIES})
install(TARGETS qtcurve LIBRARY DESTINATION ${QT_PLUGINS_DIR}/styles)
endif (NOT QTC_QT_ONLY)
add_subdirectory( config )
add_definitions(
-DQT_PLUGIN
)
include_directories(
${TQT_INCLUDE_DIRS}
${TDE_INCLUDE_DIRS}
${CMAKE_CURRENT_BINARY_DIR}
)
link_directories(
${TQT_LIBRARY_DIRS}
${TDE_LIBRARY_DIRS}
)
##### other data ################################
install( FILES qtcurve.themerc DESTINATION ${DATA_INSTALL_DIR}/kstyle/themes )
##### plastik ###################################
set( target qtcurve )
set( ${target}_SRCS
qtcurve.cpp pixmaps.h
)
tde_add_kpart( ${target} AUTOMOC
SOURCES ${${target}_SRCS}
LINK tdefx-shared
DESTINATION ${PLUGIN_INSTALL_DIR}/plugins/styles
)

Loading…
Cancel
Save