Advertisement
3nids

cmake

Feb 28th, 2014
192
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
CMake 3.60 KB | None | 0 0
  1. cmake_minimum_required(VERSION 2.8)
  2. PROJECT(hfp)
  3. set (hfp_VERSION_MAJOR 1)
  4. set (hfp_VERSION_MINOR 0)
  5. SET(CMAKE_COLOR_MAKEFILE ON)
  6. # set path to additional CMake modules
  7. IF (WIN32)
  8.   SET(CMAKE_MODULE_PATH c:/OSGeo4W/apps/qgis-dev ${CMAKE_MODULE_PATH})
  9. ELSE (WIN32)
  10.   SET(CMAKE_MODULE_PATH /usr/local/share/qgis ${CMAKE_MODULE_PATH})
  11. ENDIF(WIN32)
  12. SET(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
  13.  
  14. IF (WIN32)
  15.   SET(TIFF_LIBRARY c:/OSGeo4W/lib/libtiff_i.lib)
  16.   SET(PNG_LIBRARY c:/OSGeo4W/lib/libpng13.lib)
  17. ENDIF(WIN32)
  18.  
  19. FIND_PACKAGE(QGIS REQUIRED)
  20. IF (NOT QGIS_FOUND)
  21.   MESSAGE (SEND_ERROR "QGIS dependency was not found!")
  22. ENDIF (NOT QGIS_FOUND)
  23. IF (WIN32)
  24.   # expect that classes are being imported by default
  25.   # Note: MSVC doesn't like when the macros are quotes
  26.   # and MSYS doesn't like them unqouted (bacause of braces)
  27.   # import qgis classes
  28.   ADD_DEFINITIONS("-DGUI_EXPORT=__declspec(dllimport)")
  29.   ADD_DEFINITIONS("-DCORE_EXPORT=__declspec(dllimport)")  
  30. ELSE (WIN32)
  31.   ADD_DEFINITIONS(-DGUI_EXPORT=)
  32.   ADD_DEFINITIONS(-DCORE_EXPORT=)
  33. ENDIF (WIN32)
  34.  
  35. FIND_PACKAGE(GDAL REQUIRED)
  36. IF (NOT GDAL_FOUND)
  37.   MESSAGE (SEND_ERROR "GDAL dependency was not found!")
  38. ENDIF (NOT GDAL_FOUND)
  39.  
  40. FIND_PACKAGE(GEOS REQUIRED)
  41. IF (NOT GEOS_FOUND)
  42.   MESSAGE (SEND_ERROR "GEOS dependency was not found!")
  43. ENDIF (NOT GEOS_FOUND)
  44.  
  45. IF (CMAKE_BUILD_TYPE MATCHES Debug)
  46.   ADD_DEFINITIONS(-DhfpDEBUG=1)
  47. ENDIF (CMAKE_BUILD_TYPE MATCHES Debug)
  48. ########################################################
  49. # Files
  50.  
  51. SET (hfp_SRCS
  52.   main.cpp
  53.   core/hlpproject.cpp
  54.   core/hlpmapregistry.cpp
  55.   app/hlpflightplannerapp.cpp
  56.   gui/hlpprojectprojectproperties.cpp
  57.   gui/hlpmapmanager.cpp
  58.   maptools/hlpmaptooledit.cpp
  59.   maptools/hlpmaptoolcatpure.cpp
  60.   maptools/hlpaddprofile.cpp
  61. )
  62.  
  63. # This tut uses no UIs
  64. SET (hfp_UIS
  65. ui/hlpprojectprojectproperties.ui
  66.     ui/hlpmapmanager.ui
  67.     ui/hlpflightplannerapp.ui
  68. )
  69.  
  70. # This tut needs no MOC
  71. SET (hfp_MOC_HDRS
  72.   core/hlpproject.h
  73.   core/hlpmapregistry.h
  74.   app/hlpflightplannerapp.h
  75.   gui/hlpprojectprojectproperties.h
  76.   gui/hlpmapmanager.h
  77.   maptools/hlpmaptooledit.h
  78.   maptools/hlpmaptoolcatpure.h
  79.   maptools/hlpaddprofile.h
  80. )
  81.  
  82. SET (hfp_RCCS
  83.  images/images.qrc
  84. )
  85.  
  86. SET (QT_USE_QT3SUPPORT FALSE)
  87. SET (QT_USE_QTGUI TRUE)
  88. SET (QT_USE_QTSQL TRUE)
  89. SET (QT_USE_QTSVG TRUE)
  90. SET (QT_USE_QTXML TRUE)
  91. SET (QT_USE_QTNETWORK TRUE)
  92.  
  93. FIND_PACKAGE(Qt4 REQUIRED)
  94. INCLUDE( ${QT_USE_FILE} )
  95.  
  96. ########################################################
  97. # Build
  98.  
  99. QT4_WRAP_UI (hfp_UIS_H  ${hfp_UIS})
  100.  
  101. QT4_WRAP_CPP (hfp_MOC_SRCS  ${hfp_MOC_HDRS})
  102.  
  103. QT4_ADD_RESOURCES(hfp_RCC_SRCS ${hfp_RCCS})
  104.  
  105. ADD_EXECUTABLE (hfp ${hfp_SRCS} ${hfp_MOC_SRCS} ${hfp_RCC_SRCS} ${hfp_UIS_H})
  106.  
  107. INCLUDE_DIRECTORIES(
  108.      ${GDAL_INCLUDE_DIR}
  109.      ${GEOS_INCLUDE_DIR}
  110.      ${CMAKE_CURRENT_BINARY_DIR}
  111.      ${QT_INCLUDE_DIR}
  112.      ${QGIS_INCLUDE_DIR}
  113.      .
  114. )
  115.  
  116. #This is probably no longer needed, but I will leave it in for Win machines for the moment
  117. IF(QT_QTSQL_FOUND)
  118.  FIND_LIBRARY(QT_QTSQL_LIBRARY NAMES QtSql QtSql5 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
  119.  SET(QT_LIBRARIES ${QT_LIBRARIES} ${QT_QTSQL_LIBRARY})
  120. ENDIF(QT_QTSQL_FOUND)
  121.  
  122. TARGET_LINK_LIBRARIES(hfp
  123.   ${QT_LIBRARIES}
  124.   ${QGIS_CORE_LIBRARY}
  125.   ${QGIS_GUI_LIBRARY}
  126.   ${GEOS_LIBRARY}
  127.   ${GDAL_LIBRARY}
  128. )
  129.  
  130. IF (WIN32)
  131.   # Very important or you get all kinds of odd side
  132.   #effects like app crash on start up saying qtgui.dll
  133.   TARGET_LINK_LIBRARIES( hfp
  134.                          qtmain
  135.                        )
  136. ENDIF (WIN32)
  137.  
  138. ########################################################
  139. # Install
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement