# this part was written only me.
include(CheckFunctionExists)
+#include(cotire)
if(USE_DEVICES_SHARED_LIB)
- add_definitions(-DUSE_DEVICES_SHARED_LIB)
+ add_definitions(-DUSE_SHARED_DLL)
+ add_definitions(-DUSE_SHARED_UI_DLL)
+ add_definitions(-DUSE_SHARED_DEVICES_DLL)
set(I386_CPPS
libcpu_newdev/i386.cpp
libcpu_newdev/libcpu_i386/i386_real.cpp
libcpu_newdev/libcpu_i386/i386dasm.cpp
)
set(MC6809_CPPS
- libcpu_newdev/libcpu_mc6809/mc6809.cpp
+ mc6809.cpp
)
set(MCS48_CPPS
- libcpu_newdev/mcs48.cpp
+ mcs48.cpp
)
set(IX86_CPPS
libcpu_newdev/i86.cpp
)
+ set(Z80_CPPS
+ z80.cpp
+ )
else()
set(I386_CPPS i386.cpp)
- set(MC6809_CPPS mc6809.cpp)
- set(MCS48_CPPS mcs48.cpp)
+ set(MC6809_CPPS mc6809_base.cpp mc6809.cpp)
+ set(MCS48_CPPS mcs48_base.cpp mcs48.cpp)
set(IX86_CPPS i86.cpp)
+ set(Z80_CPPS z80_base.cpp z80.cpp)
set(VMFILES ${VMFILES} ${VMFILES_LIB})
endif()
if(FLAG_USE_MCS48)
set(VMFILES ${VMFILES} ${MCS48_CPPS})
endif()
+if(FLAG_USE_Z80)
+ set(VMFILES ${VMFILES} ${Z80_CPPS})
+endif()
if(USE_DEVICES_SHARED_LIB)
set(VMFILES ${VMFILES} libcpu_newdev/device.cpp)
endif()
find_program(USE_CCACHE ccache)
if(USE_CCACHE)
SET_PROPERTY(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache)
- SET_PROPERTY(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache)
+ # SET_PROPERTY(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache)
endif()
- FIND_PACKAGE(Qt5Widgets REQUIRED)
+if(WIN32)
FIND_PACKAGE(Qt5Core REQUIRED)
+else()
+ FIND_PACKAGE(Qt5Widgets REQUIRED)
+endif()
FIND_PACKAGE(Qt5Gui REQUIRED)
FIND_PACKAGE(Qt5OpenGL REQUIRED)
include_directories(${Qt5Widgets_INCLUDE_DIRS})
add_definitions(-D_GLIBCXX_USE_CXX11_ABI=1)
endif()
+
SET(CMAKE_AUTOMOC OFF)
SET(CMAKE_AUTORCC ON)
SET(CMAKE_INCLUDE_CURRENT_DIR ON)
-
add_definitions(-D_USE_QT)
add_definitions(-DUSE_QT)
add_definitions(-DQT_MAJOR_VERSION=${Qt5Widgets_VERSION_MAJOR})
add_definitions(-DQT_MINOR_VERSION=${Qt5Widgets_VERSION_MINOR})
+
if(USE_OPENMP)
find_package(OpenMP)
include_directories(${OPENMP_INCLUDE_PATH})
+ if(OPENMP_FOUND)
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
+ endif()
endif()
find_package(Threads)
include(FindPkgConfig)
+find_package(Git)
+if(GIT_FOUND)
+ execute_process(COMMAND ${GIT_EXECUTABLE} rev-parse HEAD OUTPUT_VARIABLE __tstr)
+ string(FIND ${__tstr} "fatal" __notfound)
+ string(REPLACE "\n" "" __tstr2 ${__tstr})
+ if(${__notfound} EQUAL -1)
+ add_definitions(-D__GIT_REPO_VERSION=${__tstr2})
+ else()
+ add_definitions(-U__GIT_REPO_VERSION)
+ endif()
+endif()
+
include(FindLibAV)
if(LIBAV_FOUND)
add_definitions(-DUSE_LIBAV)
if(LIBAV_FOUND)
include_directories(${LIBAV_INCLUDE_DIRS})
endif()
+
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../src)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../src/vm)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../src/qt/common)
add_subdirectory(../../src common)
add_subdirectory(../../src/vm vm/)
+#add_custom_command(OUTPUT test.txt
+# COMMAND grep ARGS -m 1 THIS_LIB_VERSION ${CMAKE_CURRENT_SOURCE_DIR}/../../src/vm/fmgen/CMakeLists.txt
+# COMMAND sed ARGS "-r" "'s/.*THIS_VERSION\ //'"
+# COMMAND sed ARGS "-r" "'s/\).*$//'"
+# )
+
+
if(DEFINED VM_NAME)
# if(WITH_DEBUGGER)
set(DEBUG_LIBS qt_debugger)
# else()
# set(DEBUG_LIBS)
# endif()
+ if(USE_DEVICES_SHARED_LIB)
+ else()
+ if(USE_FMGEN)
+ set(VM_APPEND_LIBS fmgen ${VM_APPEND_LIBS})
+ else()
+ set(VM_APPEND_LIBS ${VM_APPEND_LIBS})
+ endif()
+ endif()
if(WIN32)
set(LOCAL_LIBS
common_emu
include(simd-x86)
+
if(WIN32)
set(BUNDLE_LIBS
${OPENGL_LIBRARY}
#SET(CMAKE_CXX_ARCHIVE_CREATE "<CMAKE_AR> qcs <TARGET> <LINK_FLAGS> <OBJECTS>")
#SET(CMAKE_CXX_ARCHIVE_FINISH true)
else()
+ add_definitions(-D_UNICODE)
set(BUNDLE_LIBS
# ${OPENGL_LIBRARY}
${OPENCL_LIBRARY}
# ${LIBAV_LIBRARIES}
${ADDITIONAL_LIBRARIES}
)
- set(BUNDLE_LIBS ${BUNDLE_LIBS} -lCSPosd -lCSPcommon_vm -lCSPfmgen -lCSPgui -lCSPemu_utils -lCSPavio)
+ if(USE_DEVICES_SHARED_LIB)
+ set(BUNDLE_LIBS ${BUNDLE_LIBS} -lCSPosd -lCSPcommon_vm -lCSPfmgen -lCSPgui -lCSPemu_utils -lCSPavio)
+ else()
+ set(BUNDLE_LIBS ${BUNDLE_LIBS} -lCSPosd -lCSPgui -lCSPavio)
+ endif()
endif()
if(USE_QT_5)
set(BUNDLE_LIBS ${BUNDLE_LIBS} ${THREADS_LIBRARY})
if(DEFINED VM_NAME)
- add_subdirectory(../../src/vm/${VM_NAME} vm/${VM_NAME})
-# if(USE_FMGEN)
-# add_subdirectory(../../src/vm/fmgen vm/fmgen)
-# endif()
- add_subdirectory(../../src/qt/machines/${VM_NAME} qt/${VM_NAME})
- add_subdirectory(../../src/qt/common qt/common)
+ if(USE_DEVICES_SHARED_LIB)
+ add_subdirectory(../../src/vm/${VM_NAME} vm/${VM_NAME})
+ add_subdirectory(../../src/qt/machines/${VM_NAME} qt/${VM_NAME})
+ add_subdirectory(../../src/qt/common qt/common)
+ else()
+ add_subdirectory(../../src/vm/${VM_NAME} vm/${VM_NAME})
+ #add_subdirectory(../../src/vm vm/common)
+ #add_subdirectory(../../src common/common)
+ if(USE_FMGEN)
+ add_subdirectory(../../src/vm/fmgen vm/fmgen)
+ endif()
+ add_subdirectory(../../src/qt/machines/${VM_NAME} qt/${VM_NAME})
+ add_subdirectory(../../src/qt/common qt/common)
+ endif()
endif()