Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
build: append JOB_POOLS definition instead of setting it
in 18f43a0, a job definition is added for serialization the calls to openssl commands. it sets the global property named "JOB_POOLS". assuming we have a parent project which uses Seastar. if: - it is also using CMake and include Seastar as a subdirectory in its CMake building system, and - it is also using "JOB_POOLS", and - it sets this variable before Seastar does. this variable's value will be overwritten by Seastar. and all of the targets using the pool(s) defined by it won't be able to find the defined pool(s) anymore. the typical error message would look like ``` CMake Error: Running '/home/kefu/.local/bin/ninja' '-C' '/home/kefu/dev/scylladb/build/cmake-test' '-t' 'recompact' failed with: ninja: error: build.ninja:1360: unknown pool name 'link_pool' ``` where CMake is able to create the building system. but ninja is not able to find the definition of the pool. so, in order to address this problem, in this changes 1. move the command which sets the JOB_POOLS property closer to where this pool is used. 2. instead setting the property, add "openssl_serial=1" to to it. so the existing value of this property is not overwritten. since `seastar_gen_mtls_certs()` is only called once, and is not supposed to be reused. we don't need to worry about failures like: ``` ninja: error: CMakeFiles/rules.ninja:26: duplicate pool 'openssl_serial' ``` Signed-off-by: Kefu Chai <[email protected]>
- Loading branch information