CMakeLists.txt 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
  2. PROJECT(wlc C)
  3. set(WLC_NAME "wlc")
  4. set(WLC_DESCRIPTION "Wayland compositor library")
  5. set(WLC_VERSION "0.0.1")
  6. set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${wlc_SOURCE_DIR}/CMake)
  7. include(CTest)
  8. include(test)
  9. # Options
  10. OPTION(WLC_BUILD_STATIC "Build wlc as static library" OFF)
  11. OPTION(WLC_BUILD_EXAMPLES "Build wlc examples" ON)
  12. OPTION(WLC_BUILD_TESTS "Build wlc tests" ON)
  13. # Warnings
  14. # FIXME: Use CMake module made for this
  15. if (MSVC)
  16. if (CMAKE_CXX_FLAGS MATCHES "/W[0-4]")
  17. string(REGEX REPLACE "/W[0-4]" "/W4" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
  18. else ()
  19. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4")
  20. endif ()
  21. elseif (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
  22. set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wno-variadic-macros -Wno-long-long")
  23. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wno-variadic-macros -Wno-long-long")
  24. endif ()
  25. set(CMAKE_POSITION_INDEPENDENT_CODE ON)
  26. if (${CMAKE_VERSION} VERSION_LESS 2.8.9)
  27. add_definitions(-fPIC)
  28. endif ()
  29. add_definitions(-std=c99 -D_DEFAULT_SOURCE)
  30. include_directories(shared)
  31. add_subdirectory(lib)
  32. add_subdirectory(src)
  33. if (WLC_BUILD_EXAMPLES)
  34. add_subdirectory(example)
  35. endif ()
  36. if (WLC_BUILD_TESTS)
  37. add_subdirectory(tests)
  38. endif ()