summaryrefslogtreecommitdiffstats
path: root/tests/auto/httpserver/httpserver.cmake
blob: 84b350c0ec76b588ed3fcae147dbe0e2be7935f0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
if (NOT TARGET Test::HttpServer)

   add_library(httpserver STATIC
      ${CMAKE_CURRENT_LIST_DIR}/httpreqrep.cpp
      ${CMAKE_CURRENT_LIST_DIR}/httpreqrep.h
      ${CMAKE_CURRENT_LIST_DIR}/httpserver.cpp
      ${CMAKE_CURRENT_LIST_DIR}/httpserver.h
      ${CMAKE_CURRENT_LIST_DIR}/proxy_server.h
      ${CMAKE_CURRENT_LIST_DIR}/proxy_server.cpp
   )

   # moc binary might not exist in case of top level build
   qt_autogen_tools(httpserver ENABLE_AUTOGEN_TOOLS "moc")

   if(QT_FEATURE_ssl)
      target_sources(httpserver INTERFACE ${CMAKE_CURRENT_LIST_DIR}/httpsserver.h)
   endif()

   add_library(Test::HttpServer ALIAS httpserver)

   target_include_directories(httpserver INTERFACE
       $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}>
   )

   target_link_libraries(httpserver PUBLIC
      Qt::Core
      Qt::Network
   )

   get_filename_component(SERVER_SOURCE_DIR "${CMAKE_CURRENT_LIST_DIR}" REALPATH)
   target_compile_definitions(httpserver PRIVATE
       SERVER_SOURCE_DIR="${SERVER_SOURCE_DIR}"
   )

   set_target_properties(httpserver PROPERTIES
       SHARED_DATA "${CMAKE_CURRENT_LIST_DIR}/data"
   )
endif()