CMake: Improve installation on Linux
Install setup header, wx-config and wxrc. Make wx-config executable. Add renamed files and symbolic links to uninstall target.
This commit is contained in:
@@ -20,10 +20,32 @@ if(MSVC)
|
||||
DIRECTORY "${wxSOURCE_DIR}/include/msvc"
|
||||
DESTINATION "include")
|
||||
endif()
|
||||
|
||||
# setup header and wx-config
|
||||
if(MSVC OR MINGW)
|
||||
wx_install(
|
||||
DIRECTORY "${wxSETUP_HEADER_PATH}"
|
||||
DESTINATION "lib${wxPLATFORM_LIB_DIR}")
|
||||
elseif(UNIX)
|
||||
wx_install(
|
||||
DIRECTORY "${wxSETUP_HEADER_PATH}"
|
||||
DESTINATION "lib/wx/include")
|
||||
|
||||
wx_install(
|
||||
FILES "${wxOUTPUT_DIR}/wx/config/${wxBUILD_FILE_ID}"
|
||||
DESTINATION "lib/wx/config"
|
||||
PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ
|
||||
GROUP_EXECUTE GROUP_READ
|
||||
WORLD_EXECUTE WORLD_READ
|
||||
)
|
||||
|
||||
install(DIRECTORY DESTINATION "bin")
|
||||
install(CODE "execute_process( \
|
||||
COMMAND ${CMAKE_COMMAND} -E create_symlink \
|
||||
${CMAKE_INSTALL_PREFIX}/lib/wx/config/${wxBUILD_FILE_ID} \
|
||||
${CMAKE_INSTALL_PREFIX}/bin/wx-config \
|
||||
)"
|
||||
)
|
||||
endif()
|
||||
|
||||
# uninstall target
|
||||
@@ -34,6 +56,12 @@ else()
|
||||
endif()
|
||||
|
||||
if(NOT TARGET ${UNINST_NAME})
|
||||
# these files are not added to the install manifest
|
||||
set(WX_EXTRA_UNINSTALL_FILES
|
||||
"${CMAKE_INSTALL_PREFIX}/bin/wx-config"
|
||||
"${CMAKE_INSTALL_PREFIX}/bin/wxrc-${wxMAJOR_VERSION}.${wxMINOR_VERSION}"
|
||||
)
|
||||
|
||||
configure_file(
|
||||
"${wxSOURCE_DIR}/build/cmake/uninstall.cmake.in"
|
||||
"${wxBINARY_DIR}/uninstall.cmake"
|
||||
|
@@ -13,6 +13,7 @@ endif()
|
||||
|
||||
file(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files)
|
||||
string(REGEX REPLACE "\n" ";" files "${files}")
|
||||
list(APPEND files @WX_EXTRA_UNINSTALL_FILES@)
|
||||
foreach(file ${files})
|
||||
message(STATUS "Uninstalling $ENV{DESTDIR}${file}")
|
||||
if(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}")
|
||||
|
@@ -17,8 +17,24 @@ if(wxUSE_XRC)
|
||||
wx_exe_link_libraries(wxrc xml)
|
||||
endif()
|
||||
wx_exe_link_libraries(wxrc base)
|
||||
# TODO: install
|
||||
|
||||
set_target_properties(wxrc PROPERTIES FOLDER "Utilities")
|
||||
|
||||
if(UNIX)
|
||||
wx_install(TARGETS wxrc RUNTIME DESTINATION "bin")
|
||||
install(CODE "execute_process( \
|
||||
COMMAND ${CMAKE_COMMAND} -E rename \
|
||||
${CMAKE_INSTALL_PREFIX}/bin/wxrc \
|
||||
${CMAKE_INSTALL_PREFIX}/bin/wxrc-${wxMAJOR_VERSION}.${wxMINOR_VERSION} \
|
||||
)"
|
||||
)
|
||||
install(CODE "execute_process( \
|
||||
COMMAND ${CMAKE_COMMAND} -E create_symlink \
|
||||
${CMAKE_INSTALL_PREFIX}/bin/wxrc-${wxMAJOR_VERSION}.${wxMINOR_VERSION} \
|
||||
${CMAKE_INSTALL_PREFIX}/bin/wxrc \
|
||||
)"
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# TODO: build targets for other utils
|
||||
|
Reference in New Issue
Block a user