diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..efda0f9 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,96 @@ +################################################# +# +# (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( tdesvn ) + + +##### 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_DOC "Build doc" ${BUILD_ALL} ) +option( BUILD_TRANSLATIONS "Build translations" ${BUILD_ALL} ) +option( BUILD_TESTS "Building the tests yes or no (default off)" OFF) + + +##### testing ################################### + +SET(TESTINGBUILD OFF CACHE BOOL "Enable/Disable special testing flags") +IF (TESTINGBUILD) + ADD_DEFINITIONS("-DTESTING_RC=\"\\\"\${CMAKE_SOURCE_DIR}/src/tdesvnui.rc\\\"\" -DTESTING_PARTRC=\"\\\"\${CMAKE_SOURCE_DIR}/src/tdesvn_part.rc\\\"\"") + ADD_DEFINITIONS("-DFORCE_ASKPASS=\"\\\"\${CMAKE_BINARY_DIR}/bin/tdesvnaskpass\\\"\"") +ENDIF (TESTINGBUILD) + +IF(BUILD_TESTS) + ENABLE_TESTING() +ENDIF(BUILD_TESTS) + + +##### 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_DOC doc ) +tde_conditional_add_subdirectory( BUILD_TRANSLATIONS po ) + + +##### write configure files ##################### + +configure_file( config.h.cmake config.h @ONLY ) +configure_file( tdesvn-config.h.in tdesvn-config.h @ONLY ) +configure_file( tdesvn.spec.in tdesvn.spec @ONLY ) +configure_file( Helperstuff/BuildService/tdesvn.spec.in Helperstuff/BuildService/tdesvn.spec @ONLY ) +configure_file( Helperstuff/BuildService/tdesvn.dsc.in Helperstuff/BuildService/tdesvn.dsc @ONLY ) +configure_file( Doxyfile.in Doxyfile @ONLY ) +configure_file( Doxyfile.svnqt.in Doxyfile.svnqt @ONLY ) \ No newline at end of file