WIP:Conversion to the cmake building system. #3

Closed
Ghost wants to merge 1 commits from feat/cmakeConv into master

@ -0,0 +1,81 @@
############################################
# #
# Improvements and feedbacks are welcome #
# #
# This file is released under GPL >= 3 #
# #
############################################
cmake_minimum_required( VERSION 2.8 )
#### general package setup
project( smb4k )
set( VERSION R14.1.0 )
#### include essential cmake modules
include( FindPkgConfig )
include( CheckFunctionExists )
include( CheckSymbolExists )
include( CheckIncludeFile )
include( CheckLibraryExists )
include( CheckCSourceCompiles )
include( CheckCXXSourceCompiles )
#### include our cmake modules
set( CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules" )
include( TDEMacros )
##### setup install paths
include( TDESetupPaths )
tde_setup_paths( )
##### optional stuff
option( WITH_ALL_OPTIONS "Enable all optional support" OFF )
option( WITH_GCC_VISIBILITY "Enable fvisibility and fvisibility-inlines-hidden" OFF ) #WIP
##### user requested modules
option( BUILD_ALL "Build all" ON )
option( BUILD_KONQSIDBAR "Build Konqueror sidebar" ${BUILD_ALL} )
option( BUILD_DOC "Build documentation" ${BUILD_ALL} )
option( BUILD_TRANSLATIONS "Build translations" ${BUILD_ALL} )
##### configure checks
include( ConfigureChecks.cmake )
###### global compiler settings
add_definitions( -DHAVE_CONFIG_H -UTQT_NO_ASCII_CAST )
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${TQT_CXX_FLAGS}" )
set( CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined" )
set( CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,--no-undefined" )
##### directories
add_subdirectory( utilities )
add_subdirectory( ${PROJECT_NAME} )
tde_conditional_add_subdirectory( BUILD_KONQSIDBAR plugin )
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 )

@ -0,0 +1,25 @@
###########################################
# #
# Improvements and feedback are welcome #
# #
# This file is released under GPL >= 3 #
# #
###########################################
# required stuff
find_package( TQt )
find_package( TDE )
tde_setup_architecture_flags( )
include(TestBigEndian)
test_big_endian(WORDS_BIGENDIAN)
tde_setup_largefiles( )
##### check for gcc visibility support
if( WITH_GCC_VISIBILITY )
tde_setup_gcc_visibility( )
endif( WITH_GCC_VISIBILITY )

@ -0,0 +1,8 @@
#define VERSION "@VERSION@"
// Defined if you have fvisibility and fvisibility-inlines-hidden support.
#cmakedefine __TDE_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@

@ -0,0 +1,34 @@
file( GLOB _dirs RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} * )
list( REMOVE_ITEM _dirs html man )
string( REGEX REPLACE "[ \r\n\t]+" ";" _linguas "$ENV{LINGUAS}" )
foreach( _dir IN LISTS _dirs )
if( IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${_dir}
AND ( "${_dir}" STREQUAL "en" OR
"${_linguas}" MATCHES "^;*$" OR
";${_linguas};" MATCHES ";${_dir};" ))
file( GLOB _doc_files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/${_dir} ${_dir}/*.docbook )
if( _doc_files )
list( FIND _doc_files "index.docbook" _find_index )
if( -1 EQUAL _find_index )
set( _noindex "NOINDEX" )
else()
unset( _noindex )
endif()
tde_create_handbook(
SOURCE_BASEDIR ${_dir}
${_noindex}
LANG ${_dir}
DESTINATION ${PROJECT_NAME}
)
endif()
endif()
endforeach()
if( EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/html/CMakeLists.txt )
add_subdirectory( html )
endif()
if( EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/man/CMakeLists.txt )
add_subdirectory( man )
endif()

@ -0,0 +1,3 @@
##### help page
tde_create_handbook( DESTINATION ${PROJECT_NAME})

@ -0,0 +1,38 @@
tde_import( konqueror )
include_directories(
${CMAKE_BINARY_DIR}
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
${TDE_INCLUDE_DIR}
${TQT_INCLUDE_DIRS}
)
link_directories(
${TQT_LIBRARY_DIRS}
${TDE_LIB_DIR}
)
##### konqsidebar_smb4k (kpart)
tde_add_kpart( konqsidebar_smb4k AUTOMOC
SOURCES
smb4k_konqplugin.cpp
LINK
tdecore-shared
tdeui-shared
konqsidebarplugin-shared
smb4kcore-shared
DESTINATION ${PLUGIN_INSTALL_DIR}
)
##### other data
tde_create_translated_desktop(
SOURCE ${PROJECT_NAME}_add.desktop
DESTINATION ${DATA_INSTALL_DIR}/konqsidebartng/add
)

@ -0,0 +1,14 @@
file( GLOB_RECURSE po_files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.po )
string( REGEX REPLACE "[ \r\n\t]+" ";" _linguas "$ENV{LINGUAS}" )
foreach( _po ${po_files} )
get_filename_component( _lang ${_po} NAME_WE )
if( "${_linguas}" MATCHES "^;*$" OR ";${_linguas};" MATCHES ";${_lang};" )
if( "${_po}" MATCHES "^([^/]*)/.*" )
string( REGEX REPLACE "^([^/]*)/.*" "\\1" _component "${_po}" )
else( )
set( _component "${PROJECT_NAME}" )
endif( )
tde_create_translation( FILES ${_po} LANG ${_lang} OUTPUT_NAME ${_component} )
endif( )
endforeach( )

@ -0,0 +1,51 @@
add_subdirectory( core )
add_subdirectory( configdlg )
add_subdirectory( dialogs )
add_subdirectory( browser )
add_subdirectory( iconview )
add_subdirectory( listview )
add_subdirectory( searchdlg )
add_subdirectory( icons )
include_directories(
${CMAKE_BINARY_DIR}
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
${TDE_INCLUDE_DIR}
${TQT_INCLUDE_DIRS}
)
link_directories(
${TQT_LIBRARY_DIRS}
${TDE_LIB_DIR}
)
##### smb4k (executable)
tde_add_executable( smb4k AUTOMOC
SOURCES
main.cpp
smb4k.cpp
smb4ksystemtray.cpp
LINK
tdecore-shared
tdeui-shared
tdeio-shared
tdeparts-shared
smb4kcore-shared
smb4kdialogs-shared
DESTINATION ${BIN_INSTALL_DIR}
)
##### other data
install(
FILES smb4k_shell.rc
DESTINATION ${DATA_INSTALL_DIR}/${PROJECT_NAME}
)
tde_create_translated_desktop( ${PROJECT_NAME}.desktop )

@ -0,0 +1,41 @@
include_directories(
${CMAKE_BINARY_DIR}
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
${TDE_INCLUDE_DIR}
${TQT_INCLUDE_DIRS}
)
link_directories(
${TQT_LIBRARY_DIRS}
${TDE_LIB_DIR}
)
##### libsmb4knetworkbrowser (kpart)
tde_add_kpart( libsmb4knetworkbrowser AUTOMOC
SOURCES
smb4knetworkbrowser_part.cpp
smb4knetworkbrowser.cpp
smb4knetworkbrowseritem.cpp
smb4knetworkbrowsertooltip.cpp
LINK
tdecore-shared
tdeui-shared
tdeparts-shared
smb4kcore-shared
smb4kdialogs-shared
DESTINATION ${PLUGIN_INSTALL_DIR}
)
##### other data
install(
FILES smb4knetworkbrowser_part.rc
DESTINATION ${DATA_INSTALL_DIR}/smb4knetworkbrowserpart
)

@ -0,0 +1,35 @@
include_directories(
${CMAKE_BINARY_DIR}
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
${TDE_INCLUDE_DIR}
${TQT_INCLUDE_DIRS}
)
link_directories(
${TQT_LIBRARY_DIRS}
${TDE_LIB_DIR}
)
##### libsmb4tdeconfigdialog (kpart)
tde_add_kpart( libsmb4tdeconfigdialog AUTOMOC
SOURCES
smb4kauthoptions.cpp
smb4tdeconfigdialog.cpp
smb4knetworkoptions.cpp
smb4tdersyncoptions.cpp
smb4ksambaoptions.cpp
smb4kshareoptions.cpp
smb4ksuperuseroptions.cpp
smb4kuserinterfaceoptions.cpp
LINK
tdecore-shared
tdeui-shared
smb4kcore-shared
DESTINATION ${PLUGIN_INSTALL_DIR}
)

@ -0,0 +1,51 @@
include_directories(
${CMAKE_BINARY_DIR}
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
${TDE_INCLUDE_DIR}
${TQT_INCLUDE_DIRS}
)
link_directories(
${TQT_LIBRARY_DIRS}
${TDE_LIB_DIR}
)
##### smb4kcore (shared)
tde_add_library( smb4kcore SHARED AUTOMOC
SOURCES
smb4ksettings.kcfgc
smb4kauthinfo.cpp smb4kbookmark.cpp
smb4kbookmarkhandler.cpp smb4kcore.cpp
smb4kerror.cpp smb4tdefileio.cpp
smb4tdeglobal.cpp smb4kglobal_p.cpp
smb4khomesshareshandler.cpp smb4kmounter.cpp
smb4kmounter_p.cpp smb4knetworkitems.cpp
smb4kpasswordhandler.cpp smb4kpreviewer.cpp
smb4kpreviewitem.cpp smb4kprint.cpp
smb4kprintinfo.cpp smb4ksambaoptionshandler.cpp
smb4ksambaoptionsinfo.cpp smb4kscanner.cpp
smb4kscanner_p.cpp smb4kshare.cpp
smb4ksynchronizationinfo.cpp smb4ksynchronizer.cpp
LINK
tdecore-shared
tdeui-shared
tdeio-shared
DESTINATION ${LIB_INSTALL_DIR}
VERSION 2.0.0
)
##### other data
install(
FILES smb4k.kcfg
DESTINATION ${KCFG_INSTALL_DIR}
)

@ -0,0 +1,33 @@
include_directories(
${CMAKE_BINARY_DIR}
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
${TDE_INCLUDE_DIR}
${TQT_INCLUDE_DIRS}
)
link_directories(
${TQT_LIBRARY_DIRS}
${TDE_LIB_DIR}
)
##### smb4kdialogs (shared)
tde_add_library( smb4kdialogs SHARED AUTOMOC
SOURCES
smb4kbookmarkeditor.cpp
smb4kcustomoptionsdialog.cpp
smb4kmountdialog.cpp
smb4kpreviewdialog.cpp
smb4kprintdialog.cpp
smb4ksynchronizationdialog.cpp
LINK
tdecore-shared
tdeui-shared
smb4kcore-shared
DESTINATION ${LIB_INSTALL_DIR}
)

@ -0,0 +1,3 @@
##### icons
tde_install_icons( ${PROJECT_NAME} )

@ -0,0 +1,42 @@
include_directories(
${CMAKE_BINARY_DIR}
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
${TDE_INCLUDE_DIR}
${TQT_INCLUDE_DIRS}
)
link_directories(
${TQT_LIBRARY_DIRS}
${TDE_LIB_DIR}
)
##### libsmb4ksharesiconview (kpart)
tde_add_kpart( libsmb4ksharesiconview AUTOMOC
SOURCES
smb4ksharesiconview.cpp
smb4ksharesiconview_part.cpp
smb4ksharesiconviewitem.cpp
smb4ksharesiconviewtooltip.cpp
LINK
tdecore-shared
tdeui-shared
tdeio-shared
tdeparts-shared
smb4kcore-shared
smb4kdialogs-shared
DESTINATION ${PLUGIN_INSTALL_DIR}
)
##### other data
install(
FILES smb4ksharesiconview_part.rc
DESTINATION ${DATA_INSTALL_DIR}/smb4ksharesiconviewpart
)

@ -0,0 +1,42 @@
include_directories(
${CMAKE_BINARY_DIR}
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
${TDE_INCLUDE_DIR}
${TQT_INCLUDE_DIRS}
)
link_directories(
${TQT_LIBRARY_DIRS}
${TDE_LIB_DIR}
)
##### libsmb4kshareslistview (kpart)
tde_add_kpart( libsmb4kshareslistview AUTOMOC
SOURCES
smb4kshareslistview.cpp
smb4kshareslistview_part.cpp
smb4kshareslistviewitem.cpp
smb4kshareslistviewtooltip.cpp
LINK
tdecore-shared
tdeui-shared
tdeio-shared
tdeparts-shared
smb4kcore-shared
smb4kdialogs-shared
DESTINATION ${PLUGIN_INSTALL_DIR}
)
##### other data
install(
FILES smb4kshareslistview_part.rc
DESTINATION ${DATA_INSTALL_DIR}/smb4kshareslistviewpart
)

@ -0,0 +1,31 @@
include_directories(
${CMAKE_BINARY_DIR}
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
${TDE_INCLUDE_DIR}
${TQT_INCLUDE_DIRS}
)
link_directories(
${TQT_LIBRARY_DIRS}
${TDE_LIB_DIR}
)
##### libsmb4ksearchdialog (kpart)
tde_add_kpart( libsmb4ksearchdialog AUTOMOC
SOURCES
smb4ksearchdialog.cpp
smb4ksearchdialog_part.cpp
smb4ksearchdialogitem.cpp
LINK
tdecore-shared
tdeui-shared
tdeparts-shared
smb4kcore-shared
DESTINATION ${PLUGIN_INSTALL_DIR}
)
Loading…
Cancel
Save