--- /dev/null
+set(BUILD_FMR30_86 ON CACHE BOOL "Build for FM-R30, i8086 version")
+set(BUILD_FMR30_286 ON CACHE BOOL "Build for FM-R30, i286 version")
+set(BUILD_FMR50_286 ON CACHE BOOL "Build for FM-R50, i286 version")
+set(BUILD_FMR50_386 ON CACHE BOOL "Build for FM-R50, i386 version")
+set(BUILD_FMR50_486 ON CACHE BOOL "Build for FM-R50, i486 version")
+set(BUILD_FMR250 ON CACHE BOOL "Build for FM-R250, Pentium version of FMR-50")
+set(BUILD_FMR60 ON CACHE BOOL "Build for FM-R60, i286 version")
+set(BUILD_FMR70 ON CACHE BOOL "Build for FM-R70, i386 version")
+set(BUILD_FMR80 ON CACHE BOOL "Build for FM-R80, i486 version")
+set(BUILD_FMR280 ON CACHE BOOL "Build for FM-R250, Pentium version of FMR-80")
+
+if(BUILD_FMR30_86)
+ ADD_VM(fmr30 emufmr30_i86 _FMR30)
+ target_compile_definitions(emufmr30_i86 PRIVATE -DHAS_I86)
+ target_compile_definitions(common_emufmr30_i86 PRIVATE -DHAS_I86)
+endif()
+if(BUILD_FMR30_286)
+ ADD_VM(fmr30 emufmr30_i286 _FMR30)
+ target_compile_definitions(emufmr30_i286 PRIVATE -DHAS_I286)
+ target_compile_definitions(common_emufmr30_i286 PRIVATE -DHAS_I286)
+endif()
+
+if(BUILD_FMR50_286)
+ ADD_VM(fmr50 emufmr50_286 _FMR50)
+ target_compile_definitions(emufmr50_286 PRIVATE -DHAS_I286)
+ target_compile_definitions(common_emufmr50_286 PRIVATE -DHAS_I286)
+endif()
+if(BUILD_FMR50_386)
+ ADD_VM(fmr50 emufmr50_386 _FMR50)
+ target_compile_definitions(emufmr50_386 PRIVATE -DHAS_I386)
+ target_compile_definitions(common_emufmr50_386 PRIVATE -DHAS_I386)
+endif()
+if(BUILD_FMR50_486)
+ ADD_VM(fmr50 emufmr50_486 _FMR50)
+ target_compile_definitions(emufmr50_486 PRIVATE -DHAS_I486)
+ target_compile_definitions(common_emufmr50_486 PRIVATE -DHAS_I486)
+endif()
+
+if(BUILD_FMR60)
+ ADD_VM(fmr50 emufmr60 _FMR60)
+ target_compile_definitions(emufmr60 PRIVATE -DHAS_I286)
+ target_compile_definitions(common_emufmr60 PRIVATE -DHAS_I286)
+endif()
+if(BUILD_FMR70)
+ ADD_VM(fmr50 emufmr70 _FMR60)
+ target_compile_definitions(emufmr70 PRIVATE -DHAS_I386)
+ target_compile_definitions(common_emufmr70 PRIVATE -DHAS_I386)
+endif()
+if(BUILD_FMR80)
+ ADD_VM(fmr50 emufmr80 _FMR60)
+ target_compile_definitions(emufmr80 PRIVATE -DHAS_I486)
+ target_compile_definitions(common_emufmr80 PRIVATE -DHAS_I486)
+endif()
+
+if(BUILD_FMR250)
+ ADD_VM(fmr50 emufmr250 _FMR50)
+ target_compile_definitions(emufmr250 PRIVATE -DHAS_PENTIUM)
+ target_compile_definitions(common_emufmr250 PRIVATE -DHAS_PENTIUM)
+endif()
+if(BUILD_FMR280)
+ ADD_VM(fmr50 emufmr280 _FMR60)
+ target_compile_definitions(emufmr280 PRIVATE -DHAS_PENTIUM)
+ target_compile_definitions(common_emufmr280 PRIVATE -DHAS_PENTIUM)
+endif()
cmake_minimum_required (VERSION 2.6)
-message("* vm/fmr30")
+message("* vm/${EXE_NAME}")
-add_library(vm_fmr30
- fmr30.cpp
+string(TOUPPER "${EXE_NAME}" U_EXE_NAME)
+
+add_library(vm_${EXE_NAME}
+ ../fmr50/bios.cpp
+ ../i8237.cpp
+ ../scsi_host.cpp
+
cmos.cpp
floppy.cpp
keyboard.cpp
- memory.cpp
+ ./memory.cpp
rtc.cpp
serial.cpp
system.cpp
scsi.cpp
timer.cpp
-)
\ No newline at end of file
+
+ fmr30.cpp
+)
+if("${U_EXE_NAME}" STREQUAL "EMUFMR30_I86")
+ message("${U_EXE_NAME}")
+ target_compile_definitions(vm_${EXE_NAME} PRIVATE -DHAS_I86)
+elseif("${U_EXE_NAME}" STREQUAL "EMUFMR30_I286")
+ target_compile_definitions(vm_${EXE_NAME} PRIVATE -DHAS_I286)
+endif()
cmake_minimum_required (VERSION 2.6)
-message("* vm/fmr50")
+message("* vm/${EXE_NAME}")
-add_library(vm_fmr50
+string(TOUPPER "${EXE_NAME}" U_EXE_NAME)
+
+set(FMR50_BASE_FILES
+ ../scsi_host.cpp
+ ../msm58321.cpp
+
bios.cpp
cmos.cpp
floppy.cpp
memory.cpp
scsi.cpp
timer.cpp
- fmr50.cpp
+ fmr50.cpp
)
+
+add_library(vm_${EXE_NAME}
+ ${FMR50_BASE_FILES}
+)
+
+if("${U_EXE_NAME}" STREQUAL "EMUFMR50_286")
+ target_compile_definitions(vm_${EXE_NAME} PRIVATE -DHAS_I286)
+elseif("${U_EXE_NAME}" STREQUAL "EMUFMR50_386")
+ target_compile_definitions(vm_${EXE_NAME} PRIVATE -DHAS_I386)
+elseif("${U_EXE_NAME}" STREQUAL "EMUFMR50_486")
+ target_compile_definitions(vm_${EXE_NAME} PRIVATE -DHAS_I486)
+elseif("${U_EXE_NAME}" STREQUAL "EMUFMR60")
+ target_compile_definitions(vm_${EXE_NAME} PRIVATE -DHAS_I286)
+elseif("${U_EXE_NAME}" STREQUAL "EMUFMR70")
+ target_compile_definitions(vm_${EXE_NAME} PRIVATE -DHAS_I386)
+elseif("${U_EXE_NAME}" STREQUAL "EMUFMR80")
+ target_compile_definitions(vm_${EXE_NAME} PRIVATE -DHAS_I486)
+elseif("${U_EXE_NAME}" STREQUAL "EMUFMR250")
+ target_compile_definitions(vm_${EXE_NAME} PRIVATE -DHAS_PENTIUM)
+elseif("${U_EXE_NAME}" STREQUAL "EMUFMR280")
+ target_compile_definitions(vm_${EXE_NAME} PRIVATE -DHAS_PENTIUM)
+endif()