project(csync C) # Required cmake version cmake_minimum_required(VERSION 2.6.0) # global needed variables set(APPLICATION_NAME ${PROJECT_NAME}) set(APPLICATION_VERSION_MAJOR "0") set(APPLICATION_VERSION_MINOR "50") set(APPLICATION_VERSION_PATCH "6") set(APPLICATION_VERSION "${APPLICATION_VERSION_MAJOR}.${APPLICATION_VERSION_MINOR}.${APPLICATION_VERSION_PATCH}") set(LIBRARY_VERSION "0.1.6") set(LIBRARY_SOVERSION "0") # where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/Modules ) # add definitions include(DefineCMakeDefaults) include(DefinePlatformDefaults) include(DefineCompilerFlags) include(DefineOptions.cmake) include(CPackConfig.cmake) include(DefineInstallationPaths) # install .dlls to bin/ set(BIN_INSTALL_DIR "bin" CACHE PATH "-") # disallow in-source build include(MacroEnsureOutOfSourceBuild) macro_ensure_out_of_source_build("${PROJECT_NAME} requires an out of source build. Please create a separate build directory and run 'cmake /path/to/${PROJECT_NAME} [options]' there.") # add macros include(MacroAddPlugin) include(MacroCopyFile) find_package(Log4C) if(NOT LOG4C_FOUND) set(WITH_LOG4C FALSE) endif() include(ConfigureChecks.cmake) configure_file(config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h) include_directories(${CMAKE_CURRENT_BINARY_DIR}) macro_copy_file(${CMAKE_CURRENT_SOURCE_DIR}/CTestCustom.cmake ${CMAKE_CURRENT_BINARY_DIR}/CTestCustom.cmake) if (MEM_NULL_TESTS) add_definitions(-DCSYNC_MEM_NULL_TESTS) endif (MEM_NULL_TESTS) add_subdirectory(src) add_subdirectory(modules) add_subdirectory(client) add_subdirectory(config) add_subdirectory(doc) find_package(Check) if (CHECK_FOUND AND UNIT_TESTING) include(MacroAddCheckTest) add_subdirectory(tests) endif (CHECK_FOUND AND UNIT_TESTING)