Skip to content

Commit 8285ac8

Browse files
Merge pull request #1106 from Raphael-Martin-TS3D/allow_disabling_executables_build
Allows disabling executables build for 3rd party usage
2 parents e801aeb + fd8f128 commit 8285ac8

File tree

3 files changed

+61
-51
lines changed

3 files changed

+61
-51
lines changed

CMakeLists.txt

Lines changed: 51 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -706,28 +706,30 @@ if(EMSCRIPTEN AND DRACO_JS_GLUE)
706706
"DRACO_ATTRIBUTE_VALUES_DEDUPLICATION_SUPPORTED")
707707
endif()
708708

709-
draco_add_emscripten_executable(
710-
NAME draco_decoder
711-
SOURCES ${draco_decoder_src}
712-
DEFINES ${draco_defines}
713-
FEATURES ${draco_decoder_features}
714-
INCLUDES ${draco_include_paths}
715-
LINK_FLAGS "-sEXPORT_NAME=\"DracoDecoderModule\""
716-
GLUE_PATH ${draco_decoder_glue_path}
717-
PRE_LINK_JS_SOURCES ${draco_pre_link_js_sources}
718-
POST_LINK_JS_SOURCES ${draco_post_link_js_decoder_sources})
719-
720-
draco_add_emscripten_executable(
721-
NAME draco_encoder
722-
SOURCES ${draco_encoder_src}
723-
DEFINES ${draco_defines}
724-
FEATURES DRACO_ATTRIBUTE_INDICES_DEDUPLICATION_SUPPORTED
725-
DRACO_ATTRIBUTE_VALUES_DEDUPLICATION_SUPPORTED
726-
INCLUDES ${draco_include_paths}
727-
LINK_FLAGS "-sEXPORT_NAME=\"DracoEncoderModule\""
728-
GLUE_PATH ${draco_encoder_glue_path}
729-
PRE_LINK_JS_SOURCES ${draco_pre_link_js_sources}
730-
POST_LINK_JS_SOURCES ${draco_post_link_js_sources})
709+
if(DRACO_BUILD_EXECUTABLES)
710+
draco_add_emscripten_executable(
711+
NAME draco_decoder
712+
SOURCES ${draco_decoder_src}
713+
DEFINES ${draco_defines}
714+
FEATURES ${draco_decoder_features}
715+
INCLUDES ${draco_include_paths}
716+
LINK_FLAGS "-sEXPORT_NAME=\"DracoDecoderModule\""
717+
GLUE_PATH ${draco_decoder_glue_path}
718+
PRE_LINK_JS_SOURCES ${draco_pre_link_js_sources}
719+
POST_LINK_JS_SOURCES ${draco_post_link_js_decoder_sources})
720+
721+
draco_add_emscripten_executable(
722+
NAME draco_encoder
723+
SOURCES ${draco_encoder_src}
724+
DEFINES ${draco_defines}
725+
FEATURES DRACO_ATTRIBUTE_INDICES_DEDUPLICATION_SUPPORTED
726+
DRACO_ATTRIBUTE_VALUES_DEDUPLICATION_SUPPORTED
727+
INCLUDES ${draco_include_paths}
728+
LINK_FLAGS "-sEXPORT_NAME=\"DracoEncoderModule\""
729+
GLUE_PATH ${draco_encoder_glue_path}
730+
PRE_LINK_JS_SOURCES ${draco_pre_link_js_sources}
731+
POST_LINK_JS_SOURCES ${draco_post_link_js_sources})
732+
endif()
731733

732734
if(DRACO_ANIMATION_ENCODING)
733735
set(draco_anim_decoder_glue_path "${draco_build}/glue_animation_decoder")
@@ -1106,42 +1108,44 @@ else()
11061108
endif()
11071109

11081110
# Draco app targets.
1109-
draco_add_executable(
1110-
NAME draco_decoder
1111-
SOURCES "${draco_src_root}/tools/draco_decoder.cc" ${draco_io_sources}
1112-
DEFINES ${draco_defines}
1113-
INCLUDES ${draco_include_paths}
1114-
LIB_DEPS ${draco_dependency})
1115-
1116-
draco_add_executable(
1117-
NAME draco_encoder
1118-
SOURCES "${draco_src_root}/tools/draco_encoder.cc" ${draco_io_sources}
1119-
DEFINES ${draco_defines}
1120-
INCLUDES ${draco_include_paths}
1121-
LIB_DEPS ${draco_dependency})
1111+
if(DRACO_BUILD_EXECUTABLES)
1112+
draco_add_executable(
1113+
NAME draco_decoder
1114+
SOURCES "${draco_src_root}/tools/draco_decoder.cc" ${draco_io_sources}
1115+
DEFINES ${draco_defines}
1116+
INCLUDES ${draco_include_paths}
1117+
LIB_DEPS ${draco_dependency})
11221118

1123-
if(DRACO_TRANSCODER_SUPPORTED)
11241119
draco_add_executable(
1125-
NAME draco_transcoder
1126-
SOURCES "${draco_src_root}/tools/draco_transcoder.cc"
1127-
"${draco_src_root}/tools/draco_transcoder_lib.cc"
1128-
"${draco_src_root}/tools/draco_transcoder_lib.h"
1129-
${draco_io_sources}
1120+
NAME draco_encoder
1121+
SOURCES "${draco_src_root}/tools/draco_encoder.cc" ${draco_io_sources}
11301122
DEFINES ${draco_defines}
11311123
INCLUDES ${draco_include_paths}
11321124
LIB_DEPS ${draco_dependency})
11331125

1134-
if(DRACO_SIMPLIFIER_SUPPORTED)
1126+
if(DRACO_TRANSCODER_SUPPORTED)
11351127
draco_add_executable(
1136-
NAME draco_simplifier
1137-
SOURCES ${draco_pipeline_proto_header}
1138-
"${draco_src_root}/tools/draco_simplifier.cc"
1139-
"${draco_src_root}/tools/draco_simplifier_lib.cc"
1140-
"${draco_src_root}/tools/draco_simplifier_lib.h"
1128+
NAME draco_transcoder
1129+
SOURCES "${draco_src_root}/tools/draco_transcoder.cc"
1130+
"${draco_src_root}/tools/draco_transcoder_lib.cc"
1131+
"${draco_src_root}/tools/draco_transcoder_lib.h"
11411132
${draco_io_sources}
11421133
DEFINES ${draco_defines}
11431134
INCLUDES ${draco_include_paths}
11441135
LIB_DEPS ${draco_dependency})
1136+
1137+
if(DRACO_SIMPLIFIER_SUPPORTED)
1138+
draco_add_executable(
1139+
NAME draco_simplifier
1140+
SOURCES ${draco_pipeline_proto_header}
1141+
"${draco_src_root}/tools/draco_simplifier.cc"
1142+
"${draco_src_root}/tools/draco_simplifier_lib.cc"
1143+
"${draco_src_root}/tools/draco_simplifier_lib.h"
1144+
${draco_io_sources}
1145+
DEFINES ${draco_defines}
1146+
INCLUDES ${draco_include_paths}
1147+
LIB_DEPS ${draco_dependency})
1148+
endif()
11451149
endif()
11461150
endif()
11471151

cmake/draco_install.cmake

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,11 +51,13 @@ macro(draco_setup_install_target)
5151
install(FILES "${draco_build}/draco/draco_features.h"
5252
DESTINATION "${includes_path}/draco/")
5353

54-
install(TARGETS draco_decoder DESTINATION "${bin_path}")
55-
install(TARGETS draco_encoder DESTINATION "${bin_path}")
54+
if(DRACO_BUILD_EXECUTABLES)
55+
install(TARGETS draco_decoder DESTINATION "${bin_path}")
56+
install(TARGETS draco_encoder DESTINATION "${bin_path}")
5657

57-
if(DRACO_TRANSCODER_SUPPORTED)
58-
install(TARGETS draco_transcoder DESTINATION "${bin_path}")
58+
if(DRACO_TRANSCODER_SUPPORTED)
59+
install(TARGETS draco_transcoder DESTINATION "${bin_path}")
60+
endif()
5961
endif()
6062

6163
if(MSVC)

cmake/draco_options.cmake

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,10 @@ macro(draco_set_default_options)
135135
NAME DRACO_INSTALL
136136
HELPSTRING "Enable installation."
137137
VALUE ON)
138+
draco_option(
139+
NAME DRACO_BUILD_EXECUTABLES
140+
HELPSTRING "Enable executables build."
141+
VALUE ON)
138142
draco_check_deprecated_options()
139143
endmacro()
140144

0 commit comments

Comments
 (0)