16 |
16 |
# so that the generated files are found
|
17 |
17 |
include_directories("${PROJECT_BINARY_DIR}")
|
18 |
18 |
|
|
19 |
#SET(CMAKE_INSTALL_PREFIX "../../" CACHE PATH "Install path prefix" FORCE INTERNAL )
|
|
20 |
|
19 |
21 |
# add the Google protobuf parts
|
20 |
22 |
find_package(Protobuf REQUIRED)
|
21 |
23 |
include_directories(${PROTOBUF_INCLUDE_DIRS})
|
... | ... | |
23 |
25 |
set (PROTOBUF_IMPORT_DIRS specification)
|
24 |
26 |
PROTOBUF_GENERATE_CPP(PROTO_SRCS PROTO_HDRS specification/basic_types.proto specification/eye_data.proto specification/gaze2d_data.proto specification/gaze3d_data.proto specification/messages.proto)
|
25 |
27 |
|
|
28 |
#this dummy list will make all header files appear if you use qtcreator to open the cmake project
|
|
29 |
#file(GLOB HEADER_LIST RELATIVE ${CMAKE_CURRENT_BINARY_DIR}/ *.h )
|
|
30 |
|
26 |
31 |
# add the library
|
27 |
32 |
add_library(GazeTkProtocol STATIC src_cpp/protocol.cc ${PROTO_SRCS} ${PROTO_HDRS})
|
28 |
33 |
target_link_libraries(GazeTkProtocol ${PROTOBUF_LIBRARIES})
|
|
34 |
|
|
35 |
install(TARGETS GazeTkProtocol
|
|
36 |
RUNTIME DESTINATION bin COMPONENT libraries
|
|
37 |
LIBRARY DESTINATION lib COMPONENT libraries
|
|
38 |
PUBLIC_HEADER DESTINATION include COMPONENT libraries
|
|
39 |
ARCHIVE DESTINATION lib/static COMPONENT libraries)
|
|
40 |
|
|
41 |
install(DIRECTORY src_cpp/ DESTINATION include/GazeTkProtocol
|
|
42 |
FILES_MATCHING PATTERN "*.h")
|
|
43 |
|
|
44 |
#
|
|
45 |
# Installing the header files.
|
|
46 |
# Looks a little bit complicated, the headers are generated, so we have to search
|
|
47 |
# for them. However, if we do so, the install command creates empty subdirs according
|
|
48 |
# to initial structure. By excluding them, this is prohibited. Nicer solutions welcome!
|
|
49 |
#
|
|
50 |
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/ DESTINATION include/GazeTkProtocol
|
|
51 |
FILES_MATCHING PATTERN "*.h"
|
|
52 |
PATTERN "Win32" EXCLUDE
|
|
53 |
PATTERN "GazeTkProtocol.dir" EXCLUDE
|
|
54 |
PATTERN "Debug" EXCLUDE
|
|
55 |
PATTERN "Release" EXCLUDE
|
|
56 |
PATTERN "CMakeFiles" EXCLUDE
|
|
57 |
)
|
|
58 |
|