X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=source%2Fbuild-cmake%2Fcmake%2Fconfig_commonsource.cmake;h=04f799898b112654c27afe7e598a26f51e645397;hb=840a9fe11de6d66f0430a999816edee30b498a11;hp=367db05fe466a46d3721dfddd822c8545132fa42;hpb=0e8395279dd04d575a4fec5e3e26eef2e31fd132;p=csp-qt%2Fcommon_source_project-fm7.git diff --git a/source/build-cmake/cmake/config_commonsource.cmake b/source/build-cmake/cmake/config_commonsource.cmake index 367db05fe..04f799898 100644 --- a/source/build-cmake/cmake/config_commonsource.cmake +++ b/source/build-cmake/cmake/config_commonsource.cmake @@ -4,9 +4,12 @@ # 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 @@ -14,19 +17,23 @@ if(USE_DEVICES_SHARED_LIB) 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() @@ -48,6 +55,9 @@ 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() @@ -60,10 +70,13 @@ 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}) @@ -102,19 +115,24 @@ else() 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) @@ -122,6 +140,18 @@ include_directories(${THREADS_INCLUDE_PATH}) 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) @@ -161,6 +191,12 @@ else() endif() endif() +include(FindZLIB) +if(ZLIB_FOUND) + add_definitions(-DUSE_ZLIB) + include_directories(${ZLIB_INCLUDE_DIRS}) +endif() + # GCC Only? if(CMAKE_COMPILER_IS_GNUCC) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -flax-vector-conversions") @@ -207,6 +243,7 @@ endif() 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) @@ -219,6 +256,13 @@ endif() 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) @@ -227,19 +271,26 @@ if(DEFINED VM_NAME) # else() # set(DEBUG_LIBS) # endif() - -if(WIN32) - set(LOCAL_LIBS + 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 qt_${VM_NAME} vm_${VM_NAME} - ${VM_APPEND_LIBS} - ${FMGEN_LIB} vm_vm + ${VM_APPEND_LIBS} ${DEBUG_LIBS} common_common ) -else() + else() set(LOCAL_LIBS common_emu qt_${VM_NAME} @@ -249,11 +300,12 @@ else() ${DEBUG_LIBS} common_common ) - endif() + endif() endif() include(simd-x86) + if(WIN32) set(BUNDLE_LIBS ${OPENGL_LIBRARY} @@ -264,12 +316,14 @@ if(WIN32) ${SDL_LIBS} ${LIBAV_LIBRARIES} ${ADDITIONAL_LIBRARIES} + ${ZLIB_LIBRARIES} ) #SET(CMAKE_C_ARCHIVE_CREATE " qcs ") #SET(CMAKE_C_ARCHIVE_FINISH true) #SET(CMAKE_CXX_ARCHIVE_CREATE " qcs ") #SET(CMAKE_CXX_ARCHIVE_FINISH true) else() + add_definitions(-D_UNICODE) set(BUNDLE_LIBS # ${OPENGL_LIBRARY} ${OPENCL_LIBRARY} @@ -279,20 +333,32 @@ else() # ${LIBAV_LIBRARIES} ${ADDITIONAL_LIBRARIES} ) - set(BUNDLE_LIBS ${BUNDLE_LIBS} -lCSPosd -lCSPfmgen -lCSPcommon_vm -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} ${QT_LIBRARIES}) + set(BUNDLE_LIBS ${BUNDLE_LIBS} ${QT_LIBRARIES} ${ZLIB_LIBRARIES}) endif() 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()