summaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorsamelian <samelian@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2011-01-23 20:22:40 +0000
committersamelian <samelian@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2011-01-23 20:22:40 +0000
commitcf21ddc3cce570e574364e841758b59c0f8e8e04 (patch)
tree9f79e4569bb2991b4de8c25dd23795126ac0914c /CMakeLists.txt
parentf9c30e41d26594598abaa8315c4488b6c5ff38ea (diff)
downloadtdevelop-cf21ddc3cce570e574364e841758b59c0f8e8e04.tar.gz
tdevelop-cf21ddc3cce570e574364e841758b59c0f8e8e04.zip
[kdevelop] initial cmake support
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdevelop@1216516 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt171
1 files changed, 171 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 00000000..42261ac7
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,171 @@
+#################################################
+#
+# (C) 2010-2011 Serghei Amelian
+# serghei (DOT) amelian (AT) gmail.com
+#
+# Improvements and feedback are welcome
+#
+# This file is released under GPL >= 2
+#
+#################################################
+
+cmake_minimum_required( VERSION 2.6 )
+
+
+##### general package setup #####################
+
+project( kdevelop )
+set( VERSION "3.5.4")
+
+
+##### include essential cmake modules ###########
+
+include( CheckCSourceCompiles )
+include( CheckCXXSourceCompiles )
+include( CheckFunctionExists )
+include( CheckIncludeFile )
+include( CheckIncludeFileCXX )
+include( CheckLibraryExists )
+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( )
+
+
+##### build tools ###############################
+
+option( WITH_BUILDTOOL_ALL "Enable all build tools" OFF )
+option( WITH_BUILDTOOL_ADA "Enable ada build tool" ${WITH_BUILDTOOL_ALL} )
+option( WITH_BUILDTOOL_ANT "Enable ant build tool" ${WITH_BUILDTOOL_ALL} )
+option( WITH_BUILDTOOL_AUTOTOOLS "Enable autotools build tool" ${WITH_BUILDTOOL_ALL} )
+option( WITH_BUILDTOOL_CUSTOMMAKEFILES "Enable custommakefiles build tool" ${WITH_BUILDTOOL_ALL} )
+option( WITH_BUILDTOOL_PASCAL "Enable pascal build tool" ${WITH_BUILDTOOL_ALL} )
+option( WITH_BUILDTOOL_QMAKE "Enable qmake build tool" ${WITH_BUILDTOOL_ALL} )
+option( WITH_BUILDTOOL_SCRIPT "Enable script build tool" ${WITH_BUILDTOOL_ALL} )
+
+
+##### languages #################################
+
+option( WITH_LANGUAGE_ALL "Enable all languages" OFF )
+option( WITH_LANGUAGE_ADA "Enable ada language" ${WITH_LANGUAGE_ALL} )
+option( WITH_LANGUAGE_BASH "Enable bash language" ${WITH_LANGUAGE_ALL} )
+option( WITH_LANGUAGE_CPP "Enable cpp language" ${WITH_LANGUAGE_ALL} )
+option( WITH_LANGUAGE_FORTRAN "Enable fortran language" ${WITH_LANGUAGE_ALL} )
+option( WITH_LANGUAGE_JAVA "Enable java language" ${WITH_LANGUAGE_ALL} )
+option( WITH_LANGUAGE_CSHARP "Enable csharp language" ${WITH_LANGUAGE_ALL} )
+option( WITH_LANGUAGE_PASCAL "Enable pascal language" ${WITH_LANGUAGE_ALL} )
+option( WITH_LANGUAGE_PERL "Enable perl language" ${WITH_LANGUAGE_ALL} )
+option( WITH_LANGUAGE_PHP "Enable php language" ${WITH_LANGUAGE_ALL} )
+option( WITH_LANGUAGE_PYTHON "Enable python language" ${WITH_LANGUAGE_ALL} )
+option( WITH_LANGUAGE_RUBY "Enable ruby language" ${WITH_LANGUAGE_ALL} )
+option( WITH_LANGUAGE_SQL "Enable sql language" ${WITH_LANGUAGE_ALL} )
+
+
+##### version control systems ###################
+
+option( WITH_VCS_ALL "Enable all version control systems" OFF )
+option( WITH_VCS_CLEARCASE "Enable clearcase support" ${WITH_VCS_ALL} )
+option( WITH_VCS_CVSSERVICE "Enable cvsservice support" ${WITH_VCS_ALL} )
+option( WITH_VCS_PERFORCE "Enable perforce support" ${WITH_VCS_ALL} )
+option( WITH_VCS_SUBVERSION "Enable subversion support" ${WITH_VCS_ALL} )
+
+
+##### components ################################
+
+option( BUILD_ALL "Build all components" OFF )
+option( BUILD_KDEVDESIGNER "Build kdevdesigner" ${BUILD_ALL} )
+
+
+##### optional stuff ############################
+
+option( WITH_DEPRECATION "Enable deprecation warnings" OFF )
+
+
+##### configure checks ##########################
+
+include( ConfigureChecks.cmake )
+
+
+##### various definitions #######################
+
+if( NOT DEFINED QT_DOCDIR )
+ find_path( QT_DOCDIR index.html
+ ${QTDIR}/doc/html
+ $ENV{QTDIR}/doc/html )
+ if( NOT QT_DOCDIR )
+ set( QT_DOCDIR "QT_DOCDIR is not set" )
+ endif( )
+endif( )
+
+if( NOT DEFINED KDELIBS_DOXYDIR )
+ set( KDELIBS_DOXYDIR "${TDE_HTML_DIR}/en/kdelibs-apidocs" )
+endif( )
+
+if( NOT DEFINED MAKE_COMMAND )
+ set( MAKE_COMMAND "gmake" )
+endif( )
+
+
+###### global compiler settings #################
+
+add_definitions(
+ -DHAVE_CONFIG_H
+ ${TQT_CFLAGS_OTHER}
+)
+
+if( NOT WITH_DEPRECATION )
+ set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated" )
+endif( )
+
+set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -include tqt.h" )
+set( CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined" )
+set( CMAKE_MODULE_LINKER_FLAGS "-Wl,--no-undefined" )
+
+
+##### install data ##############################
+
+install( FILES
+ kdevelop.desktop kdevassistant.desktop kdevelop_ruby.desktop
+ kdevelop_c_cpp.desktop kdevelop_kde_cpp.desktop
+ kdevelop_scripting.desktop
+ DESTINATION ${XDG_APPS_INSTALL_DIR} )
+
+install( FILES
+ kde-development-kdevelop.directory
+ DESTINATION ${XDG_DIRECTORY_INSTALL_DIR} )
+
+install( FILES
+ x-kdevelop.desktop
+ DESTINATION ${MIME_INSTALL_DIR}/application )
+
+install( PROGRAMS
+ kdevprj2kdevelop
+ DESTINATION ${BIN_INSTALL_DIR} )
+
+
+##### source directories ########################
+
+add_subdirectory( lib )
+add_subdirectory( src )
+add_subdirectory( parts )
+add_subdirectory( buildtools )
+add_subdirectory( editors )
+add_subdirectory( languages )
+add_subdirectory( mimetypes )
+add_subdirectory( pics )
+add_subdirectory( vcs )
+tde_conditional_add_subdirectory( BUILD_KDEVDESIGNER kdevdesigner )
+
+
+##### write configure files #####################
+
+configure_file( config.h.cmake config.h @ONLY )