vcpkg/ports/quickfast/CMakeLists.txt
Yury Bura 8ccb84df72
[boost] Update to v1.84.0 (#35693)
* [scripts] update Boost ports generation script, fixes #35187

* [boost] remove obsolete patches and re-generate ports

* update versions

* [boost] remove redundant vcpkg_minimum_required

* update versions

* [scripts/boost] update dependencies to config/checks, review b2-options.cmake files

* [boost-*] regenerate ports

* [boost-locale] fix patch

* update versions

* [boost-serialization] fix checks

* update version

* [boost-*] better fixes related to the config checks

* update version

* [boost-cobalt] fix build

* update versions

* [liblas] Boost v1.84.0 requires C++11

* [pcl] fix Unix build

* add versions

* [vcpkg-cmake-get-vars] add CMAKE_<LANG>_COMPILER_VERSION

* [boost-cobalt] detect compiler

* [coin] force C++11

* [json5-parser] force C++11

* add versions

* [boost-cobalt] exclude iOS and Android platforms due to C++ Concepts library is not supported

* [gtsam] force C++11

* [kenlm] force C++11

* [quickfast] force C++11

* [liblas] force C++11

* update versions

* [boost] re-generate port

* update version

* [kenlm] revert changes

* [boost-cobalt] exclude OSX

* update versions

* [plc] remove useless patch after merge

* update versions after merge

---------

Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
2024-01-22 10:56:30 -08:00

57 lines
1.5 KiB
CMake

cmake_minimum_required(VERSION 3.13)
project(quickfast CXX)
set(CMAKE_CXX_STANDARD 11) # Boost v1.84.0 libraries require C++11
option(BUILD_SHARED_LIBS "Build shared instead of static library" ON)
find_package(Boost REQUIRED COMPONENTS thread)
find_package(XercesC REQUIRED)
file(GLOB SOURCES
quickfast/Application/*.cpp
quickfast/Common/*.cpp
quickfast/Codecs/*.cpp
quickfast/Communication/*.cpp
quickfast/Messages/*.cpp
)
file(GLOB HEADERS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
quickfast/Application/*.h
quickfast/Common/*.h
quickfast/Codecs/*.h
quickfast/Communication/*.h
quickfast/Messages/*.h
)
if(BUILD_SHARED_LIBS)
add_library(quickfast SHARED ${HEADERS} ${SOURCES})
target_compile_definitions(quickfast PRIVATE -DQUICKFAST_BUILD_DLL)
else()
add_library(quickfast STATIC ${HEADERS} ${SOURCES})
target_compile_definitions(quickfast PUBLIC -DQUICKFAST_HAS_DLL=0)
endif()
target_include_directories(quickfast PUBLIC
$<INSTALL_INTERFACE:include>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
$<BUILD_INTERFACE:${Boost_INCLUDE_DIRS}>
)
target_link_libraries(quickfast PRIVATE
${Boost_LIBRARIES}
XercesC::XercesC
)
install(TARGETS quickfast EXPORT quickfast-config
RUNTIME DESTINATION bin
ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib
)
install(EXPORT quickfast-config DESTINATION share/cmake/quickfast)
foreach (HEADER ${HEADERS} )
get_filename_component(HEADER_DIR ${HEADER} DIRECTORY)
install(FILES ${HEADER} DESTINATION include/${HEADER_DIR})
endforeach()