server: added if(BUILD_TESTING) checks for all test stuff, so buildroot doesn't built it
Dieser Commit ist enthalten in:
Ursprung
ef57b4bc4b
Commit
a1e8f03b04
@ -2,6 +2,7 @@ cmake_minimum_required(VERSION 3.9)
|
||||
include(../shared/traintastic.cmake)
|
||||
project(traintastic-server VERSION ${TRAINTASTIC_VERSION} DESCRIPTION "Traintastic server")
|
||||
include(GNUInstallDirs)
|
||||
include(CTest)
|
||||
include(../shared/translations/traintastic-lang.cmake)
|
||||
|
||||
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake")
|
||||
@ -21,31 +22,27 @@ if(ENABLE_CLANG_TIDY)
|
||||
endif()
|
||||
|
||||
add_executable(traintastic-server src/main.cpp src/options.hpp)
|
||||
add_executable(traintastic-server-test test/main.cpp)
|
||||
|
||||
add_dependencies(traintastic-server traintastic-lang)
|
||||
add_dependencies(traintastic-server-test traintastic-lang)
|
||||
|
||||
target_compile_definitions(traintastic-server-test PRIVATE -DTRAINTASTIC_TEST)
|
||||
|
||||
set_target_properties(traintastic-server PROPERTIES CXX_STANDARD 17)
|
||||
set_target_properties(traintastic-server-test PROPERTIES CXX_STANDARD 17)
|
||||
|
||||
target_include_directories(traintastic-server PRIVATE
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
../shared/src)
|
||||
|
||||
target_include_directories(traintastic-server SYSTEM PRIVATE
|
||||
../shared/thirdparty
|
||||
thirdparty)
|
||||
|
||||
target_include_directories(traintastic-server-test PRIVATE
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
../shared/src)
|
||||
|
||||
target_include_directories(traintastic-server-test SYSTEM PRIVATE
|
||||
../shared/thirdparty
|
||||
thirdparty)
|
||||
if(BUILD_TESTING)
|
||||
add_executable(traintastic-server-test test/main.cpp)
|
||||
add_dependencies(traintastic-server-test traintastic-lang)
|
||||
target_compile_definitions(traintastic-server-test PRIVATE -DTRAINTASTIC_TEST)
|
||||
set_target_properties(traintastic-server-test PROPERTIES CXX_STANDARD 17)
|
||||
target_include_directories(traintastic-server-test PRIVATE
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
../shared/src)
|
||||
target_include_directories(traintastic-server-test SYSTEM PRIVATE
|
||||
../shared/thirdparty
|
||||
thirdparty)
|
||||
endif()
|
||||
|
||||
file(GLOB SOURCES
|
||||
"src/board/*.hpp"
|
||||
@ -215,7 +212,9 @@ if(LINUX)
|
||||
add_definitions(-DHAS_LIBSYSTEMD)
|
||||
list(APPEND SOURCES "src/os/linux/serialportlistimplsystemd.hpp" "src/os/linux/serialportlistimplsystemd.cpp")
|
||||
target_link_libraries(traintastic-server PRIVATE PkgConfig::LIBSYSTEMD)
|
||||
target_link_libraries(traintastic-server-test PRIVATE PkgConfig::LIBSYSTEMD)
|
||||
if(BUILD_TESTING)
|
||||
target_link_libraries(traintastic-server-test PRIVATE PkgConfig::LIBSYSTEMD)
|
||||
endif()
|
||||
endif()
|
||||
else()
|
||||
# socket CAN is only available on linux:
|
||||
@ -228,7 +227,9 @@ if(WIN32)
|
||||
file(GLOB SOURCES_WINDOWS "src/os/windows/*.hpp" "src/os/windows/*.cpp")
|
||||
list(APPEND SOURCES ${SOURCES_WINDOWS} src/version.rc ../shared/gfx/appicon.rc)
|
||||
target_link_libraries(traintastic-server PRIVATE bcrypt setupapi)
|
||||
target_link_libraries(traintastic-server-test PRIVATE bcrypt setupapi)
|
||||
if(BUILD_TESTING)
|
||||
target_link_libraries(traintastic-server-test PRIVATE bcrypt setupapi)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
### COMPILER ###
|
||||
@ -243,11 +244,15 @@ else()
|
||||
#set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fuse-ld=lld")
|
||||
|
||||
target_link_libraries(traintastic-server PRIVATE pthread)
|
||||
target_link_libraries(traintastic-server-test PRIVATE pthread)
|
||||
if(BUILD_TESTING)
|
||||
target_link_libraries(traintastic-server-test PRIVATE pthread)
|
||||
endif()
|
||||
|
||||
if(NOT APPLE)
|
||||
target_link_libraries(traintastic-server PRIVATE stdc++fs)
|
||||
target_link_libraries(traintastic-server-test PRIVATE stdc++fs)
|
||||
if(BUILD_TESTING)
|
||||
target_link_libraries(traintastic-server-test PRIVATE stdc++fs)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
@ -257,7 +262,9 @@ if(WIN32 AND NOT MSVC)
|
||||
# On MinGW ws2_32.dll needs explicit linking
|
||||
# Also mswsock.dll is needed for AcceptEx() used by Boost.Asio
|
||||
target_link_libraries(traintastic-server PRIVATE ws2_32 mswsock)
|
||||
target_link_libraries(traintastic-server-test PRIVATE ws2_32 mswsock)
|
||||
if(BUILD_TESTING)
|
||||
target_link_libraries(traintastic-server-test PRIVATE ws2_32 mswsock)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# boost
|
||||
@ -266,8 +273,10 @@ if(LINUX)
|
||||
|
||||
target_include_directories(traintastic-server SYSTEM PRIVATE ${Boost_INCLUDE_DIRS})
|
||||
target_link_libraries(traintastic-server PRIVATE ${Boost_LIBRARIES})
|
||||
target_include_directories(traintastic-server-test SYSTEM PRIVATE ${Boost_INCLUDE_DIRS})
|
||||
target_link_libraries(traintastic-server-test PRIVATE ${Boost_LIBRARIES})
|
||||
if(BUILD_TESTING)
|
||||
target_include_directories(traintastic-server-test SYSTEM PRIVATE ${Boost_INCLUDE_DIRS})
|
||||
target_link_libraries(traintastic-server-test PRIVATE ${Boost_LIBRARIES})
|
||||
endif()
|
||||
else()
|
||||
add_definitions(
|
||||
-DBOOST_ALL_NO_LIB
|
||||
@ -294,7 +303,9 @@ else()
|
||||
endif()
|
||||
|
||||
target_include_directories(traintastic-server SYSTEM PRIVATE thirdparty/boost)
|
||||
target_include_directories(traintastic-server-test SYSTEM PRIVATE thirdparty/boost)
|
||||
if(BUILD_TESTING)
|
||||
target_include_directories(traintastic-server-test SYSTEM PRIVATE thirdparty/boost)
|
||||
endif()
|
||||
|
||||
file(GLOB SOURCES_BOOST "thirdparty/boost/libs/program_options/src/*.cpp")
|
||||
list(APPEND SOURCES ${SOURCES_BOOST})
|
||||
@ -323,8 +334,10 @@ else()
|
||||
endif()
|
||||
target_include_directories(traintastic-server PRIVATE ${ZLIB_INCLUDE_DIRS})
|
||||
target_link_libraries(traintastic-server PRIVATE ${ZLIB_LIBRARIES})
|
||||
target_include_directories(traintastic-server-test PRIVATE ${ZLIB_INCLUDE_DIRS})
|
||||
target_link_libraries(traintastic-server-test PRIVATE ${ZLIB_LIBRARIES})
|
||||
if(BUILD_TESTING)
|
||||
target_include_directories(traintastic-server-test PRIVATE ${ZLIB_INCLUDE_DIRS})
|
||||
target_link_libraries(traintastic-server-test PRIVATE ${ZLIB_LIBRARIES})
|
||||
endif()
|
||||
|
||||
# libarchive
|
||||
if(WIN32)
|
||||
@ -352,8 +365,10 @@ else()
|
||||
endif()
|
||||
target_include_directories(traintastic-server PRIVATE ${LibArchive_INCLUDE_DIRS})
|
||||
target_link_libraries(traintastic-server PRIVATE ${LibArchive_LIBRARIES})
|
||||
target_include_directories(traintastic-server-test PRIVATE ${LibArchive_INCLUDE_DIRS})
|
||||
target_link_libraries(traintastic-server-test PRIVATE ${LibArchive_LIBRARIES})
|
||||
if(BUILD_TESTING)
|
||||
target_include_directories(traintastic-server-test PRIVATE ${LibArchive_INCLUDE_DIRS})
|
||||
target_link_libraries(traintastic-server-test PRIVATE ${LibArchive_LIBRARIES})
|
||||
endif()
|
||||
|
||||
# liblua5.3
|
||||
if(WIN32)
|
||||
@ -383,13 +398,17 @@ else()
|
||||
endif()
|
||||
target_include_directories(traintastic-server PRIVATE ${LUA_INCLUDE_DIR})
|
||||
target_link_libraries(traintastic-server PRIVATE ${LUA_LIBRARIES})
|
||||
target_include_directories(traintastic-server-test PRIVATE ${LUA_INCLUDE_DIR})
|
||||
target_link_libraries(traintastic-server-test PRIVATE ${LUA_LIBRARIES})
|
||||
if(BUILD_TESTING)
|
||||
target_include_directories(traintastic-server-test PRIVATE ${LUA_INCLUDE_DIR})
|
||||
target_link_libraries(traintastic-server-test PRIVATE ${LUA_LIBRARIES})
|
||||
endif()
|
||||
|
||||
### LIBRARIES END ###
|
||||
|
||||
target_sources(traintastic-server PRIVATE ${SOURCES})
|
||||
target_sources(traintastic-server-test PRIVATE ${TEST_SOURCES} ${SOURCES})
|
||||
if(BUILD_TESTING)
|
||||
target_sources(traintastic-server-test PRIVATE ${TEST_SOURCES} ${SOURCES})
|
||||
endif()
|
||||
|
||||
### CODE COVERAGE ###
|
||||
|
||||
@ -402,16 +421,21 @@ install(TARGETS traintastic-server
|
||||
RUNTIME DESTINATION "/opt/traintastic/bin/"
|
||||
)
|
||||
|
||||
if(INSTALL_TRANSLATIONS)
|
||||
install(FILES ${TRANSLATION_FILES} DESTINATION "/opt/traintastic/translations")
|
||||
endif()
|
||||
|
||||
if(INSTALL_SYSTEMD_SERVICE)
|
||||
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/debian/traintastic-server.service DESTINATION "/lib/systemd/system")
|
||||
endif()
|
||||
|
||||
### TEST ###
|
||||
|
||||
include(CTest)
|
||||
include(Catch)
|
||||
target_include_directories(traintastic-server-test PRIVATE thirdparty/catch2)
|
||||
catch_discover_tests(traintastic-server-test)
|
||||
if(BUILD_TESTING)
|
||||
include(Catch)
|
||||
target_include_directories(traintastic-server-test PRIVATE thirdparty/catch2)
|
||||
catch_discover_tests(traintastic-server-test)
|
||||
endif()
|
||||
|
||||
### Doxygen ###
|
||||
|
||||
|
||||
Laden…
x
In neuem Issue referenzieren
Einen Benutzer sperren