go2sh / cmake-integration-vscode

CMake Server Interface for VSCode.
https://go2sh.github.io/cmake-integration-vscode/
Other
19 stars 11 forks source link

Console output is not updatet when an external project is build #17

Closed hriekehof closed 5 years ago

hriekehof commented 5 years ago

I have some CMake External_Projects in my setup. Currently the console output for the build process of the external project is not put out by the console in VSC. The output of the configuration process is still visible but the outputs of the build process are only seen when the build process is finished. Just i minor thing but it would be great to have :)

go2sh commented 5 years ago

Hi, are you using the beta or v0.3.2? I think I fixed a lot of issues in the upcoming release.

hriekehof commented 5 years ago

ah ok. Yes i'm still at 0.3.2

hriekehof commented 5 years ago

Do you have an estimate when the next release is coming ?

go2sh commented 5 years ago

Its here <3

hriekehof commented 5 years ago

Just a quick note. In version 0.4.1 i observe still the following behavior. When an external project is build as a build step, the console output stops. All console output is printed out when the build of the external project is finished. It would be great to see the console output all the time to be sure the build is running correctly and also check the progress

go2sh commented 5 years ago

I'am not sure, if I can fix this within the extension. The extension captures the stdout and stderr of the build process and prints it immediately. So maybe CMake doesn't flush the output of external steps, while building. Can you give me the external project CMakeLists.txt part to reproduce?

hriekehof commented 5 years ago

I add the external project like this

ExternalProject_Add(project
    SOURCE_DIR ${xxx}/xxx
    BINARY_DIR ${CMAKE_BINARY_DIR}/xxx
    INSTALL_COMMAND ""
    BUILD_ALWAYS TRUE
    CMAKE_ARGS -DCMAKE_MODULE_PATH:PATH=${xxx}/utils -DCMAKE_TOOLCHAIN_FILE:FILEPATH=${CMAKE_TOOLCHAIN_FILE} -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE} -DLUA_VERSION:PATH=${LUA_VERSION}
    BUILD_BYPRODUCTS ${CMAKE_BINARY_DIR}/xxx/xxx/xxx.a
)

Later i add a dependency to the executable with add_dependencies(exe project) So whenever i build the exe the external project is build. Do you mean that ?