@@ -25,6 +25,7 @@ set(BFDEV_HEADER_PATH ${PROJECT_SOURCE_DIR}/include)
2525set (BFDEV_SOURCE_PATH ${PROJECT_SOURCE_DIR} /src)
2626set (BFDEV_DOCUMENT_PATH ${PROJECT_SOURCE_DIR} /docs)
2727set (BFDEV_GENERATED_PATH ${PROJECT_BINARY_DIR} /generated)
28+ set (BFDEV_EXPORT_PATH ${PROJECT_BINARY_DIR} /export)
2829
2930set (BFDEV_ARCH_PATH ${PROJECT_SOURCE_DIR} /arch/${BFDEV_ARCH} )
3031set (BFDEV_ARCH_HEADER_PATH ${BFDEV_ARCH_PATH} /include)
@@ -86,9 +87,30 @@ packed_header(
8687 ${BFDEV_HEADER_PATH} /bfdev
8788)
8889
90+ add_custom_target (
91+ bfdev_export
92+ COMMAND ${CMAKE_COMMAND} -E make_directory
93+ ${BFDEV_EXPORT_PATH}
94+ ${BFDEV_EXPORT_PATH} /bfdev
95+ COMMAND ${CMAKE_COMMAND} -E copy
96+ ${BFDEV_GENERATED_PATH} /bfdev.h
97+ ${BFDEV_EXPORT_PATH}
98+ COMMAND ${CMAKE_COMMAND} -E copy_directory
99+ ${BFDEV_HEADER_PATH} /bfdev
100+ ${BFDEV_ARCH_HEADER_PATH} /bfdev
101+ ${BFDEV_GENERATED_PATH} /bfdev
102+ ${BFDEV_EXPORT_PATH} /bfdev
103+ )
104+
105+ set_property (
106+ GLOBAL PROPERTY
107+ "BFDEV_INCLUDE_DIRS"
108+ ${BFDEV_EXPORT_PATH}
109+ )
110+
89111macro (bfdev_dependencies target )
90112 add_dependencies (
91- ${target}
113+ bfdev_export
92114 gen-crc8
93115 gen-crc16
94116 gen-crc16be
@@ -97,6 +119,11 @@ macro(bfdev_dependencies target)
97119 gen-crc64
98120 gen-crc64be
99121 )
122+
123+ add_dependencies (
124+ ${target}
125+ bfdev_export
126+ )
100127endmacro ()
101128
102129add_library (bfdev_object OBJECT ${BFDEV_LIBRARY} )
@@ -141,14 +168,12 @@ if(${CMAKE_PROJECT_NAME} STREQUAL "bfdev")
141168 )
142169
143170 install (FILES
144- ${BFDEV_GENERATED_PATH } /bfdev.h
171+ ${BFDEV_EXPORT_PATH } /bfdev.h
145172 DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
146173 )
147174
148175 install (DIRECTORY
149- ${BFDEV_HEADER_PATH} /bfdev
150- ${BFDEV_GENERATED_PATH} /bfdev
151- ${BFDEV_ARCH_HEADER_PATH} /bfdev
176+ ${BFDEV_EXPORT_PATH} /bfdev
152177 DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
153178 )
154179
0 commit comments