CMakeLists.txt 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  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 "0")
  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(${PROJECT_SOURCE_DIR}/src/config.h.in
  11. ${PROJECT_BINARY_DIR}/config.h)
  12. include_directories(${PROJECT_BINARY_DIR})
  13. include(CheckCSourceCompiles)
  14. include(CPack)
  15. set(CMAKE_C_FLAGS "-std=gnu99 -Wall")
  16. set(CMAKE_C_FLAGS_DEBUG "-ggdb -pedantic")
  17. add_custom_command(OUTPUT ${PROJECT_BINARY_DIR}/http_files.h
  18. COMMAND perl mkdata.pl index.html js/* assets/* css/* fonts/* > ${PROJECT_BINARY_DIR}/http_files.h
  19. WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/htdocs
  20. )
  21. set(SOURCES
  22. src/ympd.c
  23. src/http_server.c
  24. src/mpd_client.c
  25. src/mongoose.c
  26. )
  27. add_executable(ympd ${SOURCES} ${PROJECT_BINARY_DIR}/http_files.h)
  28. target_link_libraries(ympd ${LIBMPDCLIENT_LIBRARY} ${CMAKE_THREAD_LIBS_INIT})
  29. install(TARGETS ympd DESTINATION bin)
  30. install(FILES ympd.1 DESTINATION ${CMAKE_INSTALL_PREFIX}/share/man/man1)