Comments (3)
Hi @lambtonr
Thanks for your question.
Yes, the test_package_folder
is read at export
time, very early, so changing it in any method will have no effect.
Have you considered doing different logic in the test_package
folder based on the self.tested_reference_str
value, that will contain the tested version too?
from conan.
Hi @memsharded
Thanks for the advice.
i have added the following logic to my test package i dont know if this is what you intended, but it works.
conanfile.py
def generate(self):
tc = CMakeToolchain(self)
tc.variables["PACKAGE_V1"] = Version(self.tested_reference_str.split('/')[1].split('@')[0]) < "2.0.0"
tc.generate()
CMakeLists.txt
if (PACKAGE_V1)
add_executable(${PROJECT_NAME} test_v1_package.cpp)
else ()
add_executable(${PROJECT_NAME} test_package.cpp)
endif()
Looking at this now i think it is may be better to specify a different `build_script_folder' in the 'cmake.configure()'
from conan.
yes, exactly something like that, using the tested_reference_str
extract its version, and use it to decide what to do differently in the test_package/conanfile.py. Looks good enough to me. Depending on the amount of changes, you could do that, selecting one or other folder, sounds good too if there are too many changes in the CMakeLists.txt
from conan.
Related Issues (20)
- [bug] detect_api.detect_clang_compiler(compiler_exe="clang") returns an incorrect version HOT 3
- [bug] Spurious leading spaces in generated conanbuildenv shell scripts HOT 6
- cmake find_package failed when use conanfile.py HOT 1
- [question] Support for avoiding the upload of new recipe revisions in conan upload? HOT 6
- [question] Building libX11 with conan HOT 1
- [question] How to explicitly pass a build directory to `CMake.build()`? HOT 12
- [question] Header only package - cannot access headers HOT 3
- package_info cpp_info components HOT 4
- [question] Is it possible to pass git credentials when doing conan config install HOT 3
- [question] How to access `self.options` of a parent library package from its test package? HOT 2
- [bug] MSVC build issue not reproduceable on linux HOT 9
- Autotools packages are ignoring host profile and building for the build profile HOT 7
- [question] What is the replacement to the `CMake.definitions` list in Conan 2? HOT 4
- [question] Conan with CMake failing only in CI pipeline but not on local machine. HOT 7
- [bug] Duplicate dependencies created by CMakeDeps
- [question] conan build or cmake --build cannot find header files HOT 4
- [question] Info on best way to debug/develop packages HOT 4
- [bug] cmake.ctest arguments are not treated properly HOT 2
- [question] Building test package: how to find the includes of the library under test? HOT 4
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 conan.