cmake: add missing autotools targets (doxygen, uninstall, event_rpcgen.py)

Close: #832 (cherry-picked)
This commit is contained in:
yuangongji 2019-06-09 20:15:37 +08:00 committed by Azat Khuzhin
parent 0374b55942
commit 7201062f3e
No known key found for this signature in database
GPG Key ID: B86086848EF8686D
3 changed files with 52 additions and 0 deletions

2
.gitignore vendored
View File

@ -131,6 +131,7 @@ LibeventConfigVersion.cmake
LibeventTargets.cmake
bin/
cmake_install.cmake
Uninstall.cmake
lib/
tmp/
verify_tests.sh
@ -141,6 +142,7 @@ event_extra.dir
*.vcxproj
*.sln
*.filters
install_manifest.txt
# ninja
build.ninja

View File

@ -1474,6 +1474,33 @@ install(EXPORT LibeventTargets
DESTINATION "${DEF_INSTALL_CMAKE_DIR}"
COMPONENT dev)
# Install the scripts.
install(PROGRAMS
${CMAKE_CURRENT_SOURCE_DIR}/event_rpcgen.py
DESTINATION "bin"
COMPONENT runtime)
# Create documents with doxygen.
find_program(DOXYGEN doxygen)
if (DOXYGEN)
add_custom_target(doxygen
COMMAND ${DOXYGEN} Doxyfile
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
else()
message(WARNING "The doxygen target will not support since doxygen command was not found!")
endif()
# Create the uninstall target.
# https://gitlab.kitware.com/cmake/community/wikis/FAQ#can-i-do-make-uninstall-with-cmake
configure_file(${PROJECT_SOURCE_DIR}/cmake/Uninstall.cmake.in
${PROJECT_BINARY_DIR}/Uninstall.cmake
@ONLY)
add_custom_target(uninstall
COMMAND ${CMAKE_COMMAND} -P ${PROJECT_BINARY_DIR}/Uninstall.cmake)
message(STATUS "")
message(STATUS " ---( Libevent " ${EVENT_VERSION} " )---")
message(STATUS "")

23
cmake/Uninstall.cmake.in Normal file
View File

@ -0,0 +1,23 @@
# https://gitlab.kitware.com/cmake/community/wikis/FAQ#can-i-do-make-uninstall-with-cmake
if(NOT EXISTS "@CMAKE_BINARY_DIR@/install_manifest.txt")
message(FATAL_ERROR "Cannot find install manifest: @CMAKE_BINARY_DIR@/install_manifest.txt")
endif(NOT EXISTS "@CMAKE_BINARY_DIR@/install_manifest.txt")
file(READ "@CMAKE_BINARY_DIR@/install_manifest.txt" files)
string(REGEX REPLACE "\n" ";" files "${files}")
foreach(file ${files})
message(STATUS "Uninstalling $ENV{DESTDIR}${file}")
if(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}")
exec_program(
"@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\""
OUTPUT_VARIABLE rm_out
RETURN_VALUE rm_retval
)
if(NOT "${rm_retval}" STREQUAL 0)
message(FATAL_ERROR "Problem when removing $ENV{DESTDIR}${file}")
endif(NOT "${rm_retval}" STREQUAL 0)
else(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}")
message(STATUS "File $ENV{DESTDIR}${file} does not exist.")
endif(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}")
endforeach(file)