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"
|
DIRECTORY "${wxSOURCE_DIR}/include/msvc"
|
||||||
DESTINATION "include")
|
DESTINATION "include")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# setup header and wx-config
|
||||||
if(MSVC OR MINGW)
|
if(MSVC OR MINGW)
|
||||||
wx_install(
|
wx_install(
|
||||||
DIRECTORY "${wxSETUP_HEADER_PATH}"
|
DIRECTORY "${wxSETUP_HEADER_PATH}"
|
||||||
DESTINATION "lib${wxPLATFORM_LIB_DIR}")
|
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()
|
endif()
|
||||||
|
|
||||||
# uninstall target
|
# uninstall target
|
||||||
@@ -34,6 +56,12 @@ else()
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(NOT TARGET ${UNINST_NAME})
|
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(
|
configure_file(
|
||||||
"${wxSOURCE_DIR}/build/cmake/uninstall.cmake.in"
|
"${wxSOURCE_DIR}/build/cmake/uninstall.cmake.in"
|
||||||
"${wxBINARY_DIR}/uninstall.cmake"
|
"${wxBINARY_DIR}/uninstall.cmake"
|
||||||
|
@@ -13,6 +13,7 @@ endif()
|
|||||||
|
|
||||||
file(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files)
|
file(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files)
|
||||||
string(REGEX REPLACE "\n" ";" files "${files}")
|
string(REGEX REPLACE "\n" ";" files "${files}")
|
||||||
|
list(APPEND files @WX_EXTRA_UNINSTALL_FILES@)
|
||||||
foreach(file ${files})
|
foreach(file ${files})
|
||||||
message(STATUS "Uninstalling $ENV{DESTDIR}${file}")
|
message(STATUS "Uninstalling $ENV{DESTDIR}${file}")
|
||||||
if(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$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)
|
wx_exe_link_libraries(wxrc xml)
|
||||||
endif()
|
endif()
|
||||||
wx_exe_link_libraries(wxrc base)
|
wx_exe_link_libraries(wxrc base)
|
||||||
# TODO: install
|
|
||||||
set_target_properties(wxrc PROPERTIES FOLDER "Utilities")
|
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()
|
endif()
|
||||||
|
|
||||||
# TODO: build targets for other utils
|
# TODO: build targets for other utils
|
||||||
|
Reference in New Issue
Block a user