cmake_minimum_required(VERSION 3.13) project(Arugula) set(CMAKE_POLICY_DEFAULT_CMP0077 NEW) add_application(Arugula TYPE APPL CREATOR ARuG Document.cc Uri.cc main.cc net.cc parser.c utils.c cryanc.c Arugula.r Arugula.rsrc CONSOLE ) set(URIPARSER_BUILD_DOCS OFF) set(URIPARSER_BUILD_TOOLS OFF) set(URIPARSER_BUILD_TESTS OFF) set(URIPARSER_BUILD_WCHAR_T OFF) set(URIPARSER_ENABLE_INSTALL OFF) set(URIPARSER_SHARED_LIBS OFF) add_subdirectory(3rdparty/uriparser) # Enable -ffunction-sections and -gc-sections to make the app as small as possible # On 68K, also enable --mac-single to build it as a single-segment app (so that this code path doesn't rot) set_target_properties(Arugula PROPERTIES COMPILE_OPTIONS -ffunction-sections) if(CMAKE_SYSTEM_NAME MATCHES Retro68) set_target_properties(Arugula PROPERTIES LINK_FLAGS "-Wl,-gc-sections -Wl,--mac-single") target_link_libraries(Arugula OpenTptInet OpenTransport OpenTransportApp Math64Lib Interface uriparser::uriparser ) else() set_target_properties(Arugula PROPERTIES LINK_FLAGS "-Wl,-gc-sections") target_link_libraries(Arugula AppearanceLib InterfaceLib MathLib OpenTransportLib OpenTptInetPPC OpenTptInternetLib OpenTransportAppPPC ThreadsLib uriparser::uriparser ) endif()