Initial Commit
This commit is contained in:
31
CMake/Compiler/WDC-C.cmake
Normal file
31
CMake/Compiler/WDC-C.cmake
Normal file
@@ -0,0 +1,31 @@
|
||||
# WDC toolchain for CMake
|
||||
# Copyright (C) 2021 Tentei Ltd.
|
||||
# DISTRIBUTED AS PUBLIC DOMAIN. No restrictions apply.
|
||||
|
||||
include(Compiler/WDC)
|
||||
|
||||
set(CMAKE_C_COMPILER_ID_RUN YES)
|
||||
set(CMAKE_C_COMPILER_ID_WORKS YES)
|
||||
set(CMAKE_C_COMPILER_ID_FORCED YES)
|
||||
|
||||
set(CMAKE_C_DEFINE_FLAG "-D")
|
||||
set(CMAKE_C_VERBOSE_FLAG "-V" )
|
||||
set(CMAKE_C_FLAGS_DEBUG_INIT "-g -DDEBUG")
|
||||
set(CMAKE_DEPFILE_FLAGS_C "--create-dep <DEP_FILE>")
|
||||
set(CMAKE_INCLUDE_FLAG_C "-I ")
|
||||
|
||||
set(CMAKE_C90_STANDARD_COMPILE_OPTION "--standard c89")
|
||||
set(CMAKE_C99_STANDARD_COMPILE_OPTION "--standard c99")
|
||||
|
||||
set(CMAKE_C_CREATE_ASSEMBLY_SOURCE
|
||||
"<CMAKE_C_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -A -O <OBJECT> <SOURCE>")
|
||||
|
||||
set(CMAKE_C_CREATE_PREPROCESSED_SOURCE
|
||||
"<CMAKE_C_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -LT -O <PREPROCESSED_SOURCE> <SOURCE>")
|
||||
|
||||
set(CMAKE_C_COMPILE_OBJECT
|
||||
"<CMAKE_C_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -O <OBJECT> <SOURCE> && \
|
||||
<CMAKE_ASM_WDC_COMPILER> -O <OBJECT> <OBJECT>")
|
||||
|
||||
set(CMAKE_C_LINK_EXECUTABLE
|
||||
"<CMAKE_LINKER> <LINK_FLAGS> <LINK_LIBRARIES> <OBJECTS> -O <TARGET>")
|
||||
104
CMake/Compiler/WDC.cmake
Normal file
104
CMake/Compiler/WDC.cmake
Normal file
@@ -0,0 +1,104 @@
|
||||
# WDC toolchain for CMake
|
||||
# Copyright (C) 2021 Tentei Ltd.
|
||||
# DISTRIBUTED AS PUBLIC DOMAIN. No restrictions apply.
|
||||
|
||||
include_guard()
|
||||
|
||||
if(CMAKE_SYSTEM_NAME)
|
||||
if(CMAKE_SYSTEM_NAME MATCHES AppleII)
|
||||
set(_SYSTEM apple2)
|
||||
|
||||
elseif(CMAKE_SYSTEM_NAME MATCHES AppleIIeEnhanced)
|
||||
set(_SYSTEM apple2enh)
|
||||
set(_CPU 65C02)
|
||||
|
||||
elseif(CMAKE_SYSTEM_NAME MATCHES Atari2600)
|
||||
set(_SYSTEM atari2600)
|
||||
|
||||
elseif(CMAKE_SYSTEM_NAME MATCHES Atari5200)
|
||||
set(_SYSTEM atari5200)
|
||||
|
||||
elseif(CMAKE_SYSTEM_NAME MATCHES Atmos)
|
||||
set(_SYSTEM atmos)
|
||||
|
||||
elseif(CMAKE_SYSTEM_NAME MATCHES BBCMicro)
|
||||
set(_SYSTEM bbc)
|
||||
|
||||
elseif(CMAKE_SYSTEM_NAME MATCHES CBMIIB)
|
||||
set(_SYSTEM cbm610)
|
||||
|
||||
elseif(CMAKE_SYSTEM_NAME MATCHES CBMIIP)
|
||||
set(_SYSTEM cbm510)
|
||||
|
||||
elseif(CMAKE_SYSTEM_NAME MATCHES Challenger1P)
|
||||
set(_SYSTEM osic1p)
|
||||
|
||||
elseif(CMAKE_SYSTEM_NAME MATCHES CommanderX16)
|
||||
set(_SYSTEM cx16)
|
||||
set(_CPU 65C02)
|
||||
|
||||
elseif(CMAKE_SYSTEM_NAME MATCHES Commodore16)
|
||||
set(_SYSTEM c16)
|
||||
|
||||
elseif(CMAKE_SYSTEM_NAME MATCHES Commodore64)
|
||||
set(_SYSTEM c64)
|
||||
|
||||
elseif(CMAKE_SYSTEM_NAME MATCHES Commodore128)
|
||||
set(_SYSTEM c128)
|
||||
|
||||
elseif(CMAKE_SYSTEM_NAME MATCHES CreatiVision)
|
||||
set(_SYSTEM creativision)
|
||||
|
||||
elseif(CMAKE_SYSTEM_NAME MATCHES Gamate)
|
||||
set(_SYSTEM gamate)
|
||||
|
||||
elseif(CMAKE_SYSTEM_NAME MATCHES Lynx)
|
||||
set(_SYSTEM lynx)
|
||||
set(_CPU 65SC02)
|
||||
|
||||
elseif(CMAKE_SYSTEM_NAME MATCHES LUnix)
|
||||
set(_SYSTEM lunix)
|
||||
|
||||
elseif(CMAKE_SYSTEM_NAME MATCHES NES)
|
||||
set(_SYSTEM nes)
|
||||
|
||||
elseif(CMAKE_SYSTEM_NAME MATCHES PCEngine)
|
||||
set(_SYSTEM pce)
|
||||
set(_CPU HuC6280)
|
||||
|
||||
elseif(CMAKE_SYSTEM_NAME MATCHES PET)
|
||||
set(_SYSTEM pet)
|
||||
|
||||
elseif(CMAKE_SYSTEM_NAME MATCHES Plus4)
|
||||
set(_SYSTEM plus4)
|
||||
|
||||
elseif(CMAKE_SYSTEM_NAME MATCHES Supervision)
|
||||
set(_SYSTEM supervision)
|
||||
set(_CPU 65SC02)
|
||||
|
||||
elseif(CMAKE_SYSTEM_NAME MATCHES Telestrat)
|
||||
set(_SYSTEM telestrat)
|
||||
|
||||
elseif(CMAKE_SYSTEM_NAME MATCHES VIC20)
|
||||
set(_SYSTEM vic20)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(NOT _SYSTEM)
|
||||
set(_SYSTEM none)
|
||||
endif()
|
||||
|
||||
if(NOT _CPU)
|
||||
set(_CPU 6502)
|
||||
endif()
|
||||
|
||||
add_compile_options(--cpu ${_CPU} --target ${_SYSTEM})
|
||||
|
||||
unset(_SYSTEM)
|
||||
unset(_CPU)
|
||||
|
||||
find_program(CMAKE_AR wdclib DOC "WDC archiver")
|
||||
set(CMAKE_${lang}_COMPILER_AR ${CMAKE_AR} CACHE FILEPATH "WDC archiver" FORCE)
|
||||
find_program(CMAKE_LINKER wdcld DOC "WDC linker")
|
||||
|
||||
set(CMAKE_${lang}_RANLIB "" CACHE FILEPATH "")
|
||||
Reference in New Issue
Block a user