diff options
author | Sébastien Helleu <flashcode@flashtux.org> | 2015-01-24 16:33:54 +0100 |
---|---|---|
committer | Sébastien Helleu <flashcode@flashtux.org> | 2015-01-24 16:33:54 +0100 |
commit | a6327bc6f20252481366406580bab9d60e6b5725 (patch) | |
tree | d8230f541a5f460290f60ccc52df2e95418175d3 /src | |
parent | 7fc4c63ba6911a69ac1009241df4ca48095fd908 (diff) | |
download | weechat-a6327bc6f20252481366406580bab9d60e6b5725.zip |
core: fix random error when creating symbolic link weechat-curses on make install with cmake (bug #40313)
Diffstat (limited to 'src')
-rw-r--r-- | src/gui/curses/CMakeLists.txt | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/src/gui/curses/CMakeLists.txt b/src/gui/curses/CMakeLists.txt index eab0c4855..284956f70 100644 --- a/src/gui/curses/CMakeLists.txt +++ b/src/gui/curses/CMakeLists.txt @@ -84,15 +84,23 @@ add_dependencies(${EXECUTABLE} weechat_gui_curses) # Due to circular references, we must link two times with libweechat_core.a target_link_libraries(${EXECUTABLE} ${STATIC_LIBS} weechat_gui_curses ${EXTRA_LIBS} ${STATIC_LIBS}) -install(TARGETS ${EXECUTABLE} RUNTIME DESTINATION bin) - # Create a symbolic link weechat-curses -> weechat # This link is created for compatibility with old versions on /upgrade. # It may be removed in future. -install(CODE " - EXECUTE_PROCESS( - COMMAND ${CMAKE_COMMAND} -E remove -f \"\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/weechat-curses${CMAKE_EXECUTABLE_SUFFIX}\" - COMMAND ${CMAKE_COMMAND} -E create_symlink weechat${CMAKE_EXECUTABLE_SUFFIX} \"\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/weechat-curses${CMAKE_EXECUTABLE_SUFFIX}\" +add_custom_command( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${EXECUTABLE}-curses${CMAKE_EXECUTABLE_SUFFIX} + COMMAND ${CMAKE_COMMAND} -E remove -f "weechat-curses${CMAKE_EXECUTABLE_SUFFIX}" + COMMAND ${CMAKE_COMMAND} -E create_symlink "weechat${CMAKE_EXECUTABLE_SUFFIX}" "weechat-curses${CMAKE_EXECUTABLE_SUFFIX}" + DEPENDS ${EXECUTABLE} + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + COMMENT "Creating symbolic link ${EXECUTABLE}-curses${CMAKE_EXECUTABLE_SUFFIX}" ) - LIST(APPEND CMAKE_INSTALL_MANIFEST_FILES \"${CMAKE_INSTALL_PREFIX}/bin/weechat-curses${CMAKE_EXECUTABLE_SUFFIX}\") -") +add_custom_target(${EXECUTABLE}-curses${CMAKE_EXECUTABLE_SUFFIX} ALL + DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${EXECUTABLE}-curses${CMAKE_EXECUTABLE_SUFFIX} +) +add_dependencies(${EXECUTABLE}-curses${CMAKE_EXECUTABLE_SUFFIX} ${EXECUTABLE}) +list(APPEND CMAKE_INSTALL_MANIFEST_FILES "${CMAKE_INSTALL_PREFIX}/bin/weechat-curses${CMAKE_EXECUTABLE_SUFFIX}") + +# Install executable and symbolic link +install(TARGETS ${EXECUTABLE} RUNTIME DESTINATION bin) +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${EXECUTABLE}-curses${CMAKE_EXECUTABLE_SUFFIX} DESTINATION bin) |