project(piqt_utils) cmake_minimum_required(VERSION 2.6) if(MINGW) find_package(MinGW REQUIRED) endif() find_package(Qt4 REQUIRED) if(LIBPROJECT) include(PIPMacros) else() find_package(PIP REQUIRED) endif() include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR} ${PIP_INCLUDES} ${QT_INCLUDES}) option(LIB "System install" 0) option(DEBUG "Build with -g3" 0) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2 -Wall") if(DEBUG) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g3") endif() set(LIBS ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY} ${PIP_LIBRARY} qad_widgets qad_utils qad_blockview) pip_code_model(CCM "../pip/src/io/piiodevice.h" OPTIONS "-DPIP_EXPORT" "-Es") #message(STATUS "pip_code_model for iodevice = ${CCM}") #message(STATUS "pip_INCLUDES = ${PIP_INCLUDES}") file(GLOB CPPS_UTILS "piqt_*.cpp") file(GLOB HDRS_UTILS "piqt_*.h") file(GLOB UIS_UTILS "piqt_*.ui") qt4_wrap_cpp(CMOCS_UTILS ${HDRS_UTILS} OPTIONS -nw) qt4_wrap_ui(CUIS_UTILS ${UIS_UTILS}) if(DEFINED ENV{QNX_HOST}) add_library(${PROJECT_NAME} STATIC ${CPPS_UTILS} ${CMOCS_UTILS} ${CUIS_UTILS} ${CCM}) else() add_library(${PROJECT_NAME} SHARED ${CPPS_UTILS} ${CMOCS_UTILS} ${CUIS_UTILS} ${CCM}) endif() target_link_libraries(${PROJECT_NAME} ${LIBS}) if (LIBPROJECT) add_dependencies(piqt_utils pip_cmg) endif() if (NOT DEFINED ENV{QNX_HOST}) set(CPPS "pidumper.cpp" "pidumper_main.cpp") set(MOCS "pidumper.h") set(UIS "pidumper.ui") file(GLOB RES "*.qrc") qt4_wrap_cpp(CMOCS ${MOCS} OPTIONS -nw) qt4_wrap_ui(CUIS ${UIS}) qt4_add_resources(RESS ${RES}) add_executable(pidumper ${CPPS} ${CMOCS} ${CUIS} ${RESS}) target_link_libraries(pidumper ${LIBS} ${PROJECT_NAME}) set(ICPPS "piintrospector.cpp" "piintrospector_main.cpp") set(IMOCS "piintrospector.h") set(IUIS "piintrospector.ui") file(GLOB IRES "*.qrc") qt4_wrap_cpp(ICMOCS ${IMOCS} OPTIONS -nw) qt4_wrap_ui(ICUIS ${IUIS}) qt4_add_resources(IRESS ${IRES}) add_executable(piintrospector ${ICPPS} ${ICMOCS} ${ICUIS} ${IRESS}) target_link_libraries(piintrospector ${LIBS} ${PROJECT_NAME}) add_executable(piconnectionedit "piconnedit_main.cpp" ${RESS}) target_link_libraries(piconnectionedit ${LIBS} ${PROJECT_NAME}) endif() if(LIB) if(WIN32) set(CMAKE_INSTALL_PREFIX ${MINGW_DIR}) install(FILES ${HDRS_UTILS} DESTINATION ${MINGW_INCLUDE}) install(TARGETS ${PROJECT_NAME} DESTINATION ${MINGW_LIB}) install(TARGETS ${PROJECT_NAME} DESTINATION ${MINGW_BIN}) get_filename_component(QTDIR ${QT_QMAKE_EXECUTABLE} PATH) install(TARGETS ${PROJECT_NAME} DESTINATION ${QTDIR}) else() set(CMAKE_INSTALL_PREFIX /usr) install(FILES ${HDRS_UTILS} DESTINATION ${CMAKE_INSTALL_PREFIX}/include) install(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_PREFIX}/lib) endif() message(STATUS "Install to system \"${CMAKE_INSTALL_PREFIX}\"") else() install(TARGETS ${PROJECT_NAME} DESTINATION bin) message(STATUS "Install to local \"bin\"") endif() if(NOT DEFINED ENV{QNX_HOST}) install(TARGETS pidumper DESTINATION ${CMAKE_INSTALL_PREFIX}/bin) install(TARGETS piconnectionedit DESTINATION ${CMAKE_INSTALL_PREFIX}/bin) endif()