Comments (8)
Where is the strange part?
from project_options.
-- Up-to-date: /Users/clausklein/Workspace/cpp/stage/usr/.//include
-- Up-to-date: /Users/clausklein/Workspace/cpp/stage/usr/.//include/greeter
-- Up-to-date: /Users/clausklein/Workspace/cpp/stage/usr/.//include/greeter/greeter.h
And this info in not right:
cat: /Users/clausklein/Workspace/cpp/stage/usr/share/greeter/usage
find_package(greeter CONFIG REQUIRED)
target_link_libraries(main PRIVATE greeter::greeter greeter::project_options greeter::project_warnings)
see
set_target_properties(greeter::greeter PROPERTIES
INTERFACE_COMPILE_FEATURES "cxx_std_20"
INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
INTERFACE_LINK_LIBRARIES "fmt::fmt;greeter::project_warnings;greeter::project_options"
INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "include"
)
from project_options.
It seems correct to me. I don't see any issue here.
from project_options.
It seems correct to me. I don't see any issue here.
Yes, "seems" it is correct, but may be prevented to be clear.
It looks strange in context of the other install messages. see normal-path
from project_options.
The correct usage message should:
find_package(greeter CONFIG REQUIRED)
target_link_libraries(main PRIVATE greeter::greeter)
from project_options.
It seems correct to me. I don't see any issue here.
Yes, "seems" it is correct, but may be prevented to be clear. It looks strange in context of the other install messages. see normal-path
And discourse.cmake.org/t/target-include-directories-mylib-system-is-exported-without-import-prefix/5359 !
The reporting is just for information and debugging purposes. CMake itself should normalize the paths before installation if that is important for you.
from project_options.
target_link_libraries(main PRIVATE greeter::greeter)
That is subjective. When you export greeter::project_optinos
, you cannot expect CMake to hide that target. Someone might really want to link with greeter::project_options
.
However, it might be useful to add an option to hide this from the usage file.
from project_options.
The correct usage message should:
find_package(greeter CONFIG REQUIRED) target_link_libraries(main PRIVATE greeter::greeter)
This links fmt::fmt;greeter::project_warnings;greeter::project_options
implicitly.
from project_options.
Related Issues (20)
- cmake policy warnings HOT 1
- Macro for installing conan HOT 3
- Doxygen options overwrite HOT 1
- Warning is valid for C++/ObjC++ but not for C
- Cross-compiling HOT 10
- conancenter remote name is not conan's default
- After 0.26, cmake configuration has fail with 'Unable identify compiler architecture for CMAKE_SYSTEM_PROCESSOR' HOT 16
- `target_link_system_directories` dosen't support generator expressions that have semicolons
- Conan server errors inside CI HOT 1
- Support Conan 2 HOT 9
- When compiling with LTO compiler warnings should be passed to the linker. HOT 2
- Add an option to enable GCC 10+ analyzer HOT 2
- Add utility function to check if sanitizers are supported
- dynamic_project_options:
- target_find_dependencies with COMPONENT HOT 2
- target_find_dependencies and pkg-config HOT 10
- Using clang-cl with ENABLE_COVERAGE lead to 'argument unused during compilation: '-O0'' HOT 1
- Bincrafter's Conan repo down HOT 5
- `target_link_system_libraries` might not work with unqouted inputs HOT 2
- Hardening and LTO are not set correctly when using a multi-configuration generator
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 project_options.