source: ntrip/trunk/GnssCenter/thrift/rtnet_sdo_example/common/thrift/CMakeLists.txt@ 4941

Last change on this file since 4941 was 4941, checked in by mervart, 11 years ago
File size: 5.9 KB
Line 
1INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS} ${PROJECT_BINARY_DIR}
2 ${PROJECT_SOURCE_DIR}/3rd_party ${PROJECT_SOURCE_DIR}/3rd_party/thrift
3 ${PROJECT_BINARY_DIR}/3rd_party/thrift
4 )
5
6IF (NOT IS_DIRECTORY ${PROJECT_BINARY_DIR}/common/thrift)
7 FILE(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/common/thrift)
8ENDIF (NOT IS_DIRECTORY ${PROJECT_BINARY_DIR}/common/thrift)
9
10#IF (NOT IS_DIRECTORY ${PROJECT_BINARY_DIR}/thrift_js)
11# FILE(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/thrift_js)
12#ENDIF (NOT IS_DIRECTORY ${PROJECT_BINARY_DIR}/thrift_js)
13
14#IF (NOT IS_DIRECTORY ${PROJECT_BINARY_DIR}/thrift_perl)
15# FILE(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/thrift_perl)
16#ENDIF (NOT IS_DIRECTORY ${PROJECT_BINARY_DIR}/thrift_perl)
17
18SET (gpssthrift_sources
19 ${PROJECT_BINARY_DIR}/common/thrift/rtnet_constants.cpp
20 ${PROJECT_BINARY_DIR}/common/thrift/rtnet_constants.h
21 ${PROJECT_BINARY_DIR}/common/thrift/rtnet_types.cpp
22 ${PROJECT_BINARY_DIR}/common/thrift/rtnet_types.h
23 ${PROJECT_BINARY_DIR}/common/thrift/rtnet_data_constants.cpp
24 ${PROJECT_BINARY_DIR}/common/thrift/rtnet_data_constants.h
25 ${PROJECT_BINARY_DIR}/common/thrift/rtnet_data_types.cpp
26 ${PROJECT_BINARY_DIR}/common/thrift/rtnet_data_types.h
27# ${PROJECT_BINARY_DIR}/common/thrift/rtnet_js_constants.cpp
28# ${PROJECT_BINARY_DIR}/common/thrift/rtnet_js_constants.h
29# ${PROJECT_BINARY_DIR}/common/thrift/rtnet_js_types.cpp
30# ${PROJECT_BINARY_DIR}/common/thrift/rtnet_js_types.h
31 ${PROJECT_BINARY_DIR}/common/thrift/RtnetData.cpp
32 ${PROJECT_BINARY_DIR}/common/thrift/RtnetData.h
33# ${PROJECT_BINARY_DIR}/common/thrift/RtnetDataJs.cpp
34# ${PROJECT_BINARY_DIR}/common/thrift/RtnetDataJs.h
35 )
36
37ADD_LIBRARY(lib_gpssthrift ${gpssthrift_sources})
38# create symbolic lib_codecs target for calling target gpsscodecs
39##ADD_CUSTOM_TARGET( lib_gpssthrift DEPENDS lib_gpssthrift )
40# change lib_target properties
41SET_TARGET_PROPERTIES( lib_gpssthrift PROPERTIES
42 # create *nix style library versions + symbolic links
43 VERSION 1
44 SOVERSION 1
45 # allow creating static and shared libs without conflicts
46 CLEAN_DIRECT_OUTPUT 1
47 # avoid conflicts between library and binary target names
48 OUTPUT_NAME gpssthrift )
49
50INSTALL(TARGETS lib_gpssthrift DESTINATION lib PERMISSIONS
51 OWNER_READ OWNER_WRITE OWNER_EXECUTE
52 GROUP_READ GROUP_EXECUTE
53 WORLD_READ WORLD_EXECUTE
54)
55
56#SET (lib_gpss_js ${PROJECT_BINARY_DIR}/thrift_js/RtnetDataJs.js
57# ${PROJECT_BINARY_DIR}/thrift_js/rtnet_data_types.js
58# ${PROJECT_BINARY_DIR}/thrift_js/rtnet_js_types.js
59# )
60
61#INSTALL(FILES ${lib_gpss_js} DESTINATION www PERMISSIONS
62# OWNER_READ OWNER_WRITE OWNER_READ
63# GROUP_READ GROUP_READ
64# WORLD_READ WORLD_READ
65#)
66
67ADD_CUSTOM_COMMAND (
68 OUTPUT ${PROJECT_BINARY_DIR}/common/thrift/rtnet_constants.cpp
69 ${PROJECT_BINARY_DIR}/common/thrift/rtnet_constants.h
70 ${PROJECT_BINARY_DIR}/common/thrift/rtnet_data_constants.cpp
71 ${PROJECT_BINARY_DIR}/common/thrift/rtnet_data_constants.h
72 ${PROJECT_BINARY_DIR}/common/thrift/rtnet_data_types.cpp
73 ${PROJECT_BINARY_DIR}/common/thrift/rtnet_data_types.h
74 ${PROJECT_BINARY_DIR}/common/thrift/rtnet_types.cpp
75 ${PROJECT_BINARY_DIR}/common/thrift/rtnet_types.h
76 ${PROJECT_BINARY_DIR}/common/thrift/RtnetData.cpp
77 ${PROJECT_BINARY_DIR}/common/thrift/RtnetData.h
78
79 COMMAND cmake -E echo Generating rtnet Thrift code
80 COMMAND cmake -E echo thrift -r --gen cpp --out ${PROJECT_BINARY_DIR}/common/thrift ${PROJECT_SOURCE_DIR}/thrift_template/rtnet.thrift
81 COMMAND thrift --gen cpp -r --out ${PROJECT_BINARY_DIR}/common/thrift ${PROJECT_SOURCE_DIR}/thrift_template/rtnet.thrift
82 # -r (recursive) apparently doesn't work for perl generator
83# COMMAND cmake -E echo thrift --gen perl --out ${PROJECT_BINARY_DIR}/common/thrift_perl ${PROJECT_SOURCE_DIR}/thrift_template/rtnet.thrift
84# COMMAND thrift --gen perl --out ${PROJECT_BINARY_DIR}/thrift_perl ${PROJECT_SOURCE_DIR}/thrift_template/rtnet.thrift
85# COMMAND cmake -E echo thrift --gen perl --out ${PROJECT_BINARY_DIR}/common/thrift_perl ${PROJECT_SOURCE_DIR}/thrift_template/rtnet_data.thrift
86# COMMAND thrift --gen perl --out ${PROJECT_BINARY_DIR}/thrift_perl ${PROJECT_SOURCE_DIR}/thrift_template/rtnet_data.thrift
87
88 DEPENDS ${PROJECT_SOURCE_DIR}/thrift_template/rtnet.thrift
89 ${PROJECT_SOURCE_DIR}/thrift_template/rtnet_data.thrift
90)
91#ADD_CUSTOM_COMMAND (
92# OUTPUT ${PROJECT_BINARY_DIR}/common/thrift/rtnet_js_constants.cpp
93# ${PROJECT_BINARY_DIR}/common/thrift/rtnet_js_constants.h
94# ${PROJECT_BINARY_DIR}/common/thrift/rtnet_js_types.cpp
95# ${PROJECT_BINARY_DIR}/common/thrift/rtnet_js_types.h
96# ${PROJECT_BINARY_DIR}/common/thrift/rtnet_data_constants.cpp
97# ${PROJECT_BINARY_DIR}/common/thrift/rtnet_data_constants.h
98# ${PROJECT_BINARY_DIR}/common/thrift/rtnet_data_types.cpp
99# ${PROJECT_BINARY_DIR}/common/thrift/rtnet_data_types.h
100# ${PROJECT_BINARY_DIR}/common/thrift/RtnetDataJs.cpp
101# ${PROJECT_BINARY_DIR}/common/thrift/RtnetDataJs.h
102# ${PROJECT_BINARY_DIR}/thrift_js/RtnetDataJs.js
103# ${PROJECT_BINARY_DIR}/thrift_js/rtnet_data_types.js
104# ${PROJECT_BINARY_DIR}/thrift_js/rtnet_js_types.js
105
106# COMMAND cmake -E echo Generating rtnet JavaScript Thrift code
107# COMMAND cmake -E echo thrift -r --gen cpp --out ${PROJECT_BINARY_DIR}/common/thrift ${PROJECT_SOURCE_DIR}/thrift_template/rtnet_js.thrift
108# COMMAND thrift -r --gen cpp --out ${PROJECT_BINARY_DIR}/common/thrift ${PROJECT_SOURCE_DIR}/thrift_template/rtnet_js.thrift
109# COMMAND cmake -E echo thrift -r --gen js:jquery --out ${PROJECT_BINARY_DIR}/thrift_js ${PROJECT_SOURCE_DIR}/thrift_template/rtnet_js.thrift
110# COMMAND thrift -r --gen js:jquery --out ${PROJECT_BINARY_DIR}/thrift_js ${PROJECT_SOURCE_DIR}/thrift_template/rtnet_js.thrift
111
112# DEPENDS ${PROJECT_SOURCE_DIR}/thrift_template/rtnet_js.thrift
113# ${PROJECT_SOURCE_DIR}/thrift_template/rtnet_data.thrift
114#)
Note: See TracBrowser for help on using the repository browser.