project(piqt_utils) cmake_minimum_required(VERSION 2.6) if(LIBPROJECT) include(PIPMacros) include(SDKMacros) else() option(LIB "System install" 0) option(DEBUG "Build with -g3" 0) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -Wall") if(DEBUG) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g3") endif() find_package(PIP REQUIRED) endif() find_package(QAD REQUIRED) message(STATUS "Building ${PROJECT_NAME}") include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR} ${QT_INCLUDES} ${PIP_INCLUDES} ${QAD_INCLUDES}) pip_code_model(CCM "../pip/src_main/io/piiodevice.h" "../pip/src_main/io/pipacketextractor.h" OPTIONS "-DPIP_EXPORT" "-Es") set(LIBS ${QAD_WIDGETS_LIBRARY} ${QAD_UTILS_LIBRARY} ${QAD_BLOCKVIEW_LIBRARY} ${PIP_LIBRARY}) #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}) file(GLOB RES "*.qrc") qt4_add_resources(RESS ${RES}) set(PIDUMPER_CPPS "pidumper.cpp" "pidumper_main.cpp") set(PIDUMPER_MOCS "pidumper.h") set(PIDUMPER_UIS "pidumper.ui") qt4_wrap_cpp(PIDUMPER_CMOCS ${PIDUMPER_MOCS} OPTIONS -nw) qt4_wrap_ui(PIDUMPER_CUIS ${PIDUMPER_UIS}) add_executable(pidumper ${PIDUMPER_CPPS} ${PIDUMPER_CMOCS} ${PIDUMPER_CUIS} ${RESS}) target_link_libraries(pidumper ${LIBS} ${PROJECT_NAME}) set(PIINTROSPECTOR_CPPS "piintrospector.cpp" "piintrospector_main.cpp") set(PIINTROSPECTOR_MOCS "piintrospector.h") set(PIINTROSPECTOR_UIS "piintrospector.ui") qt4_wrap_cpp(PIINTROSPECTOR_CMOCS ${PIINTROSPECTOR_MOCS} OPTIONS -nw) qt4_wrap_ui(PIINTROSPECTOR_CUIS ${PIINTROSPECTOR_UIS}) add_executable(piintrospector ${PIINTROSPECTOR_CPPS} ${PIINTROSPECTOR_CMOCS} ${PIINTROSPECTOR_CUIS} ${RESS}) target_link_libraries(piintrospector ${LIBS} ${PROJECT_NAME}) add_executable(piconnectionedit "piconnedit_main.cpp" ${RESS}) target_link_libraries(piconnectionedit ${LIBS} ${PROJECT_NAME}) endif() if (NOT DEFINED ENV{QNX_HOST}) set(_TARGETS pidumper piconnectionedit) endif() if (LIBPROJECT) sdk_install("pip" "${PROJECT_NAME}" "${HDRS_UTILS}") else() if(LIB) if(WIN32) set(CMAKE_INSTALL_PREFIX ${MINGW_DIR}) install(FILES ${HDRS_UTILS} DESTINATION ${MINGW_INCLUDE}/pip) install(TARGETS ${PROJECT_NAME} DESTINATION ${MINGW_LIB}) install(TARGETS ${PROJECT_NAME} DESTINATION ${MINGW_BIN}) install(TARGETS ${_TARGETS} DESTINATION ${MINGW_BIN}) get_filename_component(QTDIR ${QT_QMAKE_EXECUTABLE} PATH) install(TARGETS ${PROJECT_NAME} DESTINATION ${QTDIR}) else() if(APPLE) set(CMAKE_INSTALL_PREFIX /usr/local) install(TARGETS ${_TARGETS} DESTINATION /usr/local/bin) else() set(CMAKE_INSTALL_PREFIX /usr) install(TARGETS ${_TARGETS} DESTINATION /usr/bin) endif() install(FILES ${HDRS_UTILS} DESTINATION ${CMAKE_INSTALL_PREFIX}/include/pip) 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) install(TARGETS ${_TARGETS} DESTINATION bin) message(STATUS "Install to local \"bin\"") endif() endif()