Blame view

src/CMakeLists.txt 2.79 KB
51becbde   Peter M. Groen   Committed the ent...
1
  cmake_minimum_required(VERSION 3.12)
e0b1fe64   Peter M. Groen   Fixed script.
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
  # ==============================================================================
  # Check to see if we're a submodule or top-repo.
  if(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../cmake)
      message( STATUS "Looks like we're a single module" )
      LIST(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../cmake)
  elseif(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../cmake)
      message( STATUS "Looks like we're a submodule" )
      LIST(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../cmake)
  else()
      message( FATAL_ERROR "No cmake directory found. Did you run the submodules script?" )
  endif()
  
  # ==============================================================================
  # Check to see if there is versioning information available
  if(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../versioning)
      LIST(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../versioning/cmake)
  elseif(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../versioning)
      LIST(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../versioning/cmake)
  else()
      message( FATAL_ERROR "No ${CURRENT_SOURCE_DIR}/osdev_versioning directory found. Did you run the submodules script?" )
  endif()
  # ==============================================================================
51becbde   Peter M. Groen   Committed the ent...
24
  include(projectheader)
e0b1fe64   Peter M. Groen   Fixed script.
25
  
427cbf54   Peter M. Groen   Preparation Subcl...
26
  project_header(mqtt-cpp)
51becbde   Peter M. Groen   Committed the ent...
27
28
29
30
31
32
  
  find_package( Boost REQUIRED COMPONENTS regex )
  
  include(compiler)
  
  include_directories(
427cbf54   Peter M. Groen   Preparation Subcl...
33
      ${CMAKE_SOURCE_DIR}/include
51becbde   Peter M. Groen   Committed the ent...
34
35
36
  )
  
  set(SRC_LIST
c6c62b01   Peter M. Groen   Preparating for p...
37
38
      ${CMAKE_CURRENT_SOURCE_DIR}/mqttpublisherbase.cpp
      ${CMAKE_CURRENT_SOURCE_DIR}/mqttsubscriberbase.cpp
51becbde   Peter M. Groen   Committed the ent...
39
40
41
      ${CMAKE_CURRENT_SOURCE_DIR}/clientpaho.cpp
      ${CMAKE_CURRENT_SOURCE_DIR}/commondefs.cpp
      ${CMAKE_CURRENT_SOURCE_DIR}/connectionstatus.cpp
51becbde   Peter M. Groen   Committed the ent...
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
      ${CMAKE_CURRENT_SOURCE_DIR}/credentials.cpp
      ${CMAKE_CURRENT_SOURCE_DIR}/errorcode.cpp
      ${CMAKE_CURRENT_SOURCE_DIR}/token.cpp
      ${CMAKE_CURRENT_SOURCE_DIR}/ihistogram.cpp
      ${CMAKE_CURRENT_SOURCE_DIR}/timemeasurement.cpp
      ${CMAKE_CURRENT_SOURCE_DIR}/mqttidgenerator.cpp
      ${CMAKE_CURRENT_SOURCE_DIR}/mqtttypeconverter.cpp
      ${CMAKE_CURRENT_SOURCE_DIR}/mqttutil.cpp
      ${CMAKE_CURRENT_SOURCE_DIR}/mqttmessage.cpp
      ${CMAKE_CURRENT_SOURCE_DIR}/mqttclient.cpp
      ${CMAKE_CURRENT_SOURCE_DIR}/mqttfailure.cpp
      ${CMAKE_CURRENT_SOURCE_DIR}/mqttsuccess.cpp
      ${CMAKE_CURRENT_SOURCE_DIR}/utils.cpp
      ${CMAKE_CURRENT_SOURCE_DIR}/imqttclientimpl.cpp
      ${CMAKE_CURRENT_SOURCE_DIR}/istatecallback.cpp
      ${CMAKE_CURRENT_SOURCE_DIR}/scopeguard.cpp
      ${CMAKE_CURRENT_SOURCE_DIR}/serverstate.cpp
      ${CMAKE_CURRENT_SOURCE_DIR}/sharedreaderlock.cpp
      ${CMAKE_CURRENT_SOURCE_DIR}/stringutils.cpp
      ${CMAKE_CURRENT_SOURCE_DIR}/uriparser.cpp
51becbde   Peter M. Groen   Committed the ent...
62
63
64
65
66
67
68
69
70
71
72
73
  )
  
  include(library)
  add_libraries(
      PUBLIC
          Boost::boost
          Boost::regex
          paho-mqtt3a
  )
  
  include(installation)
  install_component()