diff options
| author | PProvost <[email protected]> | 2020-05-11 16:02:39 -0600 |
|---|---|---|
| committer | PProvost <[email protected]> | 2020-05-11 16:02:39 -0600 |
| commit | da3eea79d5da9573c3c9395828da47c272ab0974 (patch) | |
| tree | b1c1b2e6e4d39f3584843c31891922f3e865c386 | |
| parent | ccb347c4cc20a5dbfd51acdd384b9f5cd6c427bd (diff) | |
Added option NXD_ENABLE_FILE_SERVERS
| -rwxr-xr-x | CMakeLists.txt | 12 | ||||
| -rw-r--r-- | protocol_handlers/CMakeLists.txt | 32 |
2 files changed, 32 insertions, 12 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index f96c1527..3f3c2209 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,6 +6,8 @@ project(netxduo LANGUAGES C ASM ) +option(NXD_ENABLE_FILE_SERVERS "Includes a dependency on FileX to support 'server' protocol handlers" ON) + if(NOT DEFINED THREADX_ARCH) message(FATAL_ERROR "Error: THREADX_ARCH not defined") endif() @@ -18,10 +20,12 @@ add_library(${PROJECT_NAME}) add_library("azrtos::${PROJECT_NAME}" ALIAS ${PROJECT_NAME}) # Define any required dependencies between this library and others -target_link_libraries(${PROJECT_NAME} PUBLIC - "azrtos::threadx" - "azrtos::filex" -) +target_link_libraries(${PROJECT_NAME} PUBLIC "azrtos::threadx") + +if(NXD_ENABLE_FILE_SERVERS) + message(STATUS "NXD_ENABLE_FILE_SERVERS - defined") + target_link_libraries(${PROJECT_NAME} PUBLIC "azrtos::filex") +endif() # A place for generated/copied include files (no need to change) set(CUSTOM_INC_DIR ${CMAKE_CURRENT_BINARY_DIR}/custom_inc) diff --git a/protocol_handlers/CMakeLists.txt b/protocol_handlers/CMakeLists.txt index a45a543f..4d6d75cf 100644 --- a/protocol_handlers/CMakeLists.txt +++ b/protocol_handlers/CMakeLists.txt @@ -1,17 +1,19 @@ # Each protocol handler is listed below. If you want # to disable some / all of these, comment out the block(s) in question -target_sources(${PROJECT_NAME} PRIVATE +set(SOURCES + # {{BEGIN_TARGET_SOURCES}} ${CMAKE_CURRENT_LIST_DIR}/auto_ip/nx_auto_ip.c - ${CMAKE_CURRENT_LIST_DIR}/dhcp/nxd_dhcp_client.c - ${CMAKE_CURRENT_LIST_DIR}/dhcp/nxd_dhcp_server.c + # ${CMAKE_CURRENT_LIST_DIR}/BSD/nxd_bsd.c ${CMAKE_CURRENT_LIST_DIR}/dhcp/nxd_dhcpv6_client.c ${CMAKE_CURRENT_LIST_DIR}/dhcp/nxd_dhcpv6_server.c + ${CMAKE_CURRENT_LIST_DIR}/dhcp/nxd_dhcp_client.c + ${CMAKE_CURRENT_LIST_DIR}/dhcp/nxd_dhcp_server.c ${CMAKE_CURRENT_LIST_DIR}/dns/nxd_dns.c ${CMAKE_CURRENT_LIST_DIR}/ftp/nxd_ftp_client.c - # ${CMAKE_CURRENT_LIST_DIR}/ftp/nxd_ftp_server.c + ${CMAKE_CURRENT_LIST_DIR}/ftp/nxd_ftp_server.c ${CMAKE_CURRENT_LIST_DIR}/http/nxd_http_client.c - # ${CMAKE_CURRENT_LIST_DIR}/http/nxd_http_server.c + ${CMAKE_CURRENT_LIST_DIR}/http/nxd_http_server.c ${CMAKE_CURRENT_LIST_DIR}/mdns/nxd_mdns.c ${CMAKE_CURRENT_LIST_DIR}/mqtt/nxd_mqtt_client.c ${CMAKE_CURRENT_LIST_DIR}/nat/nx_nat.c @@ -27,14 +29,29 @@ target_sources(${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_LIST_DIR}/telnet/nxd_telnet_client.c ${CMAKE_CURRENT_LIST_DIR}/telnet/nxd_telnet_server.c ${CMAKE_CURRENT_LIST_DIR}/tftp/nxd_tftp_client.c - # ${CMAKE_CURRENT_LIST_DIR}/tftp/nxd_tftp_server.c + ${CMAKE_CURRENT_LIST_DIR}/tftp/nxd_tftp_server.c ${CMAKE_CURRENT_LIST_DIR}/web/nx_tcpserver.c ${CMAKE_CURRENT_LIST_DIR}/web/nx_web_http_client.c - # ${CMAKE_CURRENT_LIST_DIR}/web/nx_web_http_server.c + ${CMAKE_CURRENT_LIST_DIR}/web/nx_web_http_server.c + # {{END_TARGET_SOURCES}} ) +# Remove the file server files if the user doesn't want them +if(NOT NXD_ENABLE_FILE_SERVERS) + message(STATUS "*** Not using filex ***") + list(REMOVE_ITEM SOURCES + "${CMAKE_CURRENT_LIST_DIR}/web/nx_web_http_server.c" + "${CMAKE_CURRENT_LIST_DIR}/http/nxd_http_server.c" + "${CMAKE_CURRENT_LIST_DIR}/ftp/nxd_ftp_server.c" + "${CMAKE_CURRENT_LIST_DIR}/tftp/nxd_tftp_server.c" + ) +endif() + +target_sources(${PROJECT_NAME} PRIVATE ${SOURCES}) + target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_LIST_DIR}/auto_ip + ${CMAKE_CURRENT_LIST_DIR}/BSD ${CMAKE_CURRENT_LIST_DIR}/dhcp ${CMAKE_CURRENT_LIST_DIR}/dns ${CMAKE_CURRENT_LIST_DIR}/ftp @@ -52,4 +69,3 @@ target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_LIST_DIR}/tftp ${CMAKE_CURRENT_LIST_DIR}/web ) - |
