File: CMakeLists.txt

package info (click to toggle)
tango 10.0.2%2Bdfsg1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 89,484 kB
  • sloc: cpp: 201,245; sh: 1,645; python: 953; java: 800; perl: 467; javascript: 447; xml: 325; makefile: 269; sql: 72; ruby: 24
file content (132 lines) | stat: -rw-r--r-- 7,397 bytes parent folder | download | duplicates (2)
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
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
# vim: noautoindent:
cmake_minimum_required(VERSION 3.18...3.26 FATAL_ERROR)

project(TangoSourceDistribution LANGUAGES CXX)

set(SHELL "/usr/bin/env sh")

get_property(IS_MULTI_CONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)

if(NOT IS_MULTI_CONFIG AND NOT CMAKE_BUILD_TYPE)
  set(CMAKE_BUILD_TYPE "Release")
endif()

# switches
option(TSD_LIB "Install and use bundled libtango, if OFF use libtango found on system" ON)
option(TSD_JAVA "Installation of java applications" ON)
option(TSD_DATABASE "Installation of tango database server" ON)
option(TSD_TAC "Installation of access control server" OFF)
option(TSD_HTML_DOCUMENTATION "Include the HTML documentation" ON)

# non-boolean knobs
SET(TSD_JAVA_PATH "" CACHE STRING "Path to the java interpreter")

if(TSD_JAVA)
  set(JAVA_HOME ${TSD_JAVA_PATH})

  find_package(Java 11 COMPONENTS Runtime REQUIRED)

  set(TSD_JAVA_VERSION ${Java_VERSION_STRING})
  set(TSD_JAVA_EXEC ${Java_JAVA_EXECUTABLE})
else()
  set(TSD_JAVA_VERSION "unknown")
  set(TSD_JAVA_EXEC "unknown")
endif()

SET(TSD_RC_FILE "/etc/tangorc")

# Overwrite settings of included projects
option(BUILD_TESTING "Enable building the cppTango tests" OFF)

set(tangoidl_FOUND ON CACHE BOOL "")
set(IDL_VERSION_FOUND "6.0.2" CACHE STRING "")

add_library(tangoidl::tangoidl INTERFACE IMPORTED)
set_target_properties(tangoidl::tangoidl PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_CURRENT_SOURCE_DIR}/lib/idl/include"
)

set(tangoidl_ROOT "${CMAKE_CURRENT_SOURCE_DIR}/lib/idl")
add_subdirectory(lib)
if (TSD_LIB)
  list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
endif()

add_subdirectory(cppserver)
add_subdirectory(doc)
add_subdirectory(pogo)

if(TSD_DATABASE)
  add_subdirectory(scripts)
endif()

add_subdirectory(utils)

# mysql/mariadb server is found in TangoDatabase cmake logic

set(TSD_OMNIORB_VERSION ${OMNIORB_VERSION})
set(TSD_OMNIORB_PATH ${omniORB4_INCLUDE_DIR})

set(TSD_ZMQ_PATH ${ZeroMQ_INCLUDE_DIR})
if(_ZeroMQ_PKG_VERSION)
  set(TSD_ZMQ_VERSION ${_ZeroMQ_PKG_VERSION})
else()
  set(TSD_ZMQ_VERSION "not-yet-supported")
endif()

set(TSD_CPPZMQ_PATH ${cppzmq_INCLUDE_DIR})
if(_cppzmq_PKG_VERSION)
  set(TSD_CPPZMQ_VERSION ${_cppzmq_PKG_VERSION})
else()
  set(TSD_CPPZMQ_VERSION "not-yet-supported")
endif()

# Unfortunately, TangoDatabase's FindMySQL.cmake does not cache MySQL_LIBRARY,
# only MySQL_LIBRARY_RELEASE and MySQL_LIBRARY_DEBUG.
if (NOT MySQL_LIBRARY)
  include(SelectLibraryConfigurations)
  select_library_configurations(MySQL)
endif()

set(TSD_MYSQL_CLIENT_LDLIBS ${MySQL_LIBRARY})
set(TSD_MYSQL_CLIENT_VERSION ${MySQL_VERSION})
set(TSD_MYSQL_SERVER_VERSION ${TDB_DB_VERSION})
set(TSD_MYSQL_SERVER_CONNECTION ${TDB_DB_CONNECTION_RESULT})

message(STATUS                                                                                                               "\
Summary:                                                                                                                   \n \
Configuration (TangoSourceDistribution):                                                                                   \n \
                                                                                                                           \n \
Source code location: ${CMAKE_SOURCE_DIR}                                                                                  \n \
Version: 10.0.2                                                                                                     \n \
Compiler: C++ ${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION}                                                       \n \
                                                                                                                           \n \
OMNIORB PATH: ${TSD_OMNIORB_PATH}                                                                                          \n \
OMNIORB VERSION: ${TSD_OMNIORB_VERSION}                                                                                    \n \
                                                                                                                           \n \
CPPZMQ PATH: ${TSD_CPPZMQ_PATH}                                                                                            \n \
CPPZMQ VERSION: ${TSD_CPPZMQ_VERSION}                                                                                      \n \
                                                                                                                           \n \
ZMQ PATH: ${TSD_ZMQ_PATH}                                                                                                  \n \
ZMQ VERSION: ${TSD_ZMQ_VERSION}                                                                                            \n \
                                                                                                                           \n \
JAVA PATH: ${TSD_JAVA_EXEC}                                                                                                \n \
JAVA VERSION: ${TSD_JAVA_VERSION}                                                                                          \n \
                                                                                                                           \n \
Database:                                                                                                                  \n \
                                                                                                                           \n \
DB NAME: ${TANGO_DB_NAME}                                                                                                  \n \
CLIENT LIB: ${TSD_MYSQL_CLIENT_LDLIBS}                                                                                     \n \
CLIENT VERSION: ${TSD_MYSQL_CLIENT_VERSION}                                                                                \n \
SERVER VERSION: ${TSD_MYSQL_SERVER_VERSION}                                                                                \n \
CONNECTION: ${TSD_MYSQL_SERVER_CONNECTION}                                                                                 \n \
                                                                                                                           \n \
Build:                                                                                                                     \n \
                                                                                                                           \n \
libraries:              ${TSD_LIB}                                                                                         \n \
java application :      ${TSD_JAVA}                                                                                        \n \
access control server:  ${TSD_TAC}                                                                                         \n \
database server:        ${TSD_DATABASE}                                                                                    \n \
database schema create: ${TDB_DATABASE_SCHEMA}                                                                             \n \
                                                                                                                           \n \
Please check whether the configuration I detected matches what you would like to have.")