I have implement some code, and want to generate myself package.
My CMakeLists.txt looks like:
...
install(TARGETS pA pB ...
EXPORT SustaoBasic
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
)
install(DIRECTORY package/ DESTINATION include
FILES_MATCHING PATTERN "*.h"
)
install(EXPORT SustaoBasic
FILE SustaoBasic.cmake
NAMESPACE SustaoBasic::
DESTINATION lib/cmake
)
include(CMakePackageConfigHelpers)
write_basic_package_version_file(
SustaoBasicConfigVersion.cmake
VERSION V1.0
COMPATIBILITY AnyNewerVersion # 表示该函数库向下兼容
)
configure_package_config_file(
SustaoBasicConfig.cmake.in ${PROJECT_BINARY_DIR}/SustaoBasicConfig.cmake
INSTALL_DESTINATION lib/cmake
)
install(FILES "${PROJECT_BINARY_DIR}/SustaoBasicConfig.cmake"
"${PROJECT_BINARY_DIR}/SustaoBasicConfigVersion.cmake"
DESTINATION lib/cmake)
I can sucessfully generate myself package. However, bug is reported when I use it.
I use it by:
find_package(SustaoBasic)
target_link_libraries(Pro SustaoBasic::DataObject)
After building, vs reported: can not open VTK::GUISupportQtSQL.lib
. It really make me confuzed.
-
I think the original
SustaoBasic::DataObject
do not link toVTK::GUISupportQtSQL.lib
, because my builtVTK
package do not openVTK_GUISupportQtSQL
:
And I can not find
vtkGUISupportQtSQL.lib
in myVTK
package after searching allqt
relatived lib:
-
The project has no bug when I use the source code of
SustaoBasic
. Where is this bug from when I usefind_package()
to loadSustaoBasic::DataObject
?
Any suggestion is appreciated~~~