forked from boostorg/system
Compare commits
2 Commits
esp-idf-co
...
feature/cm
Author | SHA1 | Date | |
---|---|---|---|
c306d479e8 | |||
49b3580adf |
8
CMakeLists.txt
Normal file
8
CMakeLists.txt
Normal file
@ -0,0 +1,8 @@
|
||||
cmake_minimum_required(VERSION 3.5)
|
||||
|
||||
include(cmake/BoostVersion.cmake)
|
||||
set(BOOST_PROJECT_NAME system)
|
||||
|
||||
project(boost_${BOOST_PROJECT_NAME} VERSION ${BOOST_VERSION} LANGUAGES CXX)
|
||||
|
||||
include(cmake/default.cmake)
|
1
cmake/BoostVersion.cmake
Normal file
1
cmake/BoostVersion.cmake
Normal file
@ -0,0 +1 @@
|
||||
set(BOOST_VERSION 1.65.0)
|
20
cmake/Jamfile
Normal file
20
cmake/Jamfile
Normal file
@ -0,0 +1,20 @@
|
||||
# Update cmake files
|
||||
|
||||
install BoostVersion_ : ../../../BoostVersion.cmake : <location>. ;
|
||||
install default_ : ../../../cmake/default.cmake : <location>. ;
|
||||
|
||||
# Update dependencies
|
||||
|
||||
import path ;
|
||||
|
||||
path-constant LIBDIR : .. ;
|
||||
|
||||
actions boostdep-cmake
|
||||
{
|
||||
"$(LIBDIR)/../../dist/bin/boostdep" --cmake $(LIBDIR:B) > $(1)
|
||||
}
|
||||
|
||||
make dependencies.cmake : : @boostdep-cmake ;
|
||||
always dependencies.cmake ;
|
||||
|
||||
install dependencies_ : dependencies.cmake : <location>. ;
|
103
cmake/default.cmake
Normal file
103
cmake/default.cmake
Normal file
@ -0,0 +1,103 @@
|
||||
#
|
||||
# Default CMakeLists.txt contents for a Boost library
|
||||
#
|
||||
|
||||
# sources.cmake defines ${PROJECT_NAME}_SOURCES
|
||||
include(cmake/sources.cmake)
|
||||
|
||||
if("${${PROJECT_NAME}_SOURCES}" STREQUAL "")
|
||||
|
||||
# if no sources, this is a header-only library
|
||||
add_library(boost_${BOOST_PROJECT_NAME} INTERFACE)
|
||||
|
||||
# include directory
|
||||
target_include_directories(${PROJECT_NAME} INTERFACE
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
|
||||
$<INSTALL_INTERFACE:include>
|
||||
)
|
||||
|
||||
else()
|
||||
|
||||
# a library that requires building
|
||||
add_library(${PROJECT_NAME} ${${PROJECT_NAME}_SOURCES})
|
||||
|
||||
# include directory
|
||||
target_include_directories(${PROJECT_NAME} PUBLIC
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
|
||||
$<INSTALL_INTERFACE:include>
|
||||
)
|
||||
|
||||
endif()
|
||||
|
||||
# add namespaced alias
|
||||
add_library(boost::${BOOST_PROJECT_NAME} ALIAS ${PROJECT_NAME})
|
||||
|
||||
# set imported target name to the unqualified name, it will be namespaced
|
||||
set_property(TARGET ${PROJECT_NAME} PROPERTY EXPORT_NAME ${BOOST_PROJECT_NAME})
|
||||
|
||||
# link to dependencies
|
||||
include(CMakeFindDependencyMacro)
|
||||
|
||||
function(boost_declare_dependency package type target)
|
||||
|
||||
target_link_libraries(${PROJECT_NAME} ${type} ${target})
|
||||
|
||||
if(${CMAKE_CURRENT_SOURCE_DIR} STREQUAL ${CMAKE_SOURCE_DIR})
|
||||
|
||||
find_dependency(${package} ${PROJECT_VERSION} EXACT)
|
||||
|
||||
endif()
|
||||
|
||||
endfunction()
|
||||
|
||||
include(cmake/dependencies.cmake)
|
||||
|
||||
# target installation
|
||||
install(TARGETS ${PROJECT_NAME} EXPORT ${PROJECT_NAME}-targets
|
||||
RUNTIME DESTINATION bin
|
||||
LIBRARY DESTINATION lib
|
||||
ARCHIVE DESTINATION lib
|
||||
INCLUDES DESTINATION include
|
||||
)
|
||||
|
||||
# header installation
|
||||
install(DIRECTORY include/ DESTINATION include)
|
||||
|
||||
# export target info to ${PROJECT_NAME}-targets.cmake, used by -config.cmake
|
||||
install(EXPORT ${PROJECT_NAME}-targets
|
||||
FILE ${PROJECT_NAME}-targets.cmake
|
||||
NAMESPACE boost::
|
||||
DESTINATION lib/cmake/${PROJECT_NAME}-${PROJECT_VERSION}
|
||||
)
|
||||
|
||||
# install -dependencies.cmake, used by -config.cmake
|
||||
|
||||
install(FILES cmake/dependencies.cmake
|
||||
DESTINATION lib/cmake/${PROJECT_NAME}-${PROJECT_VERSION}
|
||||
RENAME ${PROJECT_NAME}-dependencies.cmake
|
||||
)
|
||||
|
||||
# write ${PROJECT_NAME}-config.cmake
|
||||
file(WRITE "${PROJECT_BINARY_DIR}/${PROJECT_NAME}-config.cmake" "
|
||||
include(\${CMAKE_CURRENT_LIST_DIR}/${PROJECT_NAME}-targets.cmake)
|
||||
include(CMakeFindDependencyMacro)
|
||||
function(boost_declare_dependency package type target)
|
||||
find_dependency(\${package} ${PROJECT_VERSION} EXACT)
|
||||
endfunction()
|
||||
include(\${CMAKE_CURRENT_LIST_DIR}/${PROJECT_NAME}-dependencies.cmake)
|
||||
")
|
||||
|
||||
include(CMakePackageConfigHelpers)
|
||||
|
||||
# write ${PROJECT_NAME}-config-version.cmake
|
||||
write_basic_package_version_file("${PROJECT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake"
|
||||
VERSION ${PROJECT_VERSION}
|
||||
COMPATIBILITY AnyNewerVersion
|
||||
)
|
||||
|
||||
# install -config, -config-version
|
||||
install(FILES
|
||||
"${PROJECT_BINARY_DIR}/${PROJECT_NAME}-config.cmake"
|
||||
"${PROJECT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake"
|
||||
DESTINATION lib/cmake/${PROJECT_NAME}-${PROJECT_VERSION}
|
||||
)
|
8
cmake/dependencies.cmake
Normal file
8
cmake/dependencies.cmake
Normal file
@ -0,0 +1,8 @@
|
||||
# Generated file. Do not edit.
|
||||
|
||||
boost_declare_dependency(boost_assert PUBLIC boost::assert)
|
||||
boost_declare_dependency(boost_config PUBLIC boost::config)
|
||||
boost_declare_dependency(boost_core PUBLIC boost::core)
|
||||
boost_declare_dependency(boost_predef PUBLIC boost::predef)
|
||||
boost_declare_dependency(boost_winapi PUBLIC boost::winapi)
|
||||
|
3
cmake/sources.cmake
Normal file
3
cmake/sources.cmake
Normal file
@ -0,0 +1,3 @@
|
||||
set(${PROJECT_NAME}_SOURCES
|
||||
src/error_code.cpp
|
||||
)
|
Reference in New Issue
Block a user