Skip to content

Commit 3758042

Browse files
committed
Merge pull request #530 from xlz/release-cleanup
Release cleanup, fix memleaks, packaging helpers.
2 parents 57d2148 + b56c216 commit 3758042

31 files changed

+791
-2537
lines changed

CMakeLists.txt

+14-10
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
CMAKE_MINIMUM_REQUIRED(VERSION 2.8.12.1)
22

3+
SET(PROJECT_VER_MAJOR 0)
4+
SET(PROJECT_VER_MINOR 1)
5+
SET(PROJECT_VER_PATCH 0)
6+
SET(PROJECT_VER "${PROJECT_VER_MAJOR}.${PROJECT_VER_MINOR}.${PROJECT_VER_PATCH}")
7+
SET(PROJECT_APIVER "${PROJECT_VER_MAJOR}.${PROJECT_VER_MINOR}")
8+
39
if(WIN32 AND NOT MINGW)
410
if(NOT DEFINED CMAKE_DEBUG_POSTFIX)
511
set(CMAKE_DEBUG_POSTFIX "d")
@@ -32,6 +38,9 @@ IF(MSVC)
3238
# "zero-length array in struct" from libusb.h
3339
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4267 /wd4244 /wd4200 /wd4305 /wd4146")
3440
ADD_DEFINITIONS(-D_CRT_SECURE_NO_WARNINGS) # no warning for getenv()
41+
ELSE()
42+
# Heed warnings from non-MSVC compilers
43+
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
3544
ENDIF()
3645

3746
IF(ENABLE_CXX11)
@@ -214,9 +223,9 @@ ENDIF(ENABLE_OPENCL)
214223
# Both command line -DCMAKE_INSTALL_RPATH=... and CMake GUI settings are accepted.
215224
#
216225
# Anyway if wrong versions of libusb is used, errors will be reported explicitly.
217-
IF(NOT DEFINED CMAKE_INSTALL_RPATH)
226+
IF(NOT DEFINED CMAKE_INSTALL_RPATH AND NOT ${LibUSB_LIBDIR} MATCHES "^/usr/lib")
218227
SET(CMAKE_INSTALL_RPATH ${LibUSB_LIBDIR} CACHE STRING "Set RPATH for a private libusb")
219-
ELSE()
228+
ELSEIF(DEFINED CMAKE_INSTALL_RPATH)
220229
SET(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_RPATH} CACHE STRING "Set RPATH for a private libusb")
221230
ENDIF()
222231
IF(DEFINED CMAKE_INSTALL_RPATH)
@@ -231,6 +240,8 @@ ADD_LIBRARY(freenect2 ${SOURCES})
231240
SET_TARGET_PROPERTIES(freenect2 PROPERTIES
232241
CXX_VISIBILITY_PRESET hidden
233242
VISIBILITY_INLINES_HIDDEN 1
243+
VERSION ${PROJECT_VER}
244+
SOVERSION ${PROJECT_APIVER}
234245
)
235246
INCLUDE(GenerateExportHeader)
236247
GENERATE_EXPORT_HEADER(freenect2
@@ -255,14 +266,7 @@ INSTALL(DIRECTORY "${PROJECT_BINARY_DIR}/${PROJECT_NAME}" DESTINATION include)
255266
INSTALL(FILES "${PROJECT_BINARY_DIR}/freenect2Config.cmake" DESTINATION lib/cmake/freenect2/)
256267
INSTALL(FILES "${PROJECT_BINARY_DIR}/freenect2.pc" DESTINATION lib/pkgconfig/)
257268

258-
find_package(Doxygen)
259-
IF(DOXYGEN_FOUND)
260-
CONFIGURE_FILE(Doxyfile.in "${PROJECT_BINARY_DIR}/Doxyfile" @ONLY)
261-
add_custom_target(
262-
doc
263-
COMMAND ${DOXYGEN_EXECUTABLE} Doxyfile
264-
)
265-
ENDIF()
269+
ADD_SUBDIRECTORY(${MY_DIR}/doc)
266270

267271
IF(BUILD_EXAMPLES)
268272
MESSAGE(STATUS "Configurating examples")

0 commit comments

Comments
 (0)