Blame view

src/CMakeLists.txt 3.59 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
  
51becbde   Peter M. Groen   Committed the ent...
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
  project_header(mqtt)
  
  find_package( Boost REQUIRED COMPONENTS regex )
  
  include(compiler)
  
  include_directories(
      ${CMAKE_CURRENT_SOURCE_DIR}/../logutils
  )
  
  set(SRC_LIST
      ${CMAKE_CURRENT_SOURCE_DIR}/clientpaho.cpp
      ${CMAKE_CURRENT_SOURCE_DIR}/commondefs.cpp
      ${CMAKE_CURRENT_SOURCE_DIR}/connectionstatus.cpp
      ${CMAKE_CURRENT_SOURCE_DIR}/compiletimedigits.h
      ${CMAKE_CURRENT_SOURCE_DIR}/compiletimestring.h
      ${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
      # Helper files ( Utillities )
      ${CMAKE_CURRENT_SOURCE_DIR}/bimap.h
      ${CMAKE_CURRENT_SOURCE_DIR}/compat-c++14.h
      ${CMAKE_CURRENT_SOURCE_DIR}/compat-chrono.h
      ${CMAKE_CURRENT_SOURCE_DIR}/histogram.h
      ${CMAKE_CURRENT_SOURCE_DIR}/histogramprovider.h
      ${CMAKE_CURRENT_SOURCE_DIR}/imqttclient.h
      ${CMAKE_CURRENT_SOURCE_DIR}/imqttclientimpl.h
      ${CMAKE_CURRENT_SOURCE_DIR}/lockguard.h
      ${CMAKE_CURRENT_SOURCE_DIR}/macrodefs.h
      ${CMAKE_CURRENT_SOURCE_DIR}/measure.h
      ${CMAKE_CURRENT_SOURCE_DIR}/metaprogrammingdefs.h
      ${CMAKE_CURRENT_SOURCE_DIR}/mqttstream.h
      ${CMAKE_CURRENT_SOURCE_DIR}/stringify.h
      ${CMAKE_CURRENT_SOURCE_DIR}/stringutils.h
      ${CMAKE_CURRENT_SOURCE_DIR}/synchronizedqueue.h
      ${CMAKE_CURRENT_SOURCE_DIR}/utils.h
      ${CMAKE_CURRENT_SOURCE_DIR}/uriutils.h
  )
  
  include(library)
  add_libraries(
      PUBLIC
          Boost::boost
          Boost::regex
          paho-mqtt3a
  )
  
  include(installation)
  install_component()