Only include externals when actually needed

This adds an option to use the system library for HIDAPI if enabled, and
gates the misc and regex external libraries to only the platforms where
they're actually needed.
This commit is contained in:
Davide Cavalca 2025-04-09 09:17:04 -07:00
parent 5736b0f601
commit dbc60068ef
1 changed files with 15 additions and 4 deletions

View File

@ -14,6 +14,7 @@ option(FORCE_SSE "Compile with SSE instruction only" ON)
option(FORCE_SSSE3 "Compile with SSSE3 instruction only" OFF)
option(FORCE_SSE41 "Compile with SSE4.1 instruction only" OFF)
option(OPTIONAL_TEST "Compile optional test (might be broken)" OFF)
option(USE_SYSTEM_HIDAPI "Use the system library for hidapi" OFF)
# UNITTEST option must be after CMAKE_BUILT_TYPE
# where cmake find custom modules
@ -72,7 +73,11 @@ set(CUSTOM_SRC_DIR "${CMAKE_SOURCE_DIR}/src")
set(CUSTOM_EXTERNAL_DIR "${CMAKE_SOURCE_DIR}/external")
set(CUSTOM_MISC_DIR "${CUSTOM_EXTERNAL_DIR}/misc")
set(CUSTOM_REGEX_DIR "${CUSTOM_EXTERNAL_DIR}/regex")
set(CUSTOM_HIDAPI_DIR "${CUSTOM_EXTERNAL_DIR}/hidapi")
if(USE_SYSTEM_HIDAPI)
find_package(hidapi REQUIRED)
else()
set(CUSTOM_HIDAPI_DIR "${CUSTOM_EXTERNAL_DIR}/hidapi")
endif()
set(CUSTOM_GEOTRANZ_DIR "${CUSTOM_EXTERNAL_DIR}/geotranz")
set(CUSTOM_DATA_DIR "${CMAKE_SOURCE_DIR}/data")
set(CUSTOM_SCRIPTS_DIR "${CMAKE_SOURCE_DIR}/scripts")
@ -374,9 +379,15 @@ add_subdirectory(data)
# external libraries
add_subdirectory(${CUSTOM_GEOTRANZ_DIR})
add_subdirectory(${CUSTOM_REGEX_DIR})
add_subdirectory(${CUSTOM_HIDAPI_DIR})
add_subdirectory(${CUSTOM_MISC_DIR})
if(WIN32)
add_subdirectory(${CUSTOM_REGEX_DIR})
endif()
if(NOT USE_SYSTEM_HIDAPI)
add_subdirectory(${CUSTOM_HIDAPI_DIR})
endif()
if(NOT LINUX)
add_subdirectory(${CUSTOM_MISC_DIR})
endif()
# direwolf source code and utilities
add_subdirectory(src)