Organise the dependencies

This commit is contained in:
2026-03-29 14:10:05 +11:00
parent bf70cbd11b
commit 6861de8fb4
18 changed files with 80 additions and 67 deletions

View File

@@ -5,17 +5,11 @@
# ── Platform-specific base paths ────────────────────────────────
if(WIN32)
set(ANSLIBS_DIR "C:/ANSLibs" CACHE PATH "Root of ANS external libraries")
set(ANLS_ROOT "C:/Projects/ANLS" CACHE PATH "Original ANLS project root")
set(RESEARCH_DIR "C:/Projects/Research/CPlusLibraries" CACHE PATH "Research libraries root")
set(ANSLIBS_DIR "C:/ANSLibs" CACHE PATH "Root of ANS external libraries")
elseif(APPLE)
set(ANSLIBS_DIR "$ENV{HOME}/ANSLibs" CACHE PATH "Root of ANS external libraries")
set(ANLS_ROOT "$ENV{HOME}/Projects/ANLS" CACHE PATH "Original ANLS project root")
set(RESEARCH_DIR "$ENV{HOME}/Projects/Research/CPlusLibraries" CACHE PATH "Research libraries root")
set(ANSLIBS_DIR "$ENV{HOME}/ANSLibs" CACHE PATH "Root of ANS external libraries")
else() # Linux
set(ANSLIBS_DIR "/opt/ANSLibs" CACHE PATH "Root of ANS external libraries")
set(ANLS_ROOT "$ENV{HOME}/Projects/ANLS" CACHE PATH "Original ANLS project root")
set(RESEARCH_DIR "$ENV{HOME}/Projects/Research/CPlusLibraries" CACHE PATH "Research libraries root")
set(ANSLIBS_DIR "/opt/ANSLibs" CACHE PATH "Root of ANS external libraries")
endif()
# ── Platform library suffix helper ──────────────────────────────
@@ -146,19 +140,12 @@ else()
endif()
# ── Boost ───────────────────────────────────────────────────────
find_package(Boost QUIET)
if(Boost_FOUND)
add_library(boost INTERFACE)
target_link_libraries(boost INTERFACE Boost::headers)
message(STATUS "Boost: using system install")
else()
set(BOOST_INCLUDE_DIR "${ANSLIBS_DIR}/boost/include")
set(BOOST_LIB_DIR "${ANSLIBS_DIR}/boost/lib")
add_library(boost INTERFACE)
target_include_directories(boost INTERFACE ${BOOST_INCLUDE_DIR})
target_link_directories(boost INTERFACE ${BOOST_LIB_DIR})
message(STATUS "Boost: using ANSLibs at ${BOOST_INCLUDE_DIR}")
endif()
set(BOOST_INCLUDE_DIR "${ANSLIBS_DIR}/boost/include")
set(BOOST_LIB_DIR "${ANSLIBS_DIR}/boost/lib")
add_library(boost INTERFACE)
target_include_directories(boost INTERFACE ${BOOST_INCLUDE_DIR})
target_link_directories(boost INTERFACE ${BOOST_LIB_DIR})
message(STATUS "Boost: using ANSLibs at ${BOOST_INCLUDE_DIR}")
# ── FFmpeg ──────────────────────────────────────────────────────
find_package(PkgConfig QUIET)
@@ -195,8 +182,8 @@ endif()
# ── TurboJPEG ───────────────────────────────────────────────────
add_library(turbojpeg INTERFACE)
if(WIN32)
target_include_directories(turbojpeg INTERFACE "${ANLS_ROOT}/TurboJpeg")
target_link_directories(turbojpeg INTERFACE "${ANLS_ROOT}/TurboJpeg")
target_include_directories(turbojpeg INTERFACE "${ANSLIBS_DIR}/TurboJpeg")
target_link_directories(turbojpeg INTERFACE "${ANSLIBS_DIR}/TurboJpeg")
target_link_libraries(turbojpeg INTERFACE turbojpeg-static.lib)
else()
find_library(TURBOJPEG_LIB turbojpeg)
@@ -238,8 +225,8 @@ endif()
# ── Chilkat (HTTP/AWS) ──────────────────────────────────────────
add_library(chilkat INTERFACE)
if(WIN32)
set(CHILKAT_INCLUDE_DIR "${RESEARCH_DIR}/chilkat/include")
set(CHILKAT_LIB_DIR "${RESEARCH_DIR}/chilkat/libs")
set(CHILKAT_INCLUDE_DIR "${ANSLIBS_DIR}/chilkat/include")
set(CHILKAT_LIB_DIR "${ANSLIBS_DIR}/chilkat/libs")
target_include_directories(chilkat INTERFACE ${CHILKAT_INCLUDE_DIR})
target_link_directories(chilkat INTERFACE ${CHILKAT_LIB_DIR})
target_link_libraries(chilkat INTERFACE ChilkatRel_x64.lib)
@@ -255,8 +242,8 @@ endif()
# ── ZXing (QR Code) ────────────────────────────────────────────
add_library(zxing INTERFACE)
if(WIN32)
set(ZXING_INCLUDE_DIR "${RESEARCH_DIR}/QRCode")
set(ZXING_LIB_DIR "${RESEARCH_DIR}/QRCode")
set(ZXING_INCLUDE_DIR "${ANSLIBS_DIR}/QRCode")
set(ZXING_LIB_DIR "${ANSLIBS_DIR}/QRCode")
target_include_directories(zxing INTERFACE ${ZXING_INCLUDE_DIR})
target_link_directories(zxing INTERFACE ${ZXING_LIB_DIR})
target_link_libraries(zxing INTERFACE ZXing.lib)
@@ -271,8 +258,8 @@ endif()
add_library(labview INTERFACE)
if(WIN32)
# Code uses #include "LabVIEWHeader/extcode.h", so include the parent dir
set(LABVIEW_INCLUDE_DIR "${RESEARCH_DIR}")
set(LABVIEW_LIB_DIR "${RESEARCH_DIR}/LabVIEWHeader")
set(LABVIEW_INCLUDE_DIR "${ANSLIBS_DIR}")
set(LABVIEW_LIB_DIR "${ANSLIBS_DIR}/LabVIEWHeader")
target_include_directories(labview INTERFACE ${LABVIEW_INCLUDE_DIR})
target_link_directories(labview INTERFACE ${LABVIEW_LIB_DIR})
target_link_libraries(labview INTERFACE labview-x86_64.lib)
@@ -285,17 +272,17 @@ if(spdlog_FOUND)
target_link_libraries(spdlog_dep INTERFACE spdlog::spdlog)
else()
add_library(spdlog_dep INTERFACE)
if(EXISTS "${RESEARCH_DIR}/spdlog-1.12.0/include")
target_include_directories(spdlog_dep INTERFACE "${RESEARCH_DIR}/spdlog-1.12.0/include")
elseif(EXISTS "${ANSLIBS_DIR}/spdlog/include")
if(EXISTS "${ANSLIBS_DIR}/spdlog/include")
target_include_directories(spdlog_dep INTERFACE "${ANSLIBS_DIR}/spdlog/include")
elseif(FALSE) # placeholder
target_include_directories(spdlog_dep INTERFACE "${ANSLIBS_DIR}/spdlog/include")
endif()
endif()
# ── vcpkg installed libs ────────────────────────────────────────
if(WIN32)
set(VCPKG_INCLUDE_DIR "${RESEARCH_DIR}/vcpkg/installed/x64-windows/include")
set(VCPKG_LIB_DIR "${RESEARCH_DIR}/vcpkg/installed/x64-windows/lib")
set(VCPKG_INCLUDE_DIR "${ANSLIBS_DIR}/vcpkg/include")
set(VCPKG_LIB_DIR "${ANSLIBS_DIR}/vcpkg/lib")
add_library(vcpkg_libs INTERFACE)
target_include_directories(vcpkg_libs INTERFACE ${VCPKG_INCLUDE_DIR})
target_link_directories(vcpkg_libs INTERFACE ${VCPKG_LIB_DIR})