SE
Size: a a a
SE
SE
II
II
SE
II
AZ
II
utils
, в нём полсотни независимых и не очень библиотек и полдюжины мелких утилитCMakeLists.txt
на полторы тыщщи строк, в конце которого указывается, что из этого нужно собрать в зависимости от конфигурации (винда/линух/мак/арм * сервер/клиент и так далее). указывается через add_custom_target(to_build); if(x) add_dependencies(to_build 1 2 3 4 ...) elseif(y) ...
в конечном итоге я надеюсь это раздробить по отдельным подпапкам, но потенциально может остаться прикол "собираясь на винде, пытаемся подтащить арм-онли библиотеки, и жалуемся в лог что не нашли"; библиотеки могут быть как наши из utils, так и сторонние от вендора железки, хотя для сборки не нужно ни то ни другоеfind_package
, а указания что собирать давать в корневом cmakelists через if(x) add_subdirectory(1, 2, 3, 4) elseif(y) add_subdirectory(2, 4, 5)
?AO
AO
II
AO
EP
EP
II
chrono, date_time, exception, filesystem, iostreams, regex, system, thread
.sofind_package(Boost REQUIRED COMPONENTS ...)
, линкую к своей либе Boost::thread
, получаю:Target "netmgr" links to target "Boost::atomic" but the target was not found.
при этом атомики у нас широко используются и точно работаютII
COMPONENTS
явно указать atomic
, то Could not find the following Boost libraries: boost_atomic
II
if(NOT Boost_ATOMIC_FOUND)
add_library(dummy dummy.cpp)
add_library(Boost::atomic UNKNOWN IMPORTED)
add_dependencies(Boost::atomic dummy)
set_target_properties(Boost::atomic PROPERTIES IMPORTED_LOCATION ${CMAKE_CURRENT_BINARY_DIR}/libdummy.a)
endif()
DA
AO
AO