Skip to content

Commit 7c106ed

Browse files
committed
DaemonSourceGenerator: rework it a bit
1 parent d62c2c4 commit 7c106ed

File tree

1 file changed

+17
-13
lines changed

1 file changed

+17
-13
lines changed

cmake/DaemonSourceGenerator.cmake

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,27 @@
1-
set(DAEMON_GENERATED_DIR "${CMAKE_CURRENT_BINARY_DIR}/GeneratedSource")
1+
set(DAEMON_GENERATED_SUBDIR "GeneratedSource")
2+
set(DAEMON_GENERATED_DIR "${CMAKE_CURRENT_BINARY_DIR}/${DAEMON_GENERATED_SUBDIR}")
23

3-
set(DAEMON_BUILDINFO_DIR "DaemonBuildInfo")
4-
set(DAEMON_BUILDINFO_HEADER "// Automatically generated, do not modify!\n")
5-
set(DAEMON_BUILDINFO_CPP_EXT ".cpp")
6-
set(DAEMON_BUILDINFO_H_EXT ".h")
7-
set(BUILDINFOLIST)
4+
set(DAEMON_BUILDINFO_SUBDIR "DaemonBuildInfo")
5+
set(DAEMON_BUILDINFO_DIR "${DAEMON_GENERATED_DIR}/${DAEMON_BUILDINFO_SUBDIR}")
86

97
file(MAKE_DIRECTORY "${DAEMON_GENERATED_DIR}")
108
include_directories("${DAEMON_GENERATED_DIR}")
119

12-
file(MAKE_DIRECTORY "${DAEMON_GENERATED_DIR}/${DAEMON_BUILDINFO_DIR}")
10+
file(MAKE_DIRECTORY "${DAEMON_BUILDINFO_DIR}")
11+
12+
set(DAEMON_GENERATED_HEADER "// Automatically generated, do not modify!\n")
13+
set(DAEMON_GENERATED_CPP_EXT ".cpp")
14+
set(DAEMON_GENERATED_H_EXT ".h")
15+
16+
set(BUILDINFOLIST)
1317

1418
foreach(kind CPP H)
15-
set(DAEMON_BUILDINFO_${kind} "${DAEMON_BUILDINFO_HEADER}")
19+
set(DAEMON_BUILDINFO_${kind}_TEXT "${DAEMON_GENERATED_HEADER}")
1620
endforeach()
1721

1822
macro(daemon_add_buildinfo TYPE NAME VALUE)
19-
set(DAEMON_BUILDINFO_CPP "${DAEMON_BUILDINFO_CPP}const ${TYPE} ${NAME}=${VALUE};\n")
20-
set(DAEMON_BUILDINFO_H "${DAEMON_BUILDINFO_H}extern const ${TYPE} ${NAME};\n")
23+
string(APPEND DAEMON_BUILDINFO_CPP_TEXT "const ${TYPE} ${NAME}=${VALUE};\n")
24+
string(APPEND DAEMON_BUILDINFO_H_TEXT "extern const ${TYPE} ${NAME};\n")
2125
endmacro()
2226

2327
macro(daemon_write_generated GENERATED_PATH GENERATED_CONTENT)
@@ -35,10 +39,10 @@ endmacro()
3539

3640
macro(daemon_write_buildinfo NAME)
3741
foreach(kind CPP H)
38-
set(DAEMON_BUILDINFO_${kind}_NAME "${NAME}${DAEMON_BUILDINFO_${kind}_EXT}")
39-
set(DAEMON_BUILDINFO_${kind}_PATH "${DAEMON_BUILDINFO_DIR}/${DAEMON_BUILDINFO_${kind}_NAME}")
42+
set(DAEMON_BUILDINFO_${kind}_NAME "${NAME}${DAEMON_GENERATED_${kind}_EXT}")
43+
set(DAEMON_BUILDINFO_${kind}_PATH "${DAEMON_BUILDINFO_SUBDIR}/${DAEMON_BUILDINFO_${kind}_NAME}")
4044

41-
daemon_write_generated("${DAEMON_BUILDINFO_${kind}_PATH}" "${DAEMON_BUILDINFO_${kind}}")
45+
daemon_write_generated("${DAEMON_BUILDINFO_${kind}_PATH}" "${DAEMON_BUILDINFO_${kind}_TEXT}")
4246
list(APPEND BUILDINFOLIST "${DAEMON_GENERATED_FILE}")
4347
endforeach()
4448
endmacro()

0 commit comments

Comments
 (0)