CMakeLists.txt 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. cmake_minimum_required(VERSION 2.6)
  2. project (ympd)
  3. set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/cmake/")
  4. set(CPACK_PACKAGE_VERSION_MAJOR "1")
  5. set(CPACK_PACKAGE_VERSION_MINOR "2")
  6. set(CPACK_PACKAGE_VERSION_PATCH "0")
  7. option(WITH_MPD_HOST_CHANGE "Let users of the web frontend change the MPD Host" ON)
  8. find_package(LibMPDClient REQUIRED)
  9. find_package(Threads REQUIRED)
  10. configure_file(src/config.h.in ${PROJECT_BINARY_DIR}/config.h)
  11. include_directories(${PROJECT_BINARY_DIR} ${PROJECT_SOURCE_DIR})
  12. include(CheckCSourceCompiles)
  13. set(CMAKE_C_FLAGS "-std=gnu99 -Wall")
  14. set(CMAKE_C_FLAGS_DEBUG "-ggdb -pedantic")
  15. file(GLOB RESOURCES
  16. RELATIVE ${PROJECT_SOURCE_DIR}
  17. htdocs/js/*
  18. htdocs/assets/*
  19. htdocs/css/*.min.css
  20. htdocs/fonts/*
  21. htdocs/index.html
  22. )
  23. add_executable(mkdata htdocs/mkdata.c)
  24. get_target_property(MKDATA_EXE mkdata LOCATION)
  25. add_custom_command(OUTPUT ${PROJECT_BINARY_DIR}/assets.c
  26. COMMAND ${MKDATA_EXE} ${RESOURCES} > ${PROJECT_BINARY_DIR}/assets.c
  27. WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
  28. DEPENDS ${RESOURCES}
  29. )
  30. set(SOURCES
  31. src/ympd.c
  32. src/http_server.c
  33. src/mpd_client.c
  34. src/mongoose.c
  35. src/json_encode.c
  36. assets.c
  37. )
  38. add_executable(ympd ${SOURCES})
  39. target_link_libraries(ympd ${LIBMPDCLIENT_LIBRARY} ${CMAKE_THREAD_LIBS_INIT})
  40. install(TARGETS ympd DESTINATION bin)
  41. install(FILES ympd.1 DESTINATION ${CMAKE_INSTALL_PREFIX}/share/man/man1)