summaryrefslogtreecommitdiffstats
path: root/src/CMakeLists.txt
blob: bb6e99eca2ba1d731a63c28faba1eaf197bdf1b2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
### CONFIGURE ##################################################################

set(LIBCHOOSER_BIN_PATH "/var/opt/openslx/bin")
set(LIBCHOOSER_ETC_BASE_PATH "/etc/vmchooser")
set(LIBCHOOSER_VMPATH "/var/lib/virt")
set(LIBCHOOSER_X_SESSIONS_PATH "/usr/share/xsessions")

configure_file("Version.h.in" "Version.h")
configure_file("libChooser.pc.in" "libChooser.pc")
configure_file("Config.h.in" "Config.h")



### INCLUDES ###################################################################

include_directories("/usr/include" "${CMAKE_CURRENT_BINARY_DIR}")

set(QT_USE_QTXML TRUE)
set(QT_USE_QTSVG TRUE)

include(${QT_USE_FILE})

QT4_WRAP_CPP(LCHOOSER_MOC_SOURCES ${LCHOOSER_MOC_HEADERS})

set(LCHOOSER_MOC_HEADERS "SessionTreeModel.h")
set(LCHOOSER_MOC_SOURCES "SessionTreeModel.cpp")
set(LCHOOSER_HEADERS "Session.h" "SessionTreeItem.h" "VSession.h" "VSessionHandler.h" "XSession.h" "XSessionHandler.h")
set(LCHOOSER_SOURCES "SessionTreeItem.cpp" "VSession.cpp" "VSessionHandler.cpp" "XSession.cpp" "XSessionHandler.cpp")
set(LCHOOSER_CONFIG_HEADERS "Version.h" "Config.h")



### BUILD ######################################################################

add_library (Chooser_static STATIC ${LCHOOSER_SOURCES} ${LCHOOSER_MOC_SOURCES} ${LCHOOSER_HEADERS} ${LCHOOSER_MOC_HEADERS} ${LCHOOSER_CONFIG_HEADERS})
set_target_properties (Chooser_static PROPERTIES OUTPUT_NAME Chooser)
add_library (Chooser_shared SHARED ${LCHOOSER_SOURCES} ${LCHOOSER_MOC_SOURCES} ${LCHOOSER_HEADERS} ${LCHOOSER_MOC_HEADERS} ${LCHOOSER_CONFIG_HEADERS})
set_target_properties (Chooser_shared PROPERTIES OUTPUT_NAME Chooser)



### INSTALL ####################################################################

install(TARGETS Chooser_static Chooser_shared 
  LIBRARY DESTINATION lib COMPONENT libs
  ARCHIVE DESTINATION lib COMPONENT libs
)

install(FILES ${LCHOOSER_MOC_HEADERS} ${LCHOOSER_HEADERS} 
  DESTINATION include/libChooser COMPONENT dev
)

install(FILES "${CMAKE_CURRENT_BINARY_DIR}/libChooser.pc" 
  DESTINATION "share/pkgconfig" COMPONENT libs
)



### BUILD PACKAGE ##############################################################

set(CPACK_COMPONENTS_ALL libs dev)
set(CPACK_COMPONENT_LIBS_DISPLAY_NAME "libChooser")
set(CPACK_COMPONENT_DEV_DISPLAY_NAME "libChooser-dev")
set(CPACK_COMPONENT_LIBS_DESCRIPTION "libChooser")
set(CPACK_COMPONENT_DEV_DESCRIPTION "libChooser development headers")
set(CPACK_COMPONENT_LIBS_GROUP "core")
set(CPACK_COMPONENT_DEV_GROUP "dev")
set(CPACK_COMPONENT_DEV_DEPENDS libs)

execute_process(COMMAND lsb_release -cs OUTPUT_VARIABLE distro_shortname OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process(COMMAND arch OUTPUT_VARIABLE distro_arch OUTPUT_STRIP_TRAILING_WHITESPACE)

set(CPACK_GENERATOR "DEB")
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "Sebastian Schmelzer <ssc@xss.nu>")
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Library for vmchooser and emuchooser..")
set(CPACK_PACKAGE_DESCRIPTION "Library for vmchooser and emuchooser..")
set(CPACK_PACKAGE_VERSION "${libChooser_VERSION_MAJOR}.${libChooser_VERSION_MINOR}.${libChooser_VERSION_PATCH}")
set(CPACK_DEBIAN_PACKAGE_DEPENDS "libqtcore4")
set(CPACK_DEBIAN_PACKAGE_SECTION "misc")
set(CPACK_DEBIAN_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}")
set(CPACK_PACKAGE_NAME "libChooser")
set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "${distro_arch}")
set(CPACK_PACKAGE_FILE_NAME  "libChooser_${CPACK_PACKAGE_VERSION}_${distro_shortname}_${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}")
set(CPACK_SOURCE_PACKAGE_FILE_NAME "libChooser_${CPACK_PACKAGE_VERSION}")

INCLUDE(CPack)
################################################################################