Skip to content

Commit 5b5274e

Browse files
authored
Merge pull request ClickHouse#79230 from azat/build/symlinks
build: use POST_BUILD over separate targets for creating clickhouse symlinks
2 parents 0a9ba57 + 75daeeb commit 5b5274e

File tree

3 files changed

+12
-21
lines changed

3 files changed

+12
-21
lines changed

CMakeLists.txt

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -204,11 +204,6 @@ option(OMIT_HEAVY_DEBUG_SYMBOLS
204204
${OMIT_HEAVY_DEBUG_SYMBOLS_DEFAULT})
205205

206206
option(BUILD_STANDALONE_KEEPER "Build keeper as small standalone binary" OFF)
207-
if (NOT BUILD_STANDALONE_KEEPER)
208-
option(CREATE_KEEPER_SYMLINK "Create symlink for clickhouse-keeper to main server binary" ON)
209-
else ()
210-
option(CREATE_KEEPER_SYMLINK "Create symlink for clickhouse-keeper to main server binary" OFF)
211-
endif ()
212207

213208
# Create BuildID when using lld. For other linkers it is created by default.
214209
# (NOTE: LINKER_NAME can be either path or name, and in different variants)

programs/CMakeLists.txt

Lines changed: 7 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -155,15 +155,13 @@ clickhouse_target_link_split_lib(clickhouse install)
155155
set (CLICKHOUSE_BUNDLE)
156156
macro(clickhouse_program_install name lib_name)
157157
clickhouse_target_link_split_lib(clickhouse ${lib_name})
158-
add_custom_target (${name} ALL COMMAND ${CMAKE_COMMAND} -E create_symlink clickhouse ${name} DEPENDS clickhouse)
158+
add_custom_command (TARGET clickhouse POST_BUILD COMMAND ${CMAKE_COMMAND} -E create_symlink clickhouse ${name})
159159
install (FILES "${CMAKE_CURRENT_BINARY_DIR}/${name}" DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT clickhouse)
160-
list(APPEND CLICKHOUSE_BUNDLE ${name})
161160

162161
foreach(alias ${ARGN})
163162
message(STATUS "Adding alias ${alias} for ${name}")
164-
add_custom_target (${alias} ALL COMMAND ${CMAKE_COMMAND} -E create_symlink clickhouse ${alias} DEPENDS clickhouse)
163+
add_custom_command (TARGET clickhouse POST_BUILD COMMAND ${CMAKE_COMMAND} -E create_symlink clickhouse ${alias})
165164
install (FILES "${CMAKE_CURRENT_BINARY_DIR}/${alias}" DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT clickhouse)
166-
list(APPEND CLICKHOUSE_BUNDLE ${alias})
167165
endforeach()
168166
endmacro()
169167

@@ -197,32 +195,25 @@ if (TARGET ch_contrib::rapidjson AND TARGET ch_contrib::nuraft)
197195
endif ()
198196

199197
if (ENABLE_CLICKHOUSE_KEEPER)
200-
if (NOT BUILD_STANDALONE_KEEPER AND CREATE_KEEPER_SYMLINK)
201-
add_custom_target (clickhouse-keeper ALL COMMAND ${CMAKE_COMMAND} -E create_symlink clickhouse clickhouse-keeper DEPENDS clickhouse)
198+
if (NOT BUILD_STANDALONE_KEEPER)
199+
add_custom_command (TARGET clickhouse POST_BUILD COMMAND ${CMAKE_COMMAND} -E create_symlink clickhouse clickhouse-keeper)
202200
install (FILES "${CMAKE_CURRENT_BINARY_DIR}/clickhouse-keeper" DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT clickhouse)
203201
endif()
204202

205203
# otherwise we don't build keeper
206-
if (BUILD_STANDALONE_KEEPER OR CREATE_KEEPER_SYMLINK)
204+
if (BUILD_STANDALONE_KEEPER)
207205
list(APPEND CLICKHOUSE_BUNDLE clickhouse-keeper)
208206
endif()
209207
endif ()
210208
if (ENABLE_CLICKHOUSE_KEEPER_CONVERTER)
211-
add_custom_target (clickhouse-keeper-converter ALL COMMAND ${CMAKE_COMMAND} -E create_symlink clickhouse clickhouse-keeper-converter DEPENDS clickhouse)
209+
add_custom_command (TARGET clickhouse POST_BUILD COMMAND ${CMAKE_COMMAND} -E create_symlink clickhouse clickhouse-keeper-converter)
212210
install (FILES "${CMAKE_CURRENT_BINARY_DIR}/clickhouse-keeper-converter" DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT clickhouse)
213-
list(APPEND CLICKHOUSE_BUNDLE clickhouse-keeper-converter)
214211
endif ()
215212
if (ENABLE_CLICKHOUSE_KEEPER_CLIENT)
216213
if (NOT BUILD_STANDALONE_KEEPER)
217-
add_custom_target (clickhouse-keeper-client ALL COMMAND ${CMAKE_COMMAND} -E create_symlink clickhouse clickhouse-keeper-client DEPENDS clickhouse)
214+
add_custom_command (TARGET clickhouse POST_BUILD COMMAND ${CMAKE_COMMAND} -E create_symlink clickhouse clickhouse-keeper-client)
218215
install (FILES "${CMAKE_CURRENT_BINARY_DIR}/clickhouse-keeper-client" DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT clickhouse)
219-
# symlink to standalone keeper binary
220-
else ()
221-
add_custom_target (clickhouse-keeper-client ALL COMMAND ${CMAKE_COMMAND} -E create_symlink clickhouse-keeper clickhouse-keeper-client DEPENDS clickhouse-keeper)
222-
install (FILES "${CMAKE_CURRENT_BINARY_DIR}/clickhouse-keeper-client" DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT clickhouse-keeper)
223216
endif ()
224-
225-
list(APPEND CLICKHOUSE_BUNDLE clickhouse-keeper-client)
226217
endif ()
227218

228219
add_custom_target (clickhouse-bundle ALL DEPENDS ${CLICKHOUSE_BUNDLE})

programs/keeper/CMakeLists.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,4 +33,9 @@ if (BUILD_STANDALONE_KEEPER)
3333
clickhouse_make_empty_debug_info_for_nfpm(TARGET clickhouse-keeper DESTINATION_DIR ${CMAKE_CURRENT_BINARY_DIR}/../${SPLIT_DEBUG_SYMBOLS_DIR})
3434
install(TARGETS clickhouse-keeper RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT clickhouse)
3535
endif()
36+
37+
if (ENABLE_CLICKHOUSE_KEEPER_CLIENT)
38+
add_custom_command (TARGET clickhouse-keeper POST_BUILD COMMAND ${CMAKE_COMMAND} -E create_symlink clickhouse-keeper clickhouse-keeper-client)
39+
install (FILES "${CMAKE_CURRENT_BINARY_DIR}/clickhouse-keeper-client" DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT clickhouse-keeper)
40+
endif()
3641
endif()

0 commit comments

Comments
 (0)