Browse Source

DLL创建依赖VS

VSbuild_required
郑敬润 9 months ago
parent
commit
270bfd629e
  1. 28
      CMakeLists.txt

28
CMakeLists.txt

@ -30,28 +30,15 @@ configure_file(config.h.in config.h)
#------------REQUIRED_5.1.1 find_package ------------#
# CMAKE_PREFIX_PATH find_package config
if (APPLE)
list(PREPEND CMAKE_PREFIX_PATH /Users/yony/CODE/Dependencies) # MacOS
# Settign pkg-config for tinyxml usage
set(ENV{PKG_CONFIG_PATH} /opt/homebrew/lib/pkgconfig/)
find_package(PkgConfig)
pkg_search_module(TINYXML REQUIRED tinyxml)
message(STATUS "=== TINYXML_LIBRARIES: ${TINYXML_LIBRARIES}")
message(STATUS "=== TINYXML_INCLUDE_DIRS: ${TINYXML_INCLUDE_DIRS}")
elseif (WIN32)
list(PREPEND CMAKE_PREFIX_PATH D:/SOURCE/Dependencies) # Windows
set(CMAKE_TOOLCHAIN_FILE "D:\\vcpkg\\scripts\\buildsystems\\vcpkg.cmake") # vcpkg
include(${CMAKE_TOOLCHAIN_FILE})
find_package(tinyxml CONFIG REQUIRED)
elseif (UNIX)
list(PREPEND CMAKE_PREFIX_PATH /home/yony/PROJECTS/Dependencies) # Linux
find_package(tinyxml CONFIG REQUIRED)
endif()
# find_package
message(STATUS "CMAKE_SYSTEM_PREFIX_PATH: ${CMAKE_SYSTEM_PREFIX_PATH}")
message(STATUS "Self added CMAKE_PREFIX_PATH: ${CMAKE_PREFIX_PATH}")
# CONFIG <deps_dir>/share/<lib_name>/cmake/xxxConfig.cmake
# find_package(tinyxml CONFIG REQUIRED)
find_package(tinyxml CONFIG REQUIRED)
#------------REQUIRED_5.1.2 include .cmakeContentFetch------------#
# cmakeCMAKE_MODULE_PATH include 使
@ -82,18 +69,11 @@ add_executable(
# CMakeLists.txt
# target_include_directories <lib_name>/include <LIB_NAME>_INCLUDE_DIRS
if (WIN32)
target_link_libraries(
${PROJECT_NAME} PUBLIC
unofficial-tinyxml::unofficial-tinyxml
${CMAKE_SOURCE_DIR}/lib/VSbuild/x64/Debug/WireRouting_DLL.lib
)
else()
target_link_libraries(
${PROJECT_NAME} PUBLIC
/opt/homebrew/Cellar/tinyxml/2.6.2/lib/libtinyxml.dylib
)
endif()
#------------OPTIONAL_1.2 config.h------------#
@ -106,8 +86,8 @@ target_include_directories(
${PROJECT_BINARY_DIR} # config.h.in build
${CMAKE_SOURCE_DIR}/include
${CMAKE_SOURCE_DIR}/lib/include
${TINYXML_INCLUDE_DIR} # tinyxml
${TINYXML_INCLUDE_DIRS} # pkg-config tinyxml dir
${TINYXML_INCLUDE_DIR} # vcpkgtinyxml
${TINYXML_INCLUDE_DIRS} # pkg-config tinyxml dirMacOS
)
# TODO: MSVC msvc_19.29_cxx11_32_md_debugdll/lib
Loading…
Cancel
Save