forked from cheind/reconstructme-qt
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
157 lines (129 loc) · 5.67 KB
/
Copy pathCMakeLists.txt
File metadata and controls
157 lines (129 loc) · 5.67 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
CMAKE_MINIMUM_REQUIRED(VERSION 2.8.5)
PROJECT(reconstructme-qt)
# Version of GUI
SET(RECONSTRUCTMEQT_VERSION_MAJOR "1" CACHE STRING "Version Major")
SET(RECONSTRUCTMEQT_VERSION_MINOR "2" CACHE STRING "Version Minor")
SET(RECONSTRUCTMEQT_VERSION_BUILD "0" CACHE STRING "Version Build")
SET(RECONSTRUCTMEQT_ENABLE_CONSOLE OFF CACHE BOOL "When enabled shows a console on windows")
SET(RECONSTRUCTMEQT_LINK_INSTALLED_SDK ON CACHE BOOL "When enabled shows a console on windows")
#paths
SET(PATHS_CMAKE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/cmake CACHE FILEPATH "CMake direcotry of ReconstructMeQt")
SET(PATHS_CMAKE_3RDPARTY_DIR ${CMAKE_CURRENT_SOURCE_DIR}/3rd_party/ CACHE FILEPATH "3rd Parties direcotry of ReconstructMeQt")
# QT Components
FIND_PACKAGE(Qt4 COMPONENTS QtCore QtGUI QtOpenGL QtTest QtNetwork QUIET)
# Find ReconstructMe SDK
IF(RECONSTRUCTMEQT_LINK_INSTALLED_SDK)
FIND_PACKAGE(ReconstructMeSDK)
ENDIF()
SET(ROBVIS_CMAKE_DIRECTORY ${CMAKE_SOURCE_DIR}/robvis/cmake CACHE PATH "Directory that contains the robvis cmake directory.")
#IF (IS_DIRECTORY ${ROBVIS_CMAKE_DIRECTORY})
# FIND_PACKAGE(Protobuf)
# INCLUDE(${ROBVIS_CMAKE_DIRECTORY}/externals/lib_protoc/head.cmake)
# MESSAGE(STATUS "Using protobuf from Robvis")
#ELSE()
# include protobuf and set paths manually
SET(PROTOBUF_INCLUDE_DIR "${PATHS_CMAKE_3RDPARTY_DIR}/protobuf-2.4.1/src" CACHE PATH "" FORCE)
SET(PROTOBUF_LITE_LIBRARY "${PATHS_CMAKE_3RDPARTY_DIR}/protobuf-2.4.1/bin/libprotobuf-lite.lib" CACHE FILEPATH "" FORCE)
SET(PROTOBUF_LITE_LIBRARY_DEBUG "${PATHS_CMAKE_3RDPARTY_DIR}/protobuf-2.4.1/bin/libprotobuf-lited.lib" CACHE FILEPATH "" FORCE)
SET(PROTOBUF_PROTOC_EXECUTABLE "${PATHS_CMAKE_3RDPARTY_DIR}/protobuf-2.4.1/protoc.exe" CACHE FILEPATH "" FORCE)
FIND_PACKAGE(Protobuf)
MESSAGE(STATUS "Overriding Protobuf Finder")
#ENDIF()
# set paths for osg
INCLUDE(${PATHS_CMAKE_DIR}/ext/lib_osg/CMakeLists.cmake)
SET(OSG_INCLUDE_DIR "${PATHS_CMAKE_3RDPARTY_DIR}/osg-3.0.1/inc" CACHE PATH "" FORCE)
SET(OSG_BINARY_DIR "${PATHS_CMAKE_3RDPARTY_DIR}//osg-3.0.1/bin" CACHE PATH "" FORCE)
FILE(GLOB_RECURSE HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/inc/*.h)
FILE(GLOB_RECURSE SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp)
FILE(GLOB_RECURSE QT_UI ${CMAKE_CURRENT_SOURCE_DIR}/ui/*.ui)
FILE(GLOB_RECURSE QT_RC ${CMAKE_CURRENT_SOURCE_DIR}/rc/*.qrc)
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/inc/defines.h.in ${CMAKE_CURRENT_BINARY_DIR}/defines.h)
IF (WIN32)
SET(WIN_RC_GENERATED ${CMAKE_CURRENT_BINARY_DIR}/resource_windows.rc)
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/rc/resource_windows.rc.in ${WIN_RC_GENERATED})
IF (NOT RECONSTRUCTMEQT_ENABLE_CONSOLE)
SET(EXECUTABLE_FLAGS WIN32)
ELSE()
SET(EXECUTABLE_FLAGS )
ENDIF()
ENDIF()
QT4_WRAP_CPP(QT_HEADERS_GENERATED ${HEADERS})
QT4_WRAP_UI(QT_UI_GENERATED ${QT_UI})
QT4_ADD_RESOURCES(QT_RC_GENERATED ${QT_RC})
PROTOBUF_GENERATE_CPP(PROTO_SRCS PROTO_HDRS proto/opencl_info.proto proto/hardware.proto proto/log.proto proto/calibration.proto proto/surface.proto)
SOURCE_GROUP("generated files" FILES ${QT_HEADERS_GENERATED})
SOURCE_GROUP("generated files" FILES ${QT_SOURCES_GENERATED})
SOURCE_GROUP("generated files" FILES ${QT_RC_GENERATED})
SOURCE_GROUP("generated files" FILES ${QT_UI_GENERATED})
SOURCE_GROUP("generated files" FILES ${WIN_RC_GENERATED})
SOURCE_GROUP("generated files" FILES ${CMAKE_CURRENT_BINARY_DIR}/defines.h)
SOURCE_GROUP("generated files" FILES ${PROTO_SRCS})
SOURCE_GROUP("generated files" FILES ${PROTO_HDRS})
INCLUDE(${QT_USE_FILE})
IF(RECONSTRUCTMEQT_LINK_INSTALLED_SDK)
INCLUDE_DIRECTORIES( ${RECONSTRUCTMESDK_INCLUDE_DIRS} )
ENDIF()
INCLUDE_DIRECTORIES(
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/inc
${OSG_INCLUDE_DIR}
${PROTOBUF_INCLUDE_DIR})
ADD_DEFINITIONS(${QT_DEFINITIONS})
ADD_DEFINITIONS(-DNOMINMAX)
ADD_DEFINITIONS("/wd4251")
ADD_EXECUTABLE(ReconstructMeQt ${EXECUTABLE_FLAGS}
${HEADERS}
${SOURCES}
${QT_HEADERS_GENERATED}
${QT_UI_GENERATED}
${QT_RC_GENERATED}
${WIN_RC_GENERATED}
${QT_UI}
${QT_RC}
${PROTO_HDRS}
${PROTO_SRCS}
${CMAKE_CURRENT_BINARY_DIR}/defines.h)
IF(RECONSTRUCTMEQT_LINK_INSTALLED_SDK)
TARGET_LINK_LIBRARIES(ReconstructMeQt ${RECONSTRUCTMESDK_LIBRARIES})
ELSE()
robvis_target_link_libraries(ReconstructMeQt LibReconstructMeSDK)
ENDIF()
TARGET_LINK_LIBRARIES(ReconstructMeQt
${QT_LIBRARIES}
${OSG_ALL_TARGETS}
${PROTOBUF_LITE_LIBRARIES})
# Needed for Hudson Build, checksum
GET_TARGET_PROPERTY(MAINAPPLICATION_EXE ReconstructMeQt RELEASE_LOCATION)
# Test library
FILE (GLOB_RECURSE TESTS ${CMAKE_CURRENT_SOURCE_DIR}/tests/*.hpp)
QT4_WRAP_CPP(TESTS_GENERATED ${TESTS})
ADD_EXECUTABLE(ReconstructMeQtTests
${TESTS}
${TESTS_GENERATED})
TARGET_LINK_LIBRARIES(ReconstructMeQtTests
${QT_LIBRARIES}
${QT_QTTEST_LIBRARIY})
# Install
set(REME_SDK_ROOT "${RECONSTRUCTMESDK_BIN}/../")
INSTALL(TARGETS ReconstructMeQt RUNTIME DESTINATION bin)
INSTALL(DIRECTORY ${REME_SDK_ROOT}/bin/ DESTINATION bin)
INSTALL(FILES
${QT_BINARY_DIR}/QtCore4.dll
${QT_BINARY_DIR}/QtGUI4.dll
${QT_BINARY_DIR}/QtOpenGL4.dll
${OSG_BINARY_DIR}/ot12-OpenThreads.dll
${OSG_BINARY_DIR}/osg80-osg.dll
${OSG_BINARY_DIR}/osg80-osgGA.dll
${OSG_BINARY_DIR}/osg80-osgViewer.dll
${OSG_BINARY_DIR}/osg80-osgDB.dll
${OSG_BINARY_DIR}/osg80-osgUtil.dll
${OSG_BINARY_DIR}/osg80-osgSim.dll
${OSG_BINARY_DIR}/osg80-osgAnimation.dll
${OSG_BINARY_DIR}/osg80-osgQt.dll
${OSG_BINARY_DIR}/zlib1.dll
${OSG_BINARY_DIR}/gdal18.dll
${OSG_BINARY_DIR}/glut32.dll
${OSG_BINARY_DIR}/libexpat.dll
${OSG_BINARY_DIR}/libpng13.dll
DESTINATION bin)
add_subdirectory(etc/wix)