Skip to content

Commit 33e9994

Browse files
committed
Use CMake to generate LIBFREENECT2_API macro
1 parent 09d6a73 commit 33e9994

File tree

4 files changed

+14
-7
lines changed

4 files changed

+14
-7
lines changed

CMakeLists.txt

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ IF(ENABLE_OPENGL)
145145
)
146146
SET(LIBFREENECT2_WITH_OPENGL_SUPPORT 1)
147147
LIST(APPEND SOURCES
148-
src/flextGL.c
148+
src/flextGL.cpp
149149
src/opengl_depth_packet_processor.cpp
150150
)
151151

@@ -210,7 +210,16 @@ CONFIGURE_FILE("${MY_DIR}/include/libfreenect2/config.h.in" "${CONFIG_H_FILE}" @
210210
GENERATE_RESOURCES(${RESOURCES_INC_FILE} ${MY_DIR} ${RESOURCES})
211211

212212
ADD_DEFINITIONS(-DRESOURCES_INC)
213+
SET(CMAKE_CXX_VISIBILITY_PRESET hidden)
214+
SET(CMAKE_C_VISIBILITY_PRESET hidden)
215+
SET(CMAKE_VISIBILITY_INLINES_HIDDEN 1)
216+
INCLUDE(GenerateExportHeader)
217+
213218
ADD_LIBRARY(freenect2 ${SOURCES})
219+
GENERATE_EXPORT_HEADER(freenect2
220+
BASE_NAME libfreenect2
221+
)
222+
214223
IF(MSVC AND NOT BUILD_SHARED_LIBS)
215224
# MSVC creates freenect2.lib for both dynamic and static by default
216225
set_target_properties(freenect2 PROPERTIES SUFFIX "static.lib")
@@ -224,6 +233,7 @@ CONFIGURE_FILE(freenect2.pc.in "${PROJECT_BINARY_DIR}/freenect2.pc" @ONLY)
224233
INSTALL(TARGETS freenect2 DESTINATION lib)
225234
INSTALL(DIRECTORY "${MY_DIR}/include/${PROJECT_NAME}" DESTINATION include PATTERN "*.in" EXCLUDE)
226235
INSTALL(FILES "${CONFIG_H_FILE}" DESTINATION include/${PROJECT_NAME})
236+
INSTALL(FILES "${PROJECT_BINARY_DIR}/libfreenect2_export.h" DESTINATION include/${PROJECT_NAME})
227237
INSTALL(FILES "${PROJECT_BINARY_DIR}/freenect2Config.cmake" DESTINATION lib/cmake/freenect2/)
228238
INSTALL(FILES "${PROJECT_BINARY_DIR}/freenect2.pc" DESTINATION lib/pkgconfig/)
229239

examples/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ OPTION(ENABLE_OPENGL "Enable OpenGL support" ON)
2020

2121
# The example build system is standalone and will work out-of-tree with these files copied
2222
SET(freenect2_ROOT_DIR ${MY_DIR}/..)
23-
SET(flextGL_SOURCES ${freenect2_ROOT_DIR}/src/flextGL.c)
23+
SET(flextGL_SOURCES ${freenect2_ROOT_DIR}/src/flextGL.cpp)
2424
SET(flextGL_INCLUDE_DIRS ${freenect2_ROOT_DIR}/src) # for flextGL.h
2525

2626
FIND_PACKAGE(PkgConfig) # try find PKGConfig as it will be used if found

include/libfreenect2/config.h.in

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,8 @@
3333
#define LIBFREENECT2_PACK( __Declaration__ ) __Declaration__ __attribute__((__packed__))
3434
#endif
3535

36-
#ifdef _WIN32
37-
#define LIBFREENECT2_API __declspec(dllexport)
38-
#else
39-
#define LIBFREENECT2_API
40-
#endif
36+
#include "libfreenect2_export.h"
37+
#define LIBFREENECT2_API LIBFREENECT2_EXPORT
4138

4239
#cmakedefine LIBFREENECT2_WITH_OPENGL_SUPPORT
4340

File renamed without changes.

0 commit comments

Comments
 (0)