Skip to content

Commit 385241f

Browse files
Fixed dependencies in the CMakeLists.txt so they work with packages from sources other than vcpkg (#273)
1 parent e34440c commit 385241f

File tree

1 file changed

+27
-19
lines changed

1 file changed

+27
-19
lines changed

CMakeLists.txt

Lines changed: 27 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -109,13 +109,18 @@ if (REFLECTCPP_CBOR)
109109
list(APPEND REFLECT_CPP_SOURCES
110110
src/reflectcpp_cbor.cpp
111111
)
112-
target_include_directories(reflectcpp SYSTEM PRIVATE "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include")
113-
target_include_directories(reflectcpp SYSTEM PRIVATE "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include/tinycbor")
114-
if (MSVC)
115-
target_link_libraries(reflectcpp PRIVATE "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib/tinycbor${CMAKE_STATIC_LIBRARY_SUFFIX}")
116-
else ()
117-
target_link_libraries(reflectcpp PRIVATE "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib/libtinycbor${CMAKE_STATIC_LIBRARY_SUFFIX}")
118-
endif ()
112+
if(REFLECTCPP_USE_VCPKG)
113+
target_include_directories(reflectcpp SYSTEM PRIVATE "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include")
114+
target_include_directories(reflectcpp SYSTEM PRIVATE "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include/tinycbor")
115+
if (MSVC)
116+
target_link_libraries(reflectcpp PRIVATE "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib/tinycbor${CMAKE_STATIC_LIBRARY_SUFFIX}")
117+
else ()
118+
target_link_libraries(reflectcpp PRIVATE "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib/libtinycbor${CMAKE_STATIC_LIBRARY_SUFFIX}")
119+
endif ()
120+
else()
121+
find_package(tinycbor)
122+
target_link_libraries(reflectcpp PUBLIC tinycbor::tinycbor)
123+
endif()
119124
endif ()
120125

121126
if (REFLECTCPP_FLEXBUFFERS)
@@ -131,30 +136,33 @@ if (REFLECTCPP_MSGPACK)
131136
src/reflectcpp_msgpack.cpp
132137
)
133138
find_package(msgpack-c CONFIG REQUIRED)
134-
if (MSVC)
135-
target_link_libraries(reflectcpp PRIVATE "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib/msgpack-c${CMAKE_STATIC_LIBRARY_SUFFIX}")
136-
else ()
137-
target_link_libraries(reflectcpp PRIVATE "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib/libmsgpack-c${CMAKE_STATIC_LIBRARY_SUFFIX}")
138-
endif ()
139+
target_link_libraries(reflectcpp PUBLIC msgpack-c)
139140
endif ()
140141

141142
if (REFLECTCPP_TOML)
142143
list(APPEND REFLECT_CPP_SOURCES
143144
src/reflectcpp_toml.cpp
144145
)
145-
target_include_directories(reflectcpp SYSTEM PRIVATE "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include")
146-
if (MSVC)
147-
target_link_libraries(reflectcpp PRIVATE "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib/tomlplusplus${CMAKE_STATIC_LIBRARY_SUFFIX}")
148-
else ()
149-
target_link_libraries(reflectcpp PRIVATE "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib/libtomlplusplus${CMAKE_STATIC_LIBRARY_SUFFIX}")
150-
endif ()
146+
if(REFLECTCPP_USE_VCPKG)
147+
target_include_directories(reflectcpp SYSTEM PRIVATE "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include")
148+
if (MSVC)
149+
target_link_libraries(reflectcpp PRIVATE "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib/tomlplusplus${CMAKE_STATIC_LIBRARY_SUFFIX}")
150+
else ()
151+
target_link_libraries(reflectcpp PRIVATE "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib/libtomlplusplus${CMAKE_STATIC_LIBRARY_SUFFIX}")
152+
endif ()
153+
else()
154+
find_package(tomlplusplus)
155+
target_link_libraries(reflectcpp PUBLIC tomlplusplus::tomlplusplus)
156+
endif()
151157
endif()
152158

153159
if (REFLECTCPP_UBJSON)
154160
list(APPEND REFLECT_CPP_SOURCES
155161
src/reflectcpp_ubjson.cpp
156162
)
157-
target_include_directories(reflectcpp SYSTEM PRIVATE "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include")
163+
if(REFLECTCPP_USE_VCPKG)
164+
target_include_directories(reflectcpp SYSTEM PRIVATE "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include")
165+
endif()
158166
find_package(jsoncons CONFIG REQUIRED)
159167
endif ()
160168

0 commit comments

Comments
 (0)