11 Commits

Author SHA1 Message Date
Haowen Liu
f6232a7f26
Improve CMake setup (#118)
* Support CMake 4

CMake 4 has removed compatibility with CMake < 3.5
Bumping minimum required version to 3.5 enables
CMake 4 to build this code.

* Move header into subdir

* Improve CMake setup

This commit configures and installs CMake metadata files. This also
provides the namespaced ALIAS target `cpp-subprocess::subprocess`.

* Update README with CMake instructions

* Update include paths in tests
2025-05-04 20:22:13 +05:30
SoraKatadzuma
40cd59c097
Install guard (#93) 2023-12-03 18:11:52 +05:30
xoviat
64f4dfc2e5
remove changes to quote_argument and bring back ci for all platforms (#91)
* revert channges to quote argument

* ci: add cmake draft

* ci: enable suprocess tests

* cleanup some warnings

* ci: disable nonworking windows tests

* ci: set timeout

* ci: disable nonworking tests on windows

* ci: remove travis

---------

Co-authored-by: xoviat <xoviat@users.noreply.github.com>
2023-08-28 09:54:20 +05:30
Jan Christoph Uhde
d9ed0d606f
chore: improve CMake files (#85) 2023-03-21 08:39:25 +05:30
damageboy
cbc9e82158
Expose headers in cmake project (#77)
Expose through CMake directives, the name of the project so that package managers such as
CPM (https://github.com/cpm-cmake/CPM.cmake) could consume this library cleanly
2022-06-11 11:02:37 +05:30
Elazar Leibovich
0218c51b8c
Namespace library with github name. (#72)
While this is header-only, and users are expected
to download the header and commit it to their project, it's better to
have unique namespace for the header by default.

This has two reasons:

  1. I wish to enable installing it with conan.io, and want to reduce
     the possibility for namespace clashes. The term "subprocess" is
     pretty overloaded.
  2. Currently the README and the CMakeLists differ in their include
     path, it's better to be consistent, even though users can put it
     wherever they please in their project.

Since most users are using it as header only anyway, I don't think it'd
make much diference.

Co-authored-by: Elazar Leibovich <elazar.leibovich@nextsilicon.com>
2022-03-18 09:20:06 +05:30
bibermann
6931e3d69f Add option to disable building tests (#41) 2019-07-11 15:10:02 +05:30
bibermann
3ab04aecaa Add install target (#40) 2019-07-10 22:55:50 +05:30
xoviat
f6799fcc34 WIP: add windows compatibility (#32)
* windows: add util functions

* windows: add cmake files

* windows: add travis.yml

* windows: address compatibility
- set cxx standard
- conditionally exclude codecvt

* windows: improve test coverage

* windows: improve test coverage

* windows: consolidate tests

* windows: disable failing test

* windows: modify read_atmost_n to use file object

* windows: modify read_all to use file object

* windows: update read_all test to use new api

* windows: implement main subprocess logic

* windows: add macro names

* windows: setup comm channels

* windows: compatibility fixes
2019-05-09 22:02:58 +05:30
Arun Muralidharan
871577770a
Revert "WIP: Add windows compatibility (#30)" (#31)
This reverts commit 5d92f4849276aa313dc1ba56c1556f4cca27fc7f.
2019-05-02 12:24:40 +05:30
xoviat
5d92f48492 WIP: Add windows compatibility (#30)
* add package files

* add windows compat to subprocess.hpp

* add test modifications

* repair test_read_all
2019-05-02 12:02:17 +05:30