summaryrefslogblamecommitdiffstats
path: root/src/CMakeLists.txt
blob: 4639079f615c0a7804f422673b5bc2a3fb20e439 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16















                                                                                

                      

                       

                                                                                                   
                                                   
 


                                                                                
 
                                                                                                                                                      
                                                                     
                                                                                                                                                      
                                                     
                                                                     
 



                                                                                




                                              










                                                                                









                                                                     
                                                                                                          
                                                                                                               
 
                                                             
                          
                                                                       

                                                                               
                                                                                                                
                                              
                                        
                                                            
                                    

                                                                                                                            

                                                                         
              
                                                                                
### 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)
include(${QT_USE_FILE})

set(LCHOOSER_HEADERS "Session.h" "VSession.h" "VSessionHandler.h" "XSession.h" "XSessionHandler.h")
set(LCHOOSER_SOURCES "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})
target_link_libraries(Chooser_shared ${QT_LIBRARIES})
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 dpkg --print-architecture OUTPUT_VARIABLE distro_arch OUTPUT_STRIP_TRAILING_WHITESPACE)

set(CPACK_PACKAGING_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
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)
################################################################################