Retro68/LaunchAPPL/Server/CMakeLists.txt

153 lines
4.0 KiB
CMake
Raw Normal View History

include(CheckIncludeFile)
CHECK_INCLUDE_FILE(Navigation.h HAVE_NAVIGATION_H)
CHECK_INCLUDE_FILE(OpenTransport.h HAVE_OPENTRANSPORT_H)
CHECK_INCLUDE_FILE(MacTCP.h HAVE_MACTCP_H)
set(HAVE_OPENTRANSPORT NO)
if(HAVE_OPENTRANSPORT_H)
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()
endif()
2019-11-11 08:58:45 +00:00
set(HAVE_NAVIGATION NO)
if(HAVE_NAVIGATION_H)
2019-11-15 00:22:07 +00:00
if(CMAKE_SYSTEM_NAME MATCHES RetroPPC)
find_library(NAVIGATION_LIBRARY NAMES libNavigation.a)
elseif(CMAKE_SYSTEM_NAME MATCHES Retro68)
2019-11-11 08:58:45 +00:00
find_library(NAVIGATION_LIBRARY NAMES Navigation.far)
else()
set(HAVE_NAVIGATION YES)
2019-11-15 00:22:07 +00:00
set(NAVIGATION_LIBRARY)
endif()
if(NAVIGATION_LIBRARY)
set(HAVE_NAVIGATION YES)
2019-11-11 08:58:45 +00:00
endif()
endif()
if(HAVE_MACTCP_H AND NOT CMAKE_SYSTEM_NAME MATCHES RetroCarbon)
set(HAVE_MACTCP YES)
else()
set(HAVE_MACTCP NO)
endif()
set(CONNECTION_SOURCES
SharedFileStream.h
SharedFileStream.cc
SharedFileProvider.h
SharedFileProvider.cc
)
if(CMAKE_SYSTEM_NAME MATCHES RetroCarbon)
else()
list(APPEND CONNECTION_SOURCES
SerialConnectionProvider.h
SerialConnectionProvider.cc
MacSerialStream.h
MacSerialStream.cc
)
endif()
2019-01-23 18:41:12 +00:00
2019-11-11 08:58:45 +00:00
if(HAVE_MACTCP)
list(APPEND CONNECTION_SOURCES
MacTCPStream.h
MacTCPStream.cc
TCPConnectionProvider.h
TCPConnectionProvider.cc
)
endif()
if(HAVE_OPENTRANSPORT)
list(APPEND CONNECTION_SOURCES
OpenTptStream.h
OpenTptStream.cc
OpenTptConnectionProvider.h
OpenTptConnectionProvider.cc
)
endif()
2019-11-11 08:58:45 +00:00
option(LAUNCHAPPLSERVER_DEBUG_CONSOLE "Add a debug console to LaunchAPPLServer" FALSE)
set(MAYBE_CONSOLE)
if(LAUNCHAPPLSERVER_DEBUG_CONSOLE)
set(MAYBE_CONSOLE "CONSOLE")
endif()
add_application(LaunchAPPLServer
2018-05-06 00:02:29 +00:00
TYPE "APPL"
CREATOR "R68L"
${MAYBE_CONSOLE}
2018-05-06 00:02:29 +00:00
LaunchAPPLServer.r
2018-05-06 00:02:29 +00:00
LauncherIcon.r
LaunchAPPLServer.cc
AppLauncher.h
AppLauncher.cc
ToolLauncher.cc
2018-05-19 12:55:27 +00:00
Window.h
StatusDisplay.h
StatusDisplay.cc
2018-05-19 12:55:27 +00:00
AboutBox.h
AboutBox.cc
ConnectionProvider.h
CarbonFileCompat.h
2019-01-23 18:41:12 +00:00
Preferences.h
Preferences.cc
2018-05-09 21:16:45 +00:00
${CONNECTION_SOURCES}
)
if(LAUNCHAPPLSERVER_DEBUG_CONSOLE)
target_compile_definitions(LaunchAPPLServer PRIVATE DEBUG_CONSOLE)
endif()
if(HAVE_OPENTRANSPORT)
target_compile_definitions(LaunchAPPLServer PRIVATE HAVE_OPENTRANSPORT)
endif()
2019-11-11 08:58:45 +00:00
if(HAVE_NAVIGATION)
target_compile_definitions(LaunchAPPLServer PRIVATE HAVE_NAVIGATION)
endif()
2019-11-11 08:58:45 +00:00
if(HAVE_MACTCP)
target_compile_definitions(LaunchAPPLServer PRIVATE HAVE_MACTCP)
endif()
2018-04-20 22:03:29 +00:00
target_link_libraries(LaunchAPPLServer LaunchAPPLCommon)
set_target_properties(LaunchAPPLServer PROPERTIES
CXX_STANDARD 17
)
target_compile_options(LaunchAPPLServer PRIVATE -ffunction-sections -Os)
if(CMAKE_SYSTEM_NAME MATCHES Retro68)
set_target_properties(LaunchAPPLServer PROPERTIES
LINK_FLAGS "-Wl,-gc-sections -Wl,--mac-segments -Wl,${CMAKE_CURRENT_SOURCE_DIR}/LaunchAPPLServer.segmap"
)
else()
set_target_properties(LaunchAPPLServer PROPERTIES
LINK_FLAGS "-Wl,-gc-sections"
)
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()
2019-11-15 00:22:07 +00:00
if(NAVIGATION_LIBRARY)
target_link_libraries(LaunchAPPLServer ${NAVIGATION_LIBRARY})
endif()