From 7f2228683826afb3b14cd3ebeab766b598250b7a Mon Sep 17 00:00:00 2001 From: Kyle Schwarz Date: Mon, 17 Oct 2022 21:01:15 -0400 Subject: [PATCH] Build: Only search for enabled drivers --- CMakeLists.txt | 68 ++++++++++++++++++++++++++------------------------ 1 file changed, 35 insertions(+), 33 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 94d439c..0c04a52 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -96,7 +96,7 @@ if(LIBICSNEO_BUILD_DOCS) endif() endif() -if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows") +if(WIN32) set(PLATFORM_SRC platform/windows/registry.cpp ) @@ -287,29 +287,42 @@ set_property(TARGET fatfs PROPERTY POSITION_INDEPENDENT_CODE ON) target_link_libraries(icsneocpp PRIVATE fatfs) # libftdi -if(NOT WIN32) - target_include_directories(icsneocpp PUBLIC third-party/libftdi/src) - set(LIBFTDI_DOCUMENTATION OFF CACHE INTERNAL "") - set(LIBFTDI_BUILD_TESTS OFF CACHE INTERNAL "") - set(LIBFTDI_INSTALL OFF CACHE INTERNAL "") - set(LIBFTDI_PYTHON_BINDINGS OFF CACHE INTERNAL "") - set(LIBFTDI_LINK_PYTHON_LIBRARY OFF CACHE INTERNAL "") - set(FTDIPP OFF CACHE INTERNAL "") - set(FTDI_EEPROM OFF CACHE INTERNAL "") - add_subdirectory(third-party/libftdi) - target_include_directories(icsneocpp PRIVATE ${LIBUSB_INCLUDE_DIR}) -endif(NOT WIN32) +if(LIBICSNEO_ENABLE_FTDI) + if(NOT WIN32) + target_include_directories(icsneocpp PUBLIC third-party/libftdi/src) + set(LIBFTDI_DOCUMENTATION OFF CACHE INTERNAL "") + set(LIBFTDI_BUILD_TESTS OFF CACHE INTERNAL "") + set(LIBFTDI_INSTALL OFF CACHE INTERNAL "") + set(LIBFTDI_PYTHON_BINDINGS OFF CACHE INTERNAL "") + set(LIBFTDI_LINK_PYTHON_LIBRARY OFF CACHE INTERNAL "") + set(FTDIPP OFF CACHE INTERNAL "") + set(FTDI_EEPROM OFF CACHE INTERNAL "") + add_subdirectory(third-party/libftdi) + target_include_directories(icsneocpp PRIVATE ${LIBUSB_INCLUDE_DIR}) -# winpcap -if(WIN32) - if(LIBICSNEO_NPCAP_INCLUDE_DIR STREQUAL "") - target_include_directories(icsneocpp PUBLIC AFTER third-party/winpcap/include) - add_definitions(-DWPCAP -DHAVE_REMOTE -DWIN32_LEAN_AND_MEAN) + find_package(Threads) + set_property(TARGET ftdi1-static PROPERTY POSITION_INDEPENDENT_CODE ON) + target_link_libraries(icsneocpp PUBLIC ftdi1-static) + target_link_libraries(icsneocpp PUBLIC ${CMAKE_THREAD_LIBS_INIT}) + endif(NOT WIN32) +endif(LIBICSNEO_ENABLE_FTDI) + +# pcap +if(LIBICSNEO_ENABLE_RAW_ETHERNET) + if(WIN32) + if(LIBICSNEO_NPCAP_INCLUDE_DIR STREQUAL "") + target_include_directories(icsneocpp PUBLIC AFTER third-party/winpcap/include) + add_definitions(-DWPCAP -DHAVE_REMOTE -DWIN32_LEAN_AND_MEAN) + else() + target_include_directories(icsneocpp PUBLIC AFTER ${LIBICSNEO_NPCAP_INCLUDE_DIR}) + add_definitions(-DNPCAP -DWIN32_LEAN_AND_MEAN) + endif() else() - target_include_directories(icsneocpp PUBLIC AFTER ${LIBICSNEO_NPCAP_INCLUDE_DIR}) - add_definitions(-DNPCAP -DWIN32_LEAN_AND_MEAN) - endif() -endif(WIN32) + find_package(PCAP REQUIRED) + target_include_directories(icsneocpp PUBLIC ${PCAP_INCLUDE_DIR}) + target_link_libraries(icsneocpp PUBLIC ${PCAP_LIBRARY}) + endif(WIN32) +endif(LIBICSNEO_ENABLE_RAW_ETHERNET) if(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin") target_link_libraries(icsneocpp PUBLIC "-framework CoreFoundation" "-framework IOKit") @@ -359,17 +372,6 @@ if(LIBICSNEO_BUILD_ICSNEOLEGACY) target_compile_features(icsneolegacy PRIVATE cxx_auto_type cxx_constexpr cxx_lambdas cxx_nullptr cxx_range_for cxx_rvalue_references cxx_sizeof_member cxx_strong_enums) endif() -# libftdi -if(NOT WIN32) - find_package(Threads) - set_property(TARGET ftdi1-static PROPERTY POSITION_INDEPENDENT_CODE ON) - target_link_libraries(icsneocpp PUBLIC ftdi1-static) - target_link_libraries(icsneocpp PUBLIC ${CMAKE_THREAD_LIBS_INIT}) - find_package(PCAP REQUIRED) - target_include_directories(icsneocpp PUBLIC ${PCAP_INCLUDE_DIR}) - target_link_libraries(icsneocpp PUBLIC ${PCAP_LIBRARY}) -endif() - # googletest if(LIBICSNEO_BUILD_TESTS) if(WIN32)