I have been struggling with this for some time. I use CPM package manager to pull libraries from github for my project. I prefer it this way, instead of other linking methods. I also tried gh:boostorg/dynamic_bitset but that gave me issues as well. I was able to get cmake to generate for the cMakeList below.
The header #include <boost/dynamic_bitset.hpp> is underlined in purple (I use visual studio), "cannot open source file 'boost/dynamic_bitset.hpp'"
cmake_minimum_required( VERSION 3.5 )
find_package(Git)
include(get_cpm.cmake)
set(SFML_BUILD_EXAMPLES OFF)
set(BUILD_SHARED_LIBS OFF)
set(SFML_DIR "${SFML_SOURCE_DIR}")
set(TGUI_BACKEND "SFML_GRAPHICS")
CPMAddPackage("gh:skypjack/entt#v3.10.1")
CPMAddPackage("gh:SFML/SFML#2.6.x")
CPMAddPackage("gh:texus/TGUI@1.1.0")
CPMAddPackage("gh:nlohmann/json@3.11.2")
CPMAddPackage("gh:boostorg/boost#boost-1.83.0")
project( Eridanus )
find_package( OpenGL REQUIRED )
include_directories( ${OPENGL_INCLUDE_DIRS} )
get_filename_component(PARENT_DIR ../ ABSOLUTE)
include_directories(
${PROJECT_SOURCE_DIR}
"${PARENT_DIR}/Eridanus4x/headers"
"${PARENT_DIR}/Eridanus4x"
"${PARENT_DIR}/Eridanus4x/SelbaWard"
)
add_executable(${CMAKE_PROJECT_NAME}
main.cpp
game.cpp
.... etc.
target_link_libraries(${PROJECT_NAME} PRIVATE sfml-graphics sfml-window sfml-system EnTT::EnTT TGUI::TGUI nlohmann_json::nlohmann_json Boost::dynamic_bitset)
option(BUILD_EXAMPLES "Build examples" OFF)
Weird it won't work the way CPM usually allows me, replacing the CPMAddPackage line for boost with the one below resolved it. CPMAddPackage( NAME Boost URL "https://github.com/boostorg/boost/releases/download/boost-1.83.0/boost-1.83.0.tar.xz")