diff --git a/CMakeLists.txt b/CMakeLists.txt index 58fcb09b..187ed198 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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)