CMakeLists.txt 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. project(ocsync C)
  2. # Required cmake version
  3. cmake_minimum_required(VERSION 2.6.0)
  4. # global needed variables
  5. set(APPLICATION_NAME ${PROJECT_NAME})
  6. set(APPLICATION_VERSION_MAJOR "0")
  7. set(APPLICATION_VERSION_MINOR "91")
  8. set(APPLICATION_VERSION_PATCH "4")
  9. set(APPLICATION_VERSION "${APPLICATION_VERSION_MAJOR}.${APPLICATION_VERSION_MINOR}.${APPLICATION_VERSION_PATCH}")
  10. set(LIBRARY_VERSION "0.2.1")
  11. set(LIBRARY_SOVERSION "0")
  12. # where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked
  13. set(CMAKE_MODULE_PATH
  14. ${CMAKE_SOURCE_DIR}/cmake/Modules
  15. )
  16. # add definitions
  17. include(DefineCMakeDefaults)
  18. include(DefinePlatformDefaults)
  19. include(DefineCompilerFlags)
  20. include(DefineOptions.cmake)
  21. include(DefineInstallationPaths)
  22. # disallow in-source build
  23. include(MacroEnsureOutOfSourceBuild)
  24. 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.")
  25. # add macros
  26. include(MacroAddPlugin)
  27. include(MacroCopyFile)
  28. if (NOT WIN32)
  29. find_package(Iconv)
  30. endif (NOT WIN32)
  31. find_package(CMocka)
  32. if (CMOCKA_FOUND AND UNIT_TESTING)
  33. include(AddCMockaTest)
  34. endif (CMOCKA_FOUND AND UNIT_TESTING)
  35. include(ConfigureChecks.cmake)
  36. set(SOURCE_DIR ${CMAKE_SOURCE_DIR})
  37. include_directories(${CMAKE_CURRENT_BINARY_DIR})
  38. macro_copy_file(${CMAKE_CURRENT_SOURCE_DIR}/CTestCustom.cmake ${CMAKE_CURRENT_BINARY_DIR}/CTestCustom.cmake)
  39. if (MEM_NULL_TESTS)
  40. add_definitions(-DCSYNC_MEM_NULL_TESTS)
  41. endif (MEM_NULL_TESTS)
  42. add_subdirectory(src)
  43. add_subdirectory(config)
  44. add_subdirectory(doc)
  45. if (CMOCKA_FOUND AND UNIT_TESTING)
  46. add_subdirectory(tests)
  47. endif (CMOCKA_FOUND AND UNIT_TESTING)
  48. configure_file(config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h)
  49. configure_file(config_test.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config_test.h)