From 54201b27337d49dfa36cf9ff6d3e22fcbb694a98 Mon Sep 17 00:00:00 2001 From: Wolfgang Thaller Date: Sat, 17 Aug 2019 23:49:17 +0200 Subject: [PATCH] Don't fail LaunchAPPLServer 68K build if OpenTpt libs are unavailable --- LaunchAPPL/Server/CMakeLists.txt | 45 ++++++++++++++++++++++----- LaunchAPPL/Server/LaunchAPPLServer.cc | 8 +++++ cmake/intree.toolchain.cmake.in | 1 + cmake/intreecarbon.toolchain.cmake.in | 1 + cmake/intreeppc.toolchain.cmake.in | 1 + cmake/retro68.toolchain.cmake.in | 1 + cmake/retrocarbon.toolchain.cmake.in | 1 + cmake/retroppc.toolchain.cmake.in | 1 + 8 files changed, 52 insertions(+), 7 deletions(-) diff --git a/LaunchAPPL/Server/CMakeLists.txt b/LaunchAPPL/Server/CMakeLists.txt index 9c79334ef5..eded909ae2 100644 --- a/LaunchAPPL/Server/CMakeLists.txt +++ b/LaunchAPPL/Server/CMakeLists.txt @@ -1,9 +1,19 @@ -set(CONNECTION_SOURCES - OpenTptStream.h - OpenTptStream.cc - OpenTptConnectionProvider.h - OpenTptConnectionProvider.cc +set(HAVE_OPENTRANSPORT NO) +if(CMAKE_SYSTEM_NAME MATCHES RetroPPC) + find_library(OPENTRANSPORT_LIBRARY NAMES libOpenTransportLib.a) + if(OPENTRANSPORT_LIBRARY) + set(HAVE_OPENTRANSPORT YES) + endif() +elseif(CMAKE_SYSTEM_NAME MATCHES Retro68) + find_library(OPENTRANSPORT_LIBRARY NAMES libOpenTransport.a) + if(OPENTRANSPORT_LIBRARY) + set(HAVE_OPENTRANSPORT YES) + endif() +elseif(CMAKE_SYSTEM_NAME MATCHES RetroCarbon) + set(HAVE_OPENTRANSPORT YES) +endif() +set(CONNECTION_SOURCES SharedFileStream.h SharedFileStream.cc SharedFileProvider.h @@ -32,6 +42,15 @@ if(LAUNCHAPPLSERVER_DEBUG_CONSOLE) set(MAYBE_CONSOLE "CONSOLE") endif() +if(HAVE_OPENTRANSPORT) + list(APPEND CONNECTION_SOURCES + OpenTptStream.h + OpenTptStream.cc + OpenTptConnectionProvider.h + OpenTptConnectionProvider.cc + ) +endif() + add_application(LaunchAPPLServer TYPE "APPL" CREATOR "R68L" @@ -58,6 +77,9 @@ add_application(LaunchAPPLServer if(LAUNCHAPPLSERVER_DEBUG_CONSOLE) target_compile_definitions(LaunchAPPLServer PRIVATE DEBUG_CONSOLE) endif() +if(HAVE_OPENTRANSPORT) + target_compile_definitions(LaunchAPPLServer PRIVATE HAVE_OPENTRANSPORT) +endif() target_link_libraries(LaunchAPPLServer LaunchAPPLCommon) set_target_properties(LaunchAPPLServer PROPERTIES @@ -74,11 +96,20 @@ else() ) endif() +if(HAVE_OPENTRANSPORT) + if(CMAKE_SYSTEM_NAME MATCHES RetroPPC) + target_link_libraries(LaunchAPPLServer -lOpenTransportAppPPC -lOpenTransportLib -lOpenTptInternetLib) + endif() + if(CMAKE_SYSTEM_NAME MATCHES Retro68) + target_link_libraries(LaunchAPPLServer -lOpenTransport -lOpenTransportApp -lOpenTptInet) + endif() +endif() + if(CMAKE_SYSTEM_NAME MATCHES RetroPPC) - target_link_libraries(LaunchAPPLServer -lOpenTransportAppPPC -lOpenTransportLib -lOpenTptInternetLib -lNavigationLib) + target_link_libraries(LaunchAPPLServer -lNavigationLib) endif() if(CMAKE_SYSTEM_NAME MATCHES Retro68) - target_link_libraries(LaunchAPPLServer -lOpenTransport -lOpenTransportApp -lOpenTptInet -lNavigation.far) + target_link_libraries(LaunchAPPLServer -lNavigation.far) endif() if(FALSE) diff --git a/LaunchAPPL/Server/LaunchAPPLServer.cc b/LaunchAPPL/Server/LaunchAPPLServer.cc index fd3509ff29..0108b6ce65 100644 --- a/LaunchAPPL/Server/LaunchAPPLServer.cc +++ b/LaunchAPPL/Server/LaunchAPPLServer.cc @@ -46,7 +46,9 @@ #include "SerialConnectionProvider.h" #include "TCPConnectionProvider.h" #endif +#ifdef HAVE_OPENTRANSPORT #include "OpenTptConnectionProvider.h" +#endif #include "SharedFileProvider.h" #include "SystemInfo.h" @@ -76,7 +78,11 @@ enum #if TARGET_API_MAC_CARBON bool portsAvailable[] = { false, false, false, false, true }; #else +#ifdef HAVE_OPENTRANSPORT bool portsAvailable[] = { true, true, false, false, true }; +#else +bool portsAvailable[] = { true, false, false, false, true }; +#endif #endif bool hasIconUtils = true; bool hasColorQD = true; @@ -577,9 +583,11 @@ void ConnectionChanged() connection = std::make_unique(0, gPrefs.baud, statusDisplay.get()); break; #endif +#ifdef HAVE_OPENTRANSPORT case Port::openTptTCP: connection = std::make_unique(statusDisplay.get());; break; +#endif case Port::sharedFiles: if(gPrefs.sharedDirectoryPath[0] == 0) { diff --git a/cmake/intree.toolchain.cmake.in b/cmake/intree.toolchain.cmake.in index fc037f0f4f..c9d556f479 100644 --- a/cmake/intree.toolchain.cmake.in +++ b/cmake/intree.toolchain.cmake.in @@ -20,6 +20,7 @@ set( CMAKE_SYSTEM_VERSION 1) set( RETRO68_ROOT "@RETRO68_ROOT@" CACHE PATH "path to root of Retro68 Toolchain" ) set( CMAKE_INSTALL_PREFIX "${RETRO68_ROOT}/m68k-apple-macos/" CACHE PATH "installation prefix" ) +set( CMAKE_SYSTEM_PREFIX_PATH "${RETRO68_ROOT}/m68k-apple-macos/" ) set( MAKE_APPL "@CMAKE_BINARY_DIR@/MakeAPPL/MakeAPPL" ) set( REZ "@CMAKE_BINARY_DIR@/Rez/Rez" ) diff --git a/cmake/intreecarbon.toolchain.cmake.in b/cmake/intreecarbon.toolchain.cmake.in index 13a94170b1..cfe74b3dbf 100644 --- a/cmake/intreecarbon.toolchain.cmake.in +++ b/cmake/intreecarbon.toolchain.cmake.in @@ -20,6 +20,7 @@ set( CMAKE_SYSTEM_VERSION 1) set( RETRO68_ROOT "@RETRO68_ROOT@" CACHE PATH "path to root of Retro68 Toolchain" ) set( CMAKE_INSTALL_PREFIX "${RETRO68_ROOT}/powerpc-apple-macos/" CACHE PATH "installation prefix" ) +set( CMAKE_SYSTEM_PREFIX_PATH "${RETRO68_ROOT}/powerpc-apple-macos/" ) set( MAKE_PEF "@CMAKE_BINARY_DIR@/PEFTools/MakePEF" ) set( MAKE_IMPORT "@CMAKE_BINARY_DIR@/PEFTools/MakeImport" ) diff --git a/cmake/intreeppc.toolchain.cmake.in b/cmake/intreeppc.toolchain.cmake.in index a04548f575..f6f510801c 100644 --- a/cmake/intreeppc.toolchain.cmake.in +++ b/cmake/intreeppc.toolchain.cmake.in @@ -20,6 +20,7 @@ set( CMAKE_SYSTEM_VERSION 1) set( RETRO68_ROOT "@RETRO68_ROOT@" CACHE PATH "path to root of Retro68 Toolchain" ) set( CMAKE_INSTALL_PREFIX "${RETRO68_ROOT}/powerpc-apple-macos/" CACHE PATH "installation prefix" ) +set( CMAKE_SYSTEM_PREFIX_PATH "${RETRO68_ROOT}/powerpc-apple-macos/" ) set( MAKE_PEF "@CMAKE_BINARY_DIR@/PEFTools/MakePEF" ) set( MAKE_IMPORT "@CMAKE_BINARY_DIR@/PEFTools/MakeImport" ) diff --git a/cmake/retro68.toolchain.cmake.in b/cmake/retro68.toolchain.cmake.in index af9d4594f4..cfdd0c7819 100644 --- a/cmake/retro68.toolchain.cmake.in +++ b/cmake/retro68.toolchain.cmake.in @@ -20,6 +20,7 @@ set( CMAKE_SYSTEM_VERSION 1) set( RETRO68_ROOT "@RETRO68_ROOT@" CACHE PATH "path to root of Retro68 Toolchain" ) set( CMAKE_INSTALL_PREFIX "${RETRO68_ROOT}/m68k-apple-macos/" CACHE PATH "installation prefix" ) +set( CMAKE_SYSTEM_PREFIX_PATH "${RETRO68_ROOT}/m68k-apple-macos/" ) set( MAKE_APPL "${RETRO68_ROOT}/bin/MakeAPPL" ) set( REZ "${RETRO68_ROOT}/bin/Rez" ) diff --git a/cmake/retrocarbon.toolchain.cmake.in b/cmake/retrocarbon.toolchain.cmake.in index a74b35af7a..1b1c0ffa6a 100644 --- a/cmake/retrocarbon.toolchain.cmake.in +++ b/cmake/retrocarbon.toolchain.cmake.in @@ -20,6 +20,7 @@ set( CMAKE_SYSTEM_VERSION 1) set( RETRO68_ROOT "@RETRO68_ROOT@" CACHE PATH "path to root of Retro68 Toolchain" ) set( CMAKE_INSTALL_PREFIX "${RETRO68_ROOT}/powerpc-apple-macos/" CACHE PATH "installation prefix" ) +set( CMAKE_SYSTEM_PREFIX_PATH "${RETRO68_ROOT}/powerpc-apple-macos/" ) set( MAKE_PEF "${RETRO68_ROOT}/bin/MakePEF" ) set( MAKE_IMPORT "${RETRO68_ROOT}/bin//MakeImport" ) diff --git a/cmake/retroppc.toolchain.cmake.in b/cmake/retroppc.toolchain.cmake.in index 95c0a8315b..2c27e4bcb5 100644 --- a/cmake/retroppc.toolchain.cmake.in +++ b/cmake/retroppc.toolchain.cmake.in @@ -20,6 +20,7 @@ set( CMAKE_SYSTEM_VERSION 1) set( RETRO68_ROOT "@RETRO68_ROOT@" CACHE PATH "path to root of Retro68 Toolchain" ) set( CMAKE_INSTALL_PREFIX "${RETRO68_ROOT}/powerpc-apple-macos/" CACHE PATH "installation prefix" ) +set( CMAKE_SYSTEM_PREFIX_PATH "${RETRO68_ROOT}/powerpc-apple-macos/" ) set( MAKE_PEF "${RETRO68_ROOT}/bin/MakePEF" ) set( MAKE_IMPORT "${RETRO68_ROOT}/bin//MakeImport" )