traintastic/server/CMakeLists.txt
2019-11-01 21:35:54 +01:00

51 Zeilen
1.3 KiB
CMake

cmake_minimum_required(VERSION 3.9)
project(traintastic-server VERSION 0.1.0 DESCRIPTION "Traintastic server")
include(GNUInstallDirs)
#find_package(PkgConfig REQUIRED)
find_package(Lua 5.3 REQUIRED)
#pkg_check_modules(USBXPRESSNET REQUIRED IMPORTED_TARGET usbxpressnet)
find_path(USBXPRESSNET_INCLUDE_DIR usbxpressnet.h)
#message(${USBXPRESSNET_INCLUDE_DIR})
find_library(USBXPRESSNET_LIB usbxpressnet)
#message(${USBXPRESSNET_LIB})
#if(NOT USBXPRESSNET_LIB)
# message(FATAL_ERROR "usbxpressnet library not found")
#endif()
file(GLOB SOURCES
"src/*.cpp"
"src/core/*.cpp"
"src/hardware/commandstation/*.cpp"
"src/hardware/commandstation/protocol/*.cpp"
"src/hardware/decoder/*.cpp"
"src/lua/*.cpp"
"thirdparty/boost/libs/program_options/src/*.cpp")
add_executable(traintastic-server ${SOURCES})
add_definitions(
-DVERSION=${PROJECT_VERSION}
-DBOOST_ALL_NO_LIB
-DBOOST_ERROR_CODE_HEADER_ONLY
-DBOOST_CHRONO_HEADER_ONLY
-DBOOST_ASIO_HEADER_ONLY
-DBOOST_SYSTEM_NO_DEPRECATED)
target_include_directories(traintastic-server PRIVATE
../shared/src/
thirdparty
thirdparty/boost
${LUA_INCLUDE_DIR}
${USBXPRESSNET_INCLUDE_DIR})
target_link_libraries(traintastic-server
pthread
stdc++fs
${LUA_LIBRARIES}
${USBXPRESSNET_LIB})
# PkgConfig::USBXPRESSNET)
set_target_properties(traintastic-server PROPERTIES CXX_STANDARD 17)