@@ -17,13 +17,36 @@ set(CMAKE_AUTORCC ON)
17
17
18
18
set_property (GLOBAL PROPERTY USE_FOLDERS ON )
19
19
20
+ # Set build variables
21
+ SET ( DEFAULT_PROTOBUF ON )
22
+ SET ( DEFAULT_BOBLIGHT ON )
23
+ SET ( DEFAULT_WS281XPWM OFF )
24
+ SET ( DEFAULT_USE_SYSTEM_FLATBUFFERS_LIBS OFF )
25
+ SET ( DEFAULT_USE_SYSTEM_MBEDTLS_LIBS OFF )
26
+ SET ( DEFAULT_MF OFF )
27
+ SET ( DEFAULT_DX OFF )
28
+ SET ( DEFAULT_AVF OFF )
29
+ SET ( DEFAULT_MAC_SYSTEM OFF )
30
+ SET ( DEFAULT_V4L2 OFF )
31
+ SET ( DEFAULT_X11 OFF )
32
+ SET ( DEFAULT_PIPEWIRE OFF )
33
+ SET ( DEFAULT_FRAMEBUFFER OFF )
34
+ SET ( DEFAULT_SOUNDCAPWINDOWS OFF )
35
+ SET ( DEFAULT_SOUNDCAPMACOS OFF )
36
+ SET ( DEFAULT_CEC OFF )
37
+ SET ( DEFAULT_BONJOUR ON )
38
+ SET ( DEFAULT_MQTT ON )
39
+ SET ( DEFAULT_STATIC_QT_PLUGINS OFF )
40
+ SET ( DEFAULT_PRECOMPILED_HEADERS ON )
41
+
20
42
# Configure CCache if available
21
43
find_program (CCACHE_FOUND ccache)
22
44
if ( CCACHE_FOUND )
23
45
if (DEFINED ENV{CCACHE_DIR})
24
- message ( STATUS "Found CCache and its env settings: $ENV{CCACHE_DIR} . Will try to use it." )
46
+ message ( STATUS "Found CCache and its env settings: $ENV{CCACHE_DIR} . Will try to use it. Disabling precompiled headers. " )
25
47
set_property (GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache)
26
48
set_property (GLOBAL PROPERTY RULE_LAUNCH_LINK ccache)
49
+ SET ( DEFAULT_PRECOMPILED_HEADERS OFF )
27
50
else ()
28
51
message ( WARNING "Found CCache but env settings: CCACHE_DIR is not set. Skipping." )
29
52
endif ()
@@ -52,29 +75,6 @@ ELSE()
52
75
SET ( Qt_VERSION 5 )
53
76
ENDIF ()
54
77
55
-
56
- # Set build variables
57
- SET ( DO_NOT_USE_QT_VERSION_6_LIBS OFF )
58
- SET ( DEFAULT_PROTOBUF ON )
59
- SET ( DEFAULT_BOBLIGHT ON )
60
- SET ( DEFAULT_WS281XPWM OFF )
61
- SET ( DEFAULT_USE_SYSTEM_FLATBUFFERS_LIBS OFF )
62
- SET ( DEFAULT_USE_SYSTEM_MBEDTLS_LIBS OFF )
63
- SET ( DEFAULT_MF OFF )
64
- SET ( DEFAULT_DX OFF )
65
- SET ( DEFAULT_AVF OFF )
66
- SET ( DEFAULT_MAC_SYSTEM OFF )
67
- SET ( DEFAULT_V4L2 OFF )
68
- SET ( DEFAULT_X11 OFF )
69
- SET ( DEFAULT_PIPEWIRE OFF )
70
- SET ( DEFAULT_FRAMEBUFFER OFF )
71
- SET ( DEFAULT_SOUNDCAPWINDOWS OFF )
72
- SET ( DEFAULT_SOUNDCAPMACOS OFF )
73
- SET ( DEFAULT_CEC OFF )
74
- SET ( DEFAULT_BONJOUR ON )
75
- SET ( DEFAULT_MQTT ON )
76
- SET ( DEFAULT_STATIC_QT_PLUGINS OFF )
77
-
78
78
IF ( ${CMAKE_SYSTEM} MATCHES "Linux" )
79
79
SET ( DEFAULT_SOUNDCAPLINUX ON )
80
80
SET ( DEFAULT_V4L2 ON )
@@ -149,8 +149,9 @@ if ( "${PLATFORM}" MATCHES "osx" )
149
149
list (APPEND CMAKE_PREFIX_PATH "/usr/local/opt/qt5" )
150
150
endif ()
151
151
152
- SET ( DEFAULT_AVF ON )
153
- SET ( DEFAULT_MAC_SYSTEM ON )
152
+ SET ( DEFAULT_AVF ON )
153
+ SET ( DEFAULT_MAC_SYSTEM ON )
154
+ SET ( DEFAULT_PRECOMPILED_HEADERS OFF )
154
155
elseif ( "${PLATFORM} " MATCHES "rpi" )
155
156
SET ( DEFAULT_WS281XPWM ON )
156
157
SET ( DEFAULT_CEC ON )
@@ -357,6 +358,9 @@ message(STATUS "ENABLE_MQTT = ${ENABLE_MQTT}")
357
358
option (USE_STATIC_QT_PLUGINS "Enable static QT plugins" ${DEFAULT_STATIC_QT_PLUGINS} )
358
359
message (STATUS "USE_STATIC_QT_PLUGINS = ${USE_STATIC_QT_PLUGINS} " )
359
360
361
+ option (USE_PRECOMPILED_HEADERS "Enable precompiled headers (PCH)" ${DEFAULT_PRECOMPILED_HEADERS} )
362
+ message (STATUS "USE_PRECOMPILED_HEADERS = ${USE_PRECOMPILED_HEADERS} " )
363
+
360
364
SET ( FLATBUFFERS_INSTALL_BIN_DIR ${CMAKE_BINARY_DIR} /flatbuf )
361
365
SET ( FLATBUFFERS_INSTALL_LIB_DIR ${CMAKE_BINARY_DIR} /flatbuf )
362
366
@@ -453,6 +457,7 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
453
457
endif ()
454
458
455
459
set_property (DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT hyperhdr)
460
+ add_definitions (/MP)
456
461
endif ()
457
462
458
463
add_definitions (${QT_DEFINITIONS} )
@@ -542,8 +547,8 @@ add_custom_target(uninstall COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_D
542
547
include (${CMAKE_CURRENT_SOURCE_DIR} /cmake/packages.cmake)
543
548
544
549
# external targets
545
- if (WIN32 AND TARGET apidoc AND TARGET flatbuffers AND TARGET flatc AND TARGET mbedcrypto AND TARGET qmqtt)
546
- set_target_properties (qmqtt apidoc flatbuffers flatc flathash lib mbedcrypto mbedtls mbedx509 resources uninstall PROPERTIES FOLDER ExternalLibsTargets)
550
+ if (WIN32 AND TARGET precompiled_hyperhdr_headers AND TARGET apidoc AND TARGET flatbuffers AND TARGET flatc AND TARGET mbedcrypto AND TARGET qmqtt)
551
+ set_target_properties (precompiled_hyperhdr_headers qmqtt apidoc flatbuffers flatc flathash lib mbedcrypto mbedtls mbedx509 resources uninstall PROPERTIES FOLDER ExternalLibsTargets)
547
552
else ()
548
553
set_target_properties (resources uninstall PROPERTIES FOLDER ExternalLibsTargets)
549
554
endif ()
0 commit comments