Use CMake generated config.h also in out of tree CMake build (#13692)
Use generated config.h also in out of tree build
Timotej S committed
Sep 26, 2022 at 13:54 UTC
c4c02e19cbbb7a28eeffeb0998e57b071aead12d
1 file changed
+28
-13
CMakeLists.txt
+28
-13
@@ -67,6 +67,9 @@ ENDIF()
67
# show the operating system on the console
68
message(STATUS "system name: ${CMAKE_SYSTEM_NAME}")
69
70
+set(GENERATED_CONFIG_H_DIR ${CMAKE_BINARY_DIR})
71
+set(GENERATED_CONFIG_H ${GENERATED_CONFIG_H_DIR}/config.h)
72
+
73
# -----------------------------------------------------------------------------
74
# Detect libuuid
75
@@ -1274,7 +1277,7 @@ IF(LINUX)
1277
list(APPEND NETDATA_FILES daemon/static_threads_linux.c)
1278
list(APPEND NETDATA_COMMON_LIBRARIES rt)
1279
1277
- add_executable(netdata config.h ${NETDATA_FILES}
1280
+ add_executable(netdata ${GENERATED_CONFIG_H} ${NETDATA_FILES}
1281
${CGROUPS_PLUGIN_FILES}
1282
${DISKSPACE_PLUGIN_FILES}
1283
${PROC_PLUGIN_FILES}
@@ -1292,9 +1295,10 @@ IF(LINUX)
1295
ELSEIF(FREEBSD)
1296
list(APPEND NETDATA_FILES daemon/static_threads_freebsd.c)
1297
1295
- add_executable(netdata config.h ${NETDATA_FILES} ${FREEBSD_PLUGIN_FILES})
1298
+ add_executable(netdata ${GENERATED_CONFIG_H} ${NETDATA_FILES} ${FREEBSD_PLUGIN_FILES})
1299
target_link_libraries (netdata libnetdata ${NETDATA_COMMON_LIBRARIES})
1300
target_include_directories(netdata PUBLIC ${NETDATA_COMMON_INCLUDE_DIRS})
1301
+ target_include_directories(netdata BEFORE PUBLIC ${GENERATED_CONFIG_H_DIR})
1302
target_compile_options(netdata PUBLIC ${NETDATA_COMMON_CFLAGS})
1303
SET(ENABLE_PLUGIN_CGROUP_NETWORK False)
1304
SET(ENABLE_PLUGIN_APPS True)
@@ -1305,9 +1309,10 @@ ELSEIF(FREEBSD)
1309
ELSEIF(MACOS)
1310
list(APPEND NETDATA_FILES daemon/static_threads_macos.c)
1311
1308
- add_executable(netdata config.h ${NETDATA_FILES} ${MACOS_PLUGIN_FILES})
1312
+ add_executable(netdata ${GENERATED_CONFIG_H} ${NETDATA_FILES} ${MACOS_PLUGIN_FILES})
1313
target_link_libraries (netdata libnetdata ${NETDATA_COMMON_LIBRARIES} ${IOKIT} ${FOUNDATION})
1314
target_include_directories(netdata PUBLIC ${NETDATA_COMMON_INCLUDE_DIRS})
1315
+ target_include_directories(netdata BEFORE PUBLIC ${GENERATED_CONFIG_H_DIR})
1316
target_compile_options(netdata PUBLIC ${NETDATA_COMMON_CFLAGS})
1317
SET(ENABLE_PLUGIN_CGROUP_NETWORK False)
1318
SET(ENABLE_PLUGIN_APPS False)
@@ -1350,9 +1355,10 @@ ENDIF()
1355
# -----------------------------------------------------------------------------
1356
# netdatacli
1357
1353
-add_executable(netdatacli config.h ${NETDATACLI_FILES})
1358
+add_executable(netdatacli ${GENERATED_CONFIG_H} ${NETDATACLI_FILES})
1359
target_link_libraries (netdatacli libnetdata ${NETDATA_COMMON_LIBRARIES})
1360
target_include_directories(netdatacli PUBLIC ${NETDATA_COMMON_INCLUDE_DIRS})
1361
+target_include_directories(netdatacli BEFORE PUBLIC ${GENERATED_CONFIG_H_DIR})
1362
target_compile_options(netdatacli PUBLIC ${NETDATA_COMMON_CFLAGS})
1363
1364
@@ -1361,9 +1367,10 @@ target_compile_options(netdatacli PUBLIC ${NETDATA_COMMON_CFLAGS})
1367
1368
IF(ENABLE_PLUGIN_APPS)
1369
message(STATUS "apps.plugin: enabled")
1364
- add_executable(apps.plugin config.h ${APPS_PLUGIN_FILES})
1370
+ add_executable(apps.plugin ${GENERATED_CONFIG_H} ${APPS_PLUGIN_FILES})
1371
target_link_libraries (apps.plugin libnetdata ${NETDATA_COMMON_LIBRARIES} ${CAP_LIBRARIES})
1372
target_include_directories(apps.plugin PUBLIC ${NETDATA_COMMON_INCLUDE_DIRS} ${CAP_INCLUDE_DIRS})
1373
+ target_include_directories(apps.plugin BEFORE PUBLIC ${GENERATED_CONFIG_H_DIR})
1374
target_compile_options(apps.plugin PUBLIC ${NETDATA_COMMON_CFLAGS} ${CAP_CFLAGS_OTHER})
1375
ELSE()
1376
message(STATUS "apps.plugin: disabled")
@@ -1375,9 +1382,10 @@ ENDIF()
1382
1383
IF(ENABLE_PLUGIN_FREEIPMI)
1384
message(STATUS "freeipmi.plugin: enabled")
1378
- add_executable(freeipmi.plugin config.h ${FREEIPMI_PLUGIN_FILES})
1385
+ add_executable(freeipmi.plugin ${GENERATED_CONFIG_H} ${FREEIPMI_PLUGIN_FILES})
1386
target_link_libraries (freeipmi.plugin libnetdata ${NETDATA_COMMON_LIBRARIES} ${IPMI_LIBRARIES})
1387
target_include_directories(freeipmi.plugin PUBLIC ${NETDATA_COMMON_INCLUDE_DIRS} ${IPMI_INCLUDE_DIRS})
1388
+ target_include_directories(freeipmi.plugin BEFORE PUBLIC ${GENERATED_CONFIG_H_DIR})
1389
target_compile_options(freeipmi.plugin PUBLIC ${NETDATA_COMMON_CFLAGS} ${IPMI_CFLAGS_OTHER})
1390
ELSE()
1391
message(STATUS "freeipmi.plugin: disabled (depends on libipmimonitoring)")
@@ -1389,9 +1397,10 @@ ENDIF()
1397
1398
IF(ENABLE_PLUGIN_NFACCT)
1399
message(STATUS "nfacct.plugin: enabled")
1392
- add_executable(nfacct.plugin config.h ${NFACCT_PLUGIN_FILES})
1400
+ add_executable(nfacct.plugin ${GENERATED_CONFIG_H} ${NFACCT_PLUGIN_FILES})
1401
target_link_libraries (nfacct.plugin libnetdata ${NETDATA_COMMON_LIBRARIES} ${MNL_LIBRARIES} ${NFACCT_LIBRARIES})
1402
target_include_directories(nfacct.plugin PUBLIC ${NETDATA_COMMON_INCLUDE_DIRS} ${MNL_INCLUDE_DIRS} ${NFACCT_INCLUDE_DIRS})
1403
+ target_include_directories(nfacct.plugin BEFORE PUBLIC ${GENERATED_CONFIG_H_DIR})
1404
target_compile_options(nfacct.plugin PUBLIC ${NETDATA_COMMON_CFLAGS} ${MNL_CFLAGS_OTHER} ${NFACCT_CFLAGS_OTHER})
1405
ELSE()
1406
message(STATUS "nfacct.plugin: disabled (requires libmnl and libnetfilter_acct)")
@@ -1403,9 +1412,10 @@ ENDIF()
1412
1413
IF(ENABLE_PLUGIN_XENSTAT)
1414
message(STATUS "xenstat.plugin: enabled")
1406
- add_executable(xenstat.plugin config.h ${XENSTAT_PLUGIN_FILES})
1415
+ add_executable(xenstat.plugin ${GENERATED_CONFIG_H} ${XENSTAT_PLUGIN_FILES})
1416
target_link_libraries (xenstat.plugin libnetdata ${NETDATA_COMMON_LIBRARIES} ${XENSTAT_LIBRARIES})
1417
target_include_directories(xenstat.plugin PUBLIC ${NETDATA_COMMON_INCLUDE_DIRS} ${XENSTAT_INCLUDE_DIRS})
1418
+ target_include_directories(xenstat.plugin BEFORE PUBLIC ${GENERATED_CONFIG_H_DIR})
1419
target_compile_options(xenstat.plugin PUBLIC ${NETDATA_COMMON_CFLAGS} ${XENSTAT_CFLAGS_OTHER})
1420
ELSE()
1421
message(STATUS "xenstat.plugin: disabled (requires libxenstat)")
@@ -1417,9 +1427,10 @@ ENDIF()
1427
1428
IF(ENABLE_PLUGIN_PERF)
1429
message(STATUS "perf.plugin: enabled")
1420
- add_executable(perf.plugin config.h ${PERF_PLUGIN_FILES})
1430
+ add_executable(perf.plugin ${GENERATED_CONFIG_H} ${PERF_PLUGIN_FILES})
1431
target_link_libraries (perf.plugin libnetdata ${NETDATA_COMMON_LIBRARIES})
1432
target_include_directories(perf.plugin PUBLIC ${NETDATA_COMMON_INCLUDE_DIRS})
1433
+ target_include_directories(perf.plugin BEFORE PUBLIC ${GENERATED_CONFIG_H_DIR})
1434
target_compile_options(perf.plugin PUBLIC ${NETDATA_COMMON_CFLAGS})
1435
ELSE()
1436
message(STATUS "perf.plugin: disabled")
@@ -1431,9 +1442,10 @@ ENDIF()
1442
1443
IF(ENABLE_PLUGIN_EBPF)
1444
message(STATUS "ebpf.plugin: enabled")
1434
- add_executable(ebpf.plugin config.h ${EBPF_PROCESS_PLUGIN_FILES})
1445
+ add_executable(ebpf.plugin ${GENERATED_CONFIG_H} ${EBPF_PROCESS_PLUGIN_FILES})
1446
target_link_libraries (ebpf.plugin libnetdata ${NETDATA_COMMON_LIBRARIES})
1447
target_include_directories(ebpf.plugin PUBLIC ${NETDATA_COMMON_INCLUDE_DIRS})
1448
+ target_include_directories(ebpf.plugin BEFORE PUBLIC ${GENERATED_CONFIG_H_DIR})
1449
target_compile_options(ebpf.plugin PUBLIC ${NETDATA_COMMON_CFLAGS})
1450
ELSE()
1451
message(STATUS "ebpf.plugin: disabled")
@@ -1445,9 +1457,10 @@ ENDIF()
1457
1458
IF(ENABLE_PLUGIN_SLABINFO)
1459
message(STATUS "slabinfo.plugin: enabled")
1448
- add_executable(slabinfo.plugin config.h ${SLABINFO_PLUGIN_FILES})
1460
+ add_executable(slabinfo.plugin ${GENERATED_CONFIG_H} ${SLABINFO_PLUGIN_FILES})
1461
target_link_libraries (slabinfo.plugin libnetdata ${NETDATA_COMMON_LIBRARIES})
1462
target_include_directories(slabinfo.plugin PUBLIC ${NETDATA_COMMON_INCLUDE_DIRS})
1463
+ target_include_directories(slabinfo.plugin BEFORE PUBLIC ${GENERATED_CONFIG_H_DIR})
1464
target_compile_options(slabinfo.plugin PUBLIC ${NETDATA_COMMON_CFLAGS})
1465
ELSE()
1466
message(STATUS "slabinfo.plugin: disabled")
@@ -1459,9 +1472,10 @@ ENDIF()
1472
1473
IF(ENABLE_PLUGIN_CUPS)
1474
message(STATUS "cups.plugin: enabled")
1462
- add_executable(cups.plugin config.h ${CUPS_PLUGIN_FILES})
1475
+ add_executable(cups.plugin ${GENERATED_CONFIG_H} ${CUPS_PLUGIN_FILES})
1476
target_link_libraries (cups.plugin libnetdata ${NETDATA_COMMON_LIBRARIES} ${CUPS_LIBRARIES})
1477
target_include_directories(cups.plugin PUBLIC ${NETDATA_COMMON_INCLUDE_DIRS} ${CUPS_INCLUDE_DIRS})
1478
+ target_include_directories(cups.plugin BEFORE PUBLIC ${GENERATED_CONFIG_H_DIR})
1479
target_compile_options(cups.plugin PUBLIC ${NETDATA_COMMON_CFLAGS} ${CUPS_CFLAGS_OTHER})
1480
ELSE()
1481
message(STATUS "cups.plugin: disabled")
@@ -1473,9 +1487,10 @@ ENDIF()
1487
1488
IF(ENABLE_PLUGIN_CGROUP_NETWORK)
1489
message(STATUS "cgroup-network: enabled")
1476
- add_executable(cgroup-network config.h ${CGROUP_NETWORK_FILES})
1490
+ add_executable(cgroup-network ${GENERATED_CONFIG_H} ${CGROUP_NETWORK_FILES})
1491
target_link_libraries (cgroup-network libnetdata ${NETDATA_COMMON_LIBRARIES})
1492
target_include_directories(cgroup-network PUBLIC ${NETDATA_COMMON_INCLUDE_DIRS})
1493
+ target_include_directories(cgroup-network BEFORE PUBLIC ${GENERATED_CONFIG_H_DIR})
1494
target_compile_options(cgroup-network PUBLIC ${NETDATA_COMMON_CFLAGS})
1495
ELSE()
1496
message(STATUS "cgroup-network: disabled (requires Linux)")