diff options
| author | Alan Conway <aconway@apache.org> | 2013-04-01 16:47:10 +0000 |
|---|---|---|
| committer | Alan Conway <aconway@apache.org> | 2013-04-01 16:47:10 +0000 |
| commit | 36b03a47bc92662cfe8b09f094884e2c223f5205 (patch) | |
| tree | da45e15a14c67c218265da8de5ce985c2e2cc29a /qpid/cpp | |
| parent | 12f08eee5b5e0d3b77537e66180c74d7ac845ef4 (diff) | |
| download | qpid-python-36b03a47bc92662cfe8b09f094884e2c223f5205.tar.gz | |
QPID-4687: Add uninstall make target to cmake build
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1463202 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp')
| -rw-r--r-- | qpid/cpp/CMakeLists.txt | 11 | ||||
| -rw-r--r-- | qpid/cpp/bindings/qmf/python/CMakeLists.txt | 42 | ||||
| -rw-r--r-- | qpid/cpp/bindings/qmf2/python/CMakeLists.txt | 38 | ||||
| -rw-r--r-- | qpid/cpp/cmake_uninstall.cmake.in | 22 |
4 files changed, 85 insertions, 28 deletions
diff --git a/qpid/cpp/CMakeLists.txt b/qpid/cpp/CMakeLists.txt index f9b3be6099..74b6bdcc1d 100644 --- a/qpid/cpp/CMakeLists.txt +++ b/qpid/cpp/CMakeLists.txt @@ -101,6 +101,17 @@ else (OPTIONAL_ARG) add_custom_target(docs ALL) endif (OPTIONAL_ARG) +# uninstall target +configure_file( + "${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in" + "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake" + IMMEDIATE @ONLY) + +add_custom_target(uninstall + COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake) + + +# Subdirectories add_subdirectory(managementgen) add_subdirectory(src) add_subdirectory(etc) diff --git a/qpid/cpp/bindings/qmf/python/CMakeLists.txt b/qpid/cpp/bindings/qmf/python/CMakeLists.txt index 1768df7f85..b6583b97c1 100644 --- a/qpid/cpp/bindings/qmf/python/CMakeLists.txt +++ b/qpid/cpp/bindings/qmf/python/CMakeLists.txt @@ -31,23 +31,37 @@ set_source_files_properties(${swig_generated_file_fullname} PROPERTIES COMPILE_F ##------------------------------------ ## Install the complete Python binding ##------------------------------------ -install(FILES ${CMAKE_CURRENT_BINARY_DIR}/qmfengine.py - ${CMAKE_CURRENT_SOURCE_DIR}/qmf.py - DESTINATION ${PYTHON_SITEARCH_PACKAGES} - COMPONENT ${QPID_COMPONENT_CLIENT} - ) + +# Copy py source to binary dir so pyc/pyo will be generated in binary dir. +file(COPY + "${CMAKE_CURRENT_SOURCE_DIR}/qmf.py" + DESTINATION "${CMAKE_CURRENT_BINARY_DIR}") + +# Python compile the modules +install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} -m py_compile qmfengine.py + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})") + +install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} -O -m py_compile qmfengine.py + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})") +install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} -m py_compile qmf.py + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})") +install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} -O -m py_compile qmf.py + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})") + +install(FILES + ${CMAKE_CURRENT_BINARY_DIR}/qmfengine.py + ${CMAKE_CURRENT_BINARY_DIR}/qmfengine.pyc + ${CMAKE_CURRENT_BINARY_DIR}/qmfengine.pyo + ${CMAKE_CURRENT_SOURCE_DIR}/qmf.py + ${CMAKE_CURRENT_BINARY_DIR}/qmf.pyc + ${CMAKE_CURRENT_BINARY_DIR}/qmf.pyo + DESTINATION ${PYTHON_SITEARCH_PACKAGES} + COMPONENT ${QPID_COMPONENT_CLIENT} + ) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/_qmfengine_python.so RENAME _qmfengine.so DESTINATION ${PYTHON_SITEARCH_PACKAGES} COMPONENT ${QPID_COMPONENT_CLIENT} ) -# Python compile the installed modules -install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} -m py_compile qmfengine.py - WORKING_DIRECTORY ${PYTHON_SITEARCH_PACKAGES})") -install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} -O -m py_compile qmfengine.py - WORKING_DIRECTORY ${PYTHON_SITEARCH_PACKAGES})") -install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} -m py_compile qmf.py - WORKING_DIRECTORY ${PYTHON_SITEARCH_PACKAGES})") -install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} -O -m py_compile qmf.py - WORKING_DIRECTORY ${PYTHON_SITEARCH_PACKAGES})") diff --git a/qpid/cpp/bindings/qmf2/python/CMakeLists.txt b/qpid/cpp/bindings/qmf2/python/CMakeLists.txt index 1c8447116e..57d9ab0fcb 100644 --- a/qpid/cpp/bindings/qmf2/python/CMakeLists.txt +++ b/qpid/cpp/bindings/qmf2/python/CMakeLists.txt @@ -28,26 +28,36 @@ swig_link_libraries(cqmf2_python qmf2 ${PYTHON_LIBRARIES}) set_source_files_properties(${swig_generated_file_fullname} PROPERTIES COMPILE_FLAGS "-fno-strict-aliasing -I${PYTHON_INCLUDE_PATH} -I${qpid-cpp_SOURCE_DIR}/include") +# Move source into binary dir so compiled .pyc,pyo files will be in binary dir. +file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/qmf2.py" + DESTINATION "${CMAKE_CURRENT_BINARY_DIR}") + +# Python compile the modules +install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} -m py_compile cqmf2.py + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})") +install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} -O -m py_compile cqmf2.py + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})") +install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} -m py_compile qmf2.py + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})") +install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} -O -m py_compile qmf2.py + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})") ##------------------------------------ ## Install the complete Python binding ##------------------------------------ -install(FILES ${CMAKE_CURRENT_BINARY_DIR}/cqmf2.py - ${CMAKE_CURRENT_SOURCE_DIR}/qmf2.py - DESTINATION ${PYTHON_SITEARCH_PACKAGES} - COMPONENT ${QPID_COMPONENT_CLIENT} - ) +install(FILES + ${CMAKE_CURRENT_BINARY_DIR}/cqmf2.py + ${CMAKE_CURRENT_BINARY_DIR}/cqmf2.pyc + ${CMAKE_CURRENT_BINARY_DIR}/cqmf2.pyo + ${CMAKE_CURRENT_SOURCE_DIR}/qmf2.py + ${CMAKE_CURRENT_BINARY_DIR}/qmf2.pyc + ${CMAKE_CURRENT_BINARY_DIR}/qmf2.pyo + DESTINATION ${PYTHON_SITEARCH_PACKAGES} + COMPONENT ${QPID_COMPONENT_CLIENT} + ) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/_cqmf2_python.so RENAME _cqmf2.so DESTINATION ${PYTHON_SITEARCH_PACKAGES} COMPONENT ${QPID_COMPONENT_CLIENT} ) -# Python compile the installed modules -install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} -m py_compile cqmf2.py - WORKING_DIRECTORY ${PYTHON_SITEARCH_PACKAGES})") -install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} -O -m py_compile cqmf2.py - WORKING_DIRECTORY ${PYTHON_SITEARCH_PACKAGES})") -install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} -m py_compile qmf2.py - WORKING_DIRECTORY ${PYTHON_SITEARCH_PACKAGES})") -install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} -O -m py_compile qmf2.py - WORKING_DIRECTORY ${PYTHON_SITEARCH_PACKAGES})") diff --git a/qpid/cpp/cmake_uninstall.cmake.in b/qpid/cpp/cmake_uninstall.cmake.in new file mode 100644 index 0000000000..c6d809418e --- /dev/null +++ b/qpid/cpp/cmake_uninstall.cmake.in @@ -0,0 +1,22 @@ +if (NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt") + message(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\"") +endif(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt") + +file(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files) +string(REGEX REPLACE "\n" ";" files "${files}") +list(REVERSE files) +foreach (file ${files}) + message(STATUS "Uninstalling \"$ENV{DESTDIR}${file}\"") + if (EXISTS "$ENV{DESTDIR}${file}") + execute_process( + COMMAND @CMAKE_COMMAND@ -E remove "$ENV{DESTDIR}${file}" + OUTPUT_VARIABLE rm_out + RESULT_VARIABLE rm_retval + ) + if(NOT ${rm_retval} EQUAL 0) + message(FATAL_ERROR "Problem when removing \"$ENV{DESTDIR}${file}\"") + endif (NOT ${rm_retval} EQUAL 0) + else (EXISTS "$ENV{DESTDIR}${file}") + message(STATUS "File \"$ENV{DESTDIR}${file}\" does not exist.") + endif (EXISTS "$ENV{DESTDIR}${file}") +endforeach(file) |
