Comments (5)
@Civitasv, I faced a similar limitation. My executable was in build/bin/Debug/exec.exe
, and it is supposed to produce a data.txt
file.
When CMakeRun
is invoked, it produces a file in the directory from which it was run and produces outputs in the same directory (root_dir/data.txt
) which is undesirable.(root_dir ~$ build/bin/Deubg/exec.exe
)
On VSCode, when CMakeRun
is invoked, the executable is run from its own build directory by default: (root_dir/build/bin/Deubg ~$ exec.exe
) thereby not cluttering the root_dir. The output files are in (root_dir/build/bin/Debug/data.txt
)
I think a conditional default option to set this behaviour would be a good idea:..
-- const.lua
const = {
...
cmake_launch_from_build_dir = true,
...
}
from cmake-tools.nvim.
Can you give a specific example? like the file structure of your project
from cmake-tools.nvim.
Yes of course. I am using this project by adding DefineGameProject(Test)
at the end of CMakeLists.txt, running cmake once to generate it, then running nvim Projects/Test/Test.cpp
. The workring directory would ideally be $(pwd)/Projects/$project/Resources
, so each project can load its own resources, but it appears to be set to the path nvim was invoked from.
from cmake-tools.nvim.
@TheSunCat, commit : a23d98 from pull #47 fixes this launch from build directory. Since there are a few more proposed upgrades in #47, it might take sometime to get tested on linux and MacOS (currently I am testing on windows with MSBuild and MSVC).
Added default option:
cmake_launch_from_built_binary_directory = true,
Edit:
Note: This does not parse the CMakePresets.json
to find a specific directory per target and then launch the executable or target according to that setting (Not sure if this is what is needed here, but I'm not sure if this is even necessary... theoretically there can be infinite possible customization here😃)
from cmake-tools.nvim.
@TheSunCat, #51 does this by default. You can now test this.
from cmake-tools.nvim.
Related Issues (20)
- Broken `${variant.buildType}` resolution HOT 2
- Changed behaviour: change of cmake kit doesn't change build folder name. ( doesn't copy patterns from global config ). HOT 5
- 'bottom' is not a valid option for the quickfix position HOT 3
- Auto select target HOT 8
- Automaticly updating the clangd LSP is not working HOT 5
- Option to modify :CMakeRun behavior to send the full command but not the newline HOT 5
- 无法在cmake-tools插件的lua配置文件中设置默认CMAKE_BUILD_TYPE HOT 3
- Option to auto-close quickfix after a successful build HOT 5
- 建议改善README示例配置文件或增加Installation部分的Require说明 HOT 1
- Integrating CMake compilation errors with the Trouble plugin in NeoVim HOT 5
- :CMakeDebug builds, then quits with no obvious reason HOT 3
- Integrate Toggleterm as terminal and executor HOT 14
- Can support for floaterm? HOT 3
- Run all tests with ctest HOT 3
- CMakeRun in terminal CDs to _folder_ and then runs _folder_/_app_ HOT 2
- Expected Lua number in scratch.lua:16 HOT 11
- The *cmake-tools* buffer clutters the tab list and breaks the plugin when closed HOT 3
- [master] cmake-tools.nvim/lua/cmake-tools/scratch.lua:8: Failed to rename buffer HOT 5
- Execute the command, and a pop-up window will appear to manually select the target. If no selection is made and the pop-up window disappears, the command will no longer bring up the corresponding pop-up window. HOT 5
- Usage/workflow questions HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cmake-tools.nvim.