project(qglview) cmake_minimum_required(VERSION 2.6) find_package(Qt4 REQUIRED) find_package(OpenGL REQUIRED) if (MINGW) find_package(MinGW REQUIRED) endif() include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR} ${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} ${QT_QTOPENGL_LIBRARY} ${QT_QTXML_LIBRARY} ${OPENGL_LIBRARIES} qad_widgets qad_utils) file(GLOB MOCS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.h") file(GLOB CPPS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.cpp") file(GLOB UIS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.ui") file(GLOB RES "*.qrc") list(REMOVE_ITEM CPPS "main.cpp" "qglview_window.cpp") list(REMOVE_ITEM MOCS "qglview_window.h") list(REMOVE_ITEM UIS "qglview_window.ui") qt4_wrap_cpp(CMOCS ${MOCS} OPTIONS -nw) qt4_wrap_ui(CUIS ${UIS}) qt4_add_resources(CRES ${RES}) add_library(${PROJECT_NAME} SHARED ${CPPS} ${CMOCS} ${CUIS} ${CRES} ${MOCS}) target_link_libraries(${PROJECT_NAME} ${LIBS}) if (LIB) if (WIN32) set(CMAKE_INSTALL_PREFIX ${MINGW_DIR}) install(FILES ${MOCS} 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 ${MOCS} 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 () qt4_wrap_cpp(CMOCS_TEST "qglview_window.h" OPTIONS -nw) qt4_wrap_ui(CUIS_TEST "qglview_window.ui") add_executable(qglview_test "main.cpp" "qglview_window.cpp" ${CMOCS_TEST} ${CUIS_TEST} ${CRES}) target_link_libraries(qglview_test ${LIBS} ${PROJECT_NAME})