From 97a93a5989684f0bdb7fd57a60baae0e1956366f Mon Sep 17 00:00:00 2001 From: isanae <14251494+isanae@users.noreply.github.com> Date: Sat, 25 Apr 2020 00:51:14 -0400 Subject: [PATCH] now using new cmakefiles --- CMakeLists.txt | 29 ++++--------- src/proxy/CMakeLists.txt | 74 +++------------------------------- src/runner/CMakeLists.txt | 85 ++++++--------------------------------- 3 files changed, 24 insertions(+), 164 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b2e4c5d..2f71515 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,25 +1,10 @@ -CMAKE_MINIMUM_REQUIRED(VERSION 2.8.12) +cmake_minimum_required(VERSION 3.16) -ADD_COMPILE_OPTIONS($<$:/MP> $<$:$<$:/O2>> $<$:$<$:/O2>>) +project(plugin_python) +set(project_type plugin) +set(enable_warnings OFF) -SET(PROJ_NAME plugin_python) +include(../cmake_common/project.cmake) +add_subdirectory(src/proxy) -PROJECT(${PROJ_NAME}) - -SET(DEPENDENCIES_DIR CACHE PATH "") - -# hint to find qt in dependencies path -LIST(APPEND CMAKE_PREFIX_PATH ${QT_ROOT}/lib/cmake) - -# need to install python -IF(EXISTS "${PYTHON_ROOT}/PCbuild/python37.dll") - INSTALL(FILES ${PYTHON_ROOT}/PCbuild/python37.dll DESTINATION bin) - INSTALL(FILES ${PYTHON_ROOT}/PCbuild/python37.pdb DESTINATION pdb) -ELSEIF(EXISTS "${PYTHON_ROOT}/PCbuild/amd64/python27.dll") - INSTALL(FILES ${PYTHON_ROOT}/PCbuild/amd64/python37.dll DESTINATION bin) - INSTALL(FILES ${PYTHON_ROOT}/PCbuild/amd64/python37.pdb DESTINATION pdb) -ENDIF() - - -ADD_SUBDIRECTORY(src/runner) -ADD_SUBDIRECTORY(src/proxy) +add_subdirectory(src/runner) diff --git a/src/proxy/CMakeLists.txt b/src/proxy/CMakeLists.txt index ff53fef..7ee8d36 100644 --- a/src/proxy/CMakeLists.txt +++ b/src/proxy/CMakeLists.txt @@ -1,70 +1,6 @@ -CMAKE_MINIMUM_REQUIRED (VERSION 2.8.11) +cmake_minimum_required(VERSION 3.16) +include(../../../cmake_common/src.cmake) -CMAKE_POLICY(SET CMP0020 NEW) -CMAKE_POLICY(SET CMP0043 NEW) - -SET(${PROJ_NAME}_SRCS proxypython.cpp) - -SET(${PROJ_NAME}_HDRS - proxypython.h - resource.h) - -SET(CMAKE_INCLUDE_CURRENT_DIR ON) -SET(CMAKE_AUTOMOC ON) -SET(CMAKE_AUTOUIC ON) -FIND_PACKAGE(Qt5Widgets REQUIRED) -FIND_PACKAGE(Qt5Network REQUIRED) -#QT5_WRAP_UI(${PROJ_NAME}_UIHDRS ${${PROJ_NAME}_FORMS}) - -SET(Boost_USE_STATIC_LIBS ON) -SET(Boost_USE_MULTITHREADED ON) -SET(Boost_USE_STATIC_RUNTIME OFF) -FIND_PACKAGE(Boost) - -IF (Boost_FOUND) - INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS}) -ENDIF (Boost_FOUND) - -SET(default_project_path "${DEPENDENCIES_DIR}/modorganizer_super") -GET_FILENAME_COMPONENT(${default_project_path} ${default_project_path} REALPATH) - -SET(project_path "${default_project_path}" CACHE PATH "path to the other mo projects") -SET(lib_path "${project_path}/../../install/libs") - -ADD_DEFINITIONS(-DUNICODE -D_UNICODE) - -INCLUDE_DIRECTORIES(${project_path}/uibase/src - ${CMAKE_SOURCE_DIR}/src/runner/ - ${PYTHON_ROOT}/Include) -LINK_DIRECTORIES(${lib_path}) - - -ADD_LIBRARY(${PROJ_NAME} SHARED ${${PROJ_NAME}_HDRS} ${${PROJ_NAME}_SRCS} ${${PROJ_NAME}_UIHDRS}) -TARGET_LINK_LIBRARIES(${PROJ_NAME} - Qt5::Widgets - Qt5::Network - ${Boost_LIBRARIES} - uibase) - -IF (MSVC) - SET_TARGET_PROPERTIES(${PROJ_NAME} PROPERTIES COMPILE_FLAGS "/std:c++latest") -ENDIF() -IF (MSVC AND CMAKE_SIZEOF_VOID_P EQUAL 4) - # 32 bits - SET_TARGET_PROPERTIES(${PROJ_NAME} PROPERTIES LINK_FLAGS "/LARGEADDRESSAWARE") -ENDIF() - -IF (NOT "${OPTIMIZE_COMPILE_FLAGS}" STREQUAL "") - SET_TARGET_PROPERTIES(${PROJ_NAME} PROPERTIES COMPILE_FLAGS_RELWITHDEBINFO ${OPTIMIZE_COMPILE_FLAGS}) -ENDIF() -IF (NOT "${OPTIMIZE_LINK_FLAGS}" STREQUAL "") - SET_TARGET_PROPERTIES(${PROJ_NAME} PROPERTIES LINK_FLAGS_RELWITHDEBINFO ${OPTIMIZE_LINK_FLAGS}) -ENDIF() - -############### -## Installation - -INSTALL(TARGETS ${PROJ_NAME} - RUNTIME DESTINATION bin/plugins) -INSTALL(FILES $ - DESTINATION pdb) +requires_library(python) +target_include_directories(${PROJECT_NAME} PRIVATE + ${CMAKE_SOURCE_DIR}/src/runner) diff --git a/src/runner/CMakeLists.txt b/src/runner/CMakeLists.txt index e237e07..2b7fbf5 100644 --- a/src/runner/CMakeLists.txt +++ b/src/runner/CMakeLists.txt @@ -1,77 +1,16 @@ -CMAKE_MINIMUM_REQUIRED (VERSION 2.8.11) +cmake_minimum_required(VERSION 3.16) -SET(PROJ_NAME pythonrunner) +project(pythonrunner) +set(project_type plugin) +set(enable_warnings OFF) +set(install_dir bin/plugins/data) -PROJECT(${PROJ_NAME}) +add_compile_definitions( + QT_NO_KEYWORDS + PYTHONRUNNER_LIBRARY) -CMAKE_POLICY(SET CMP0020 NEW) +include(../../../cmake_common/project.cmake) +include(../../../cmake_common/src.cmake) - -FILE(GLOB ${PROJ_NAME}_SRCS *.cpp) -FILE(GLOB ${PROJ_NAME}_HDRS *.h) - -SET(CMAKE_INCLUDE_CURRENT_DIR ON) -SET(CMAKE_AUTOMOC ON) -SET(CMAKE_AUTOUIC ON) -ADD_DEFINITIONS(-DQT_NO_KEYWORDS) -FIND_PACKAGE(Qt5Widgets REQUIRED) -FIND_PACKAGE(Qt5Network REQUIRED) -#QT5_WRAP_UI(${PROJ_NAME}_UIHDRS ${${PROJ_NAME}_FORMS}) -FIND_PACKAGE(Qt5LinguistTools) -QT5_CREATE_TRANSLATION(${PROJ_NAME}_translations_qm ${CMAKE_SOURCE_DIR}/src ${CMAKE_SOURCE_DIR}/src/${PROJ_NAME}_en.ts) - -SET(Boost_USE_STATIC_LIBS OFF) -SET(Boost_USE_MULTITHREADED ON) -SET(Boost_USE_STATIC_RUNTIME OFF) -FIND_PACKAGE(Boost REQUIRED) - -IF (Boost_FOUND) - INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS}) -ENDIF (Boost_FOUND) - -SET(default_project_path "${DEPENDENCIES_DIR}/modorganizer_super") -GET_FILENAME_COMPONENT(${default_project_path} ${default_project_path} REALPATH) - -SET(project_path "${default_project_path}" CACHE PATH "path to the other mo projects") -SET(lib_path "${project_path}/../../install/libs") - -INCLUDE_DIRECTORIES(${project_path}/uibase/src - ${project_path}/game_features/src - ${PYTHON_ROOT}/Include - ${PYTHON_ROOT}/PC) - -LINK_DIRECTORIES(${lib_path} - ${PYTHON_ROOT}/PCbuild - ${Boost_LIBRARY_DIRS}) - -ADD_LIBRARY(${PROJ_NAME} SHARED ${${PROJ_NAME}_HDRS} ${${PROJ_NAME}_SRCS} ${${PROJ_NAME}_translations_qm}) -TARGET_LINK_LIBRARIES(${PROJ_NAME} - Qt5::Widgets - Qt5::Network - uibase) - -ADD_DEFINITIONS(-DPYTHONRUNNER_LIBRARY) - -IF (MSVC) - SET_TARGET_PROPERTIES(${PROJ_NAME} PROPERTIES COMPILE_FLAGS "/std:c++latest") -ENDIF() -IF (MSVC AND CMAKE_SIZEOF_VOID_P EQUAL 4) - # 32 bits - SET_TARGET_PROPERTIES(${PROJ_NAME} PROPERTIES LINK_FLAGS "/LARGEADDRESSAWARE") -ENDIF() - -IF (NOT "${OPTIMIZE_COMPILE_FLAGS}" STREQUAL "") - SET_TARGET_PROPERTIES(${PROJ_NAME} PROPERTIES COMPILE_FLAGS_RELWITHDEBINFO ${OPTIMIZE_COMPILE_FLAGS}) -ENDIF() -IF (NOT "${OPTIMIZE_LINK_FLAGS}" STREQUAL "") - SET_TARGET_PROPERTIES(${PROJ_NAME} PROPERTIES LINK_FLAGS_RELWITHDEBINFO ${OPTIMIZE_LINK_FLAGS}) -ENDIF() - -############### -## Installation - -INSTALL(TARGETS ${PROJ_NAME} - RUNTIME DESTINATION bin/plugins/data - ARCHIVE DESTINATION libs) -INSTALL(FILES $ - DESTINATION pdb) +requires_project(game_features) +requires_library(python)