Skip to content

Commit

Permalink
feat: support FetchContent use in CMake
Browse files Browse the repository at this point in the history
  • Loading branch information
JYLeeLYJ committed Dec 5, 2023
1 parent 2d637af commit fcaf69a
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 15 deletions.
31 changes: 17 additions & 14 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.15)
cmake_minimum_required(VERSION 3.21)
project(yaLanTingLibs
VERSION 0.2.7
DESCRIPTION "yaLanTingLibs"
Expand All @@ -9,21 +9,24 @@ project(yaLanTingLibs
# load pack finder
list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/Find/)

# add include path
include_directories(include)
include_directories(include/ylt/thirdparty)
include_directories(src/include)

find_package(Threads REQUIRED)
link_libraries(Threads::Threads)

include(cmake/utils.cmake)
include(cmake/struct_pb.cmake)
include(cmake/build.cmake)
include(cmake/develop.cmake)
include(cmake/install.cmake)
# add project config, such as enable_ssl.
include(cmake/config.cmake)
# add project's source such as unit test, example & benchmark
include(cmake/subdir.cmake)

if(PROJECT_IS_TOP_LEVEL) # ref:https://cmake.org/cmake/help/latest/variable/PROJECT_IS_TOP_LEVEL.html
# add include path
include_directories(include)
include_directories(include/ylt/thirdparty)
include_directories(src/include)

include(cmake/utils.cmake)
include(cmake/struct_pb.cmake)
include(cmake/build.cmake)
include(cmake/develop.cmake)
# add project config, such as enable_ssl.
include(cmake/config.cmake)
# add project's source such as unit test, example & benchmark
include(cmake/subdir.cmake)
endif()

8 changes: 7 additions & 1 deletion cmake/install.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,14 @@ write_basic_package_version_file(
)
set(ConfigPackageLocation lib/cmake/yalantinglibs)


add_library(yalantinglibs INTERFACE)
add_library(yalantinglibs::yalantinglibs ALIAS yalantinglibs)

target_include_directories(yalantinglibs INTERFACE
$<INSTALL_INTERFACE:include>
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/../include>
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/../include/ylt/thirdparty>
)
install(TARGETS yalantinglibs
EXPORT yalantinglibsTargets
LIBRARY DESTINATION lib
Expand Down

0 comments on commit fcaf69a

Please sign in to comment.