OSDN Git Service

[BUILD][CMAKE] Add FM R series.
authorK.Ohta <whatisthis.sowhat@gmail.com>
Fri, 2 Oct 2020 06:50:43 +0000 (15:50 +0900)
committerK.Ohta <whatisthis.sowhat@gmail.com>
Fri, 2 Oct 2020 06:50:43 +0000 (15:50 +0900)
source/CMakeLists.txt
source/build-cmake/cmake/single-build/config_fmr.cmake [new file with mode: 0644]
source/src/qt/machines/fmr30/CMakeLists.txt
source/src/qt/machines/fmr50/CMakeLists.txt
source/src/vm/fmr30/CMakeLists.txt
source/src/vm/fmr50/CMakeLists.txt

index fb6d78d..5cb75b2 100644 (file)
@@ -22,8 +22,12 @@ set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/build-cmake/cmake/single-build")
 include(config)
 
 include(config_emufm7)
+include(config_fm16)
+include(config_fmr)
 include(config_fmtowns)
 
+include(config_casio)
+include(config_msx)
 include(config_mz80_700)
 include(config_pc6001)
 include(config_pc8801)
diff --git a/source/build-cmake/cmake/single-build/config_fmr.cmake b/source/build-cmake/cmake/single-build/config_fmr.cmake
new file mode 100644 (file)
index 0000000..a643df5
--- /dev/null
@@ -0,0 +1,64 @@
+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()
index 80a18b9..bcd7307 100644 (file)
@@ -1,18 +1,12 @@
-message("* qt/fmr30")
+message("* qt/${EXE_NAME}")
 
 set(s_qt_fmr30_headers
          menuclasses.h
 )
 
-if(USE_QT_5)
-  QT5_WRAP_CPP(s_qt_fmr30_headers_MOC ${s_qt_fmr30_headers})
-else()
-  QT4_WRAP_CPP(s_qt_fmr30_headers_MOC ${s_qt_fmr30_headers})
-endif()
+QT5_WRAP_CPP(s_qt_${EXE_NAME}_headers_MOC ${s_qt_fmr30_headers})
 
-add_library(qt_fmr30
+add_library(qt_${EXE_NAME}
          MainWindow.cpp
-         ${s_qt_fmr30_headers_MOC}
+         ${s_qt_${EXE_NAME}_headers_MOC}
 )
-
-
index 2a574e0..d446cfe 100644 (file)
@@ -1,18 +1,16 @@
-message("* qt/fmr50")
+message("* qt/${EXE_NAME}")
 
 set(s_qt_fmr50_headers
          menuclasses.h
 )
 
-if(USE_QT_5)
-  QT5_WRAP_CPP(s_qt_fmr50_headers_MOC ${s_qt_fmr50_headers})
-else()
-  QT4_WRAP_CPP(s_qt_fmr50_headers_MOC ${s_qt_fmr50_headers})
-endif()
+QT5_WRAP_CPP(s_qt_${EXE_NAME}_headers_MOC ${s_qt_fmr50_headers})
 
-add_library(qt_fmr50
+add_library(qt_${EXE_NAME}
          MainWindow.cpp
-         ${s_qt_fmr50_headers_MOC}
+         ${s_qt_${EXE_NAME}_headers_MOC}
 )
 
 
+
+
index 69e6255..c580431 100644 (file)
@@ -1,16 +1,29 @@
 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()
index 69a7425..8b2db27 100644 (file)
@@ -1,8 +1,13 @@
 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
@@ -10,6 +15,28 @@ add_library(vm_fmr50
        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()