diff --git a/CMakeLists.txt b/CMakeLists.txt index 811e6f2fb..9b22dedfc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,6 +6,13 @@ project(FlatBuffers) option(FLATBUFFERS_CODE_COVERAGE "Enable the code coverage build option." OFF) option(FLATBUFFERS_BUILD_TESTS "Enable the build of tests and samples." ON) option(FLATBUFFERS_INSTALL "Enable the installation of targets." ON) +option(FLATBUFFERS_BUILD_FLATC "Enable the build of the flatbuffers compiler" ON) + +if(NOT FLATBUFFERS_BUILD_FLATC AND FLATBUFFERS_BUILD_TESTS) + message(WARNING + "Cannot build tests without building the compiler. Tests will be disabled.") + set(FLATBUFFERS_BUILD_TESTS OFF) +endif() set(FlatBuffers_Compiler_SRCS include/flatbuffers/flatbuffers.h @@ -69,7 +76,9 @@ endif() include_directories(include) +if(FLATBUFFERS_BUILD_FLATC) add_executable(flatc ${FlatBuffers_Compiler_SRCS}) +endif() function(compile_flatbuffers_schema_to_cpp SRC_FBS) get_filename_component(SRC_FBS_DIR ${SRC_FBS} PATH) @@ -93,7 +102,9 @@ endif() if(FLATBUFFERS_INSTALL) install(DIRECTORY include/flatbuffers DESTINATION include) - install(TARGETS flatc DESTINATION bin) + if(FLATBUFFERS_BUILD_FLATC) + install(TARGETS flatc DESTINATION bin) + endif() endif() if(FLATBUFFERS_BUILD_TESTS)