diff --git a/CMakeLists.txt b/CMakeLists.txt index afbce4c..81c264f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,14 +4,19 @@ cmake_minimum_required(VERSION 3.2) project(chiaki) option(CHIAKI_ENABLE_TESTS "Enable tests for Chiaki" ON) +option(CHIAKI_ENABLE_CLI "Enable CLI for Chiaki" OFF) list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") add_subdirectory(third-party) add_subdirectory(lib) + +if(CHIAKI_ENABLE_CLI) + add_subdirectory(cli) +endif() + add_subdirectory(gui) -add_subdirectory(cli) if(CHIAKI_ENABLE_TESTS) enable_testing() diff --git a/gui/CMakeLists.txt b/gui/CMakeLists.txt index b9b0639..30a311d 100644 --- a/gui/CMakeLists.txt +++ b/gui/CMakeLists.txt @@ -49,7 +49,12 @@ add_executable(chiaki res/resources.qrc) target_include_directories(chiaki PRIVATE include) -target_link_libraries(chiaki chiaki-lib chiaki-cli-lib) +target_link_libraries(chiaki chiaki-lib) +if(CHIAKI_ENABLE_CLI) + add_definitions(CHIAKI_ENABLE_CLI) + target_link_libraries(chiaki chiaki-cli-lib) +endif() + target_link_libraries(chiaki FFMPEG::avcodec) target_link_libraries(chiaki Qt5::Core Qt5::Widgets Qt5::Gui Qt5::Multimedia Qt5::OpenGL Qt5::Svg) if(CHIAKI_GUI_ENABLE_QT_GAMEPAD) diff --git a/gui/src/main.cpp b/gui/src/main.cpp index 281030f..2780db4 100644 --- a/gui/src/main.cpp +++ b/gui/src/main.cpp @@ -8,7 +8,9 @@ #include #include +#ifdef CHIAKI_ENABLE_CLI #include +#endif #include #include @@ -26,6 +28,7 @@ Q_DECLARE_METATYPE(ChiakiLogLevel) +#ifdef CHIAKI_ENABLE_CLI struct CLICommand { int (*cmd)(ChiakiLog *log, int argc, char *argv[]); @@ -34,6 +37,7 @@ struct CLICommand static const QMap cli_commands = { { "discover", { chiaki_cli_cmd_discover } } }; +#endif int RunStream(QApplication &app, const StreamSessionConnectInfo &connect_info); int RunMain(QApplication &app, Settings *settings); @@ -72,7 +76,9 @@ int main(int argc, char *argv[]) QStringList cmds; cmds.append("stream"); +#ifdef CHIAKI_ENABLE_CLI cmds.append(cli_commands.keys()); +#endif parser.addPositionalArgument("command", cmds.join(", ")); parser.addPositionalArgument("host", "Address to connect to (when using the stream command)"); @@ -118,6 +124,7 @@ int main(int argc, char *argv[]) return RunStream(app, connect_info); } +#ifdef CHIAKI_ENABLE_CLI else if(cli_commands.contains(args[0])) { ChiakiLog log; @@ -135,6 +142,7 @@ int main(int argc, char *argv[]) } return cmd.cmd(&log, sub_argc, sub_argv.data()); } +#endif else { parser.showHelp(1);