50 lines
2.1 KiB
CMake
50 lines
2.1 KiB
CMake
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})
|