1
2
cmake_minimum_required(VERSION 2.6)
3
project(pyside-tools)
4
5
find_package(PythonInterp REQUIRED)
6
find_package(Qt4 4.5.0 REQUIRED)
7
find_package(PySide 1.0.6 REQUIRED)
8
9
set(pyside_tools_MAJOR_VERSION "0")
10
set(pyside_tools_MINOR_VERSION "2")
11
set(pyside_tools_MICRO_VERSION "14")
12
set(pyside_tools_VERSION "${pyside_tools_MAJOR_VERSION}.${pyside_tools_MINOR_VERSION}.${pyside_tools_MICRO_VERSION}")
13
14
configure_file("pysideuic/__init__.py.in" "__init__.py" @ONLY)
15
16
option(BUILD_TESTS "Build tests." TRUE)
17
18
# UIC stuff
19
if (NOT SITE_PACKAGE)
20
    execute_process(
21
        COMMAND ${PYTHON_EXECUTABLE} -c "from __future__ import print_function; \\
22
            from distutils import sysconfig; \\
23
            print(sysconfig.get_python_lib(1,0,prefix='${CMAKE_INSTALL_PREFIX}'))"
24
        OUTPUT_VARIABLE SITE_PACKAGE
25
    OUTPUT_STRIP_TRAILING_WHITESPACE)
26
    if (NOT SITE_PACKAGE)
27
        message(FATAL_ERROR "Could not detect Python module installation directory.")
28
    endif()
29
endif()
30
31
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/pyside-uic
32
        DESTINATION bin
33
        PERMISSIONS
34
        OWNER_EXECUTE OWNER_WRITE OWNER_READ
35
        GROUP_EXECUTE GROUP_READ
36
        WORLD_EXECUTE WORLD_READ)
37
38
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/__init__.py"
39
        DESTINATION "${SITE_PACKAGE}/pysideuic")
40
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/pysideuic
41
        DESTINATION ${SITE_PACKAGE}
42
        PATTERN "*.in" EXCLUDE
43
        PATTERN "*pysideuic/__init__.py" EXCLUDE
44
        PATTERN "*pysideuic\\__init__.py" EXCLUDE)
45
46
# Man pages for pyside-uic
47
if (NOT win32)
48
    file(GLOB manpages "${CMAKE_CURRENT_SOURCE_DIR}/pysideuic/*.1")
49
    install(FILES ${manpages} DESTINATION share/man/man1)
50
endif()
51
52
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake"
53
               "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
54
               IMMEDIATE @ONLY)
55
56
add_custom_target(uninstall "${CMAKE_COMMAND}"
57
                  -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
58
59
set(ARCHIVE_NAME ${CMAKE_PROJECT_NAME}-${pyside_tools_VERSION})
60
add_custom_target(dist
61
    COMMAND mkdir -p "${CMAKE_BINARY_DIR}/${ARCHIVE_NAME}" &&
62
            git log > "${CMAKE_BINARY_DIR}/${ARCHIVE_NAME}/ChangeLog" &&
63
            git archive --prefix=${ARCHIVE_NAME}/ HEAD --format=tar --output="${CMAKE_BINARY_DIR}/${ARCHIVE_NAME}.tar" &&
64
            tar -C "${CMAKE_BINARY_DIR}" --owner=root --group=root -r "${ARCHIVE_NAME}/ChangeLog" -f "${CMAKE_BINARY_DIR}/${ARCHIVE_NAME}.tar" &&
65
            bzip2 -f9 "${CMAKE_BINARY_DIR}/${ARCHIVE_NAME}.tar" &&
66
            echo "Source package created at ${CMAKE_BINARY_DIR}/${ARCHIVE_NAME}.tar.bz2.\n"
67
    WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
68
69
set(PYSIDERCC_EXECUTABLE ${CMAKE_CURRENT_BINARY_DIR}/pyrcc/pyside-rcc)
70
add_subdirectory(pyrcc)
71
add_subdirectory(pylupdate)
72
73
if (BUILD_TESTS)
74
    enable_testing()
75
    add_subdirectory(tests)
76
endif ()