cmake_minimum_required(VERSION 3.1) project(arbitrateor) set(CMAKE_CXX_STANDARD 11) #Change to 17 when possible for filesystem support set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake") find_package(Wt REQUIRED) find_package(Groove REQUIRED) find_package(TagLib REQUIRED) add_executable(arbitrateor src/main.cpp src/WebInterface.cpp src/GroovePlayer.cpp src/ui/LoginInterface.cpp src/ui/PlayerInterface.cpp src/ui/TrackDetails.cpp src/ui/RequestInterface.cpp src/ui/UploadInterface.cpp src/ui/AdminInterface.cpp) target_link_libraries(arbitrateor ${Wt_LIBRARIES} ${GROOVE_LIBRARY} ${GROOVE_FINGERPRINT_LIBRARY} ${GROOVE_PLAYER_LIBRARY} ${GROOVE_LOUDNESS_LIBRARY} ${TAGLIB_LIBRARY} pthread boost_system stdc++fs) #TODO get threading links based on platform. Remove gcc experimental fs when official c++17 exists. install(TARGETS arbitrateor RUNTIME DESTINATION .) install(FILES ${CMAKE_SOURCE_DIR}/wt_config.xml DESTINATION .) install(FILES ${CMAKE_SOURCE_DIR}/run.sh DESTINATION .)