2015-07-15 21:23:19 +00:00
|
|
|
# Copyright 2015 Wolfgang Thaller.
|
2012-04-24 01:22:36 +00:00
|
|
|
#
|
2014-09-14 22:43:30 +00:00
|
|
|
# This file is part of Retro68.
|
2012-04-24 01:22:36 +00:00
|
|
|
#
|
2014-09-14 22:43:30 +00:00
|
|
|
# Retro68 is free software: you can redistribute it and/or modify
|
|
|
|
# it under the terms of the GNU General Public License as published by
|
|
|
|
# the Free Software Foundation, either version 3 of the License, or
|
|
|
|
# (at your option) any later version.
|
2012-04-24 01:22:36 +00:00
|
|
|
#
|
2014-09-14 22:43:30 +00:00
|
|
|
# Retro68 is distributed in the hope that it will be useful,
|
|
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
# GNU General Public License for more details.
|
2012-04-24 01:22:36 +00:00
|
|
|
#
|
2015-07-15 21:23:19 +00:00
|
|
|
# Under Section 7 of GPL version 3, you are granted additional
|
|
|
|
# permissions described in the GCC Runtime Library Exception, version
|
|
|
|
# 3.1, as published by the Free Software Foundation.
|
|
|
|
#
|
|
|
|
# You should have received a copy of the GNU General Public License and
|
|
|
|
# a copy of the GCC Runtime Library Exception along with this program;
|
|
|
|
# see the files COPYING and COPYING.RUNTIME respectively. If not, see
|
|
|
|
# <http://www.gnu.org/licenses/>.
|
2012-04-24 01:22:36 +00:00
|
|
|
|
2012-04-05 22:45:04 +00:00
|
|
|
cmake_minimum_required(VERSION 2.8)
|
2014-09-30 09:21:08 +00:00
|
|
|
|
2015-08-31 14:44:45 +00:00
|
|
|
if(CMAKE_SYSTEM_NAME MATCHES Retro68)
|
2017-04-23 00:15:02 +00:00
|
|
|
find_program(CONVERT_OBJ ConvertObj PATH "${CMAKE_INSTALL_PREFIX}/../bin/")
|
|
|
|
add_custom_command(
|
|
|
|
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/Interface.s
|
|
|
|
COMMAND ${CONVERT_OBJ} ${INTERFACE_O} > ${CMAKE_CURRENT_BINARY_DIR}/Interface.s
|
|
|
|
)
|
|
|
|
enable_language(ASM)
|
|
|
|
|
2015-08-31 14:44:45 +00:00
|
|
|
set(ARCH_FILES
|
|
|
|
Retro68Runtime.h
|
|
|
|
start.c
|
|
|
|
relocate.c
|
2017-09-23 20:36:47 +00:00
|
|
|
PoorMansDebugging.h
|
2017-09-26 00:38:05 +00:00
|
|
|
MultiSegApp.c
|
|
|
|
LoadSeg.s
|
2017-04-23 00:15:02 +00:00
|
|
|
# glue.c
|
|
|
|
${CMAKE_CURRENT_BINARY_DIR}/Interface.s
|
2015-10-06 22:03:28 +00:00
|
|
|
qdglobals.c
|
2015-08-31 14:44:45 +00:00
|
|
|
Retro68.r
|
|
|
|
Retro68APPL.r
|
|
|
|
)
|
2017-09-23 20:36:47 +00:00
|
|
|
|
2015-08-31 14:44:45 +00:00
|
|
|
install(FILES Retro68Runtime.h DESTINATION include)
|
|
|
|
install(FILES Retro68.r Retro68APPL.r DESTINATION RIncludes)
|
2017-09-26 00:38:05 +00:00
|
|
|
|
2015-10-06 22:03:28 +00:00
|
|
|
elseif(CMAKE_SYSTEM_NAME MATCHES RetroPPC)
|
2015-09-08 16:01:17 +00:00
|
|
|
enable_language(ASM)
|
2015-09-08 23:25:59 +00:00
|
|
|
set(ARCH_FILES
|
|
|
|
ppcstart.c
|
|
|
|
ppcfpsave.s
|
2015-10-06 22:03:28 +00:00
|
|
|
qdglobals.c
|
2015-09-08 23:25:59 +00:00
|
|
|
RetroPPCAPPL.r)
|
|
|
|
install(FILES RetroPPCAPPL.r DESTINATION RIncludes)
|
2015-10-06 22:03:28 +00:00
|
|
|
elseif(CMAKE_SYSTEM_NAME MATCHES RetroCarbon)
|
|
|
|
enable_language(ASM)
|
|
|
|
set(ARCH_FILES
|
|
|
|
ppcstart.c
|
|
|
|
ppcfpsave.s
|
|
|
|
RetroCarbonAPPL.r)
|
|
|
|
install(FILES RetroCarbonAPPL.r DESTINATION RIncludes)
|
2015-08-31 14:44:45 +00:00
|
|
|
endif()
|
|
|
|
|
2015-07-17 19:07:03 +00:00
|
|
|
add_library(retrocrt
|
2014-09-14 22:43:30 +00:00
|
|
|
malloc.c
|
|
|
|
syscalls.c
|
2015-07-20 18:05:38 +00:00
|
|
|
consolehooks.c
|
2015-08-31 14:44:45 +00:00
|
|
|
${ARCH_FILES}
|
2015-07-20 18:05:38 +00:00
|
|
|
)
|
2017-09-29 20:31:35 +00:00
|
|
|
set_target_properties(retrocrt
|
|
|
|
PROPERTIES
|
|
|
|
COMPILE_OPTIONS -ffunction-sections)
|
2014-09-30 09:21:08 +00:00
|
|
|
|
2012-04-05 22:45:04 +00:00
|
|
|
install(TARGETS retrocrt DESTINATION lib)
|