From d8c537801a89dc39bc1ee8c51ad8de8c03dcd67e Mon Sep 17 00:00:00 2001 From: Andrey Astafyev Date: Thu, 24 Jun 2021 10:20:21 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B1=D0=BE=D0=B1=D1=89=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FindMyxlibThirdparty.cmake | 28 +++++++++++++++------- FindPreprocThirdparty.cmake | 42 +++++++++++++-------------------- FindPreprocmathThirdparty.cmake | 36 ++++++++++++---------------- 3 files changed, 52 insertions(+), 54 deletions(-) diff --git a/FindMyxlibThirdparty.cmake b/FindMyxlibThirdparty.cmake index 4d470a9..9a8d2df 100644 --- a/FindMyxlibThirdparty.cmake +++ b/FindMyxlibThirdparty.cmake @@ -1,15 +1,27 @@ # Подключение внешних проектов include(ExternalProject) -ExternalProject_Add( +# cmake-format: off +list(APPEND _ext_project_args myxlib - SOURCE_DIR ${CMAKE_SOURCE_DIR}/thirdparty/myxlib - INSTALL_DIR ${CMAKE_BINARY_DIR} - DOWNLOAD_COMMAND "" - CONFIGURE_COMMAND - ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" -DCMLIB_MAIN_DIR=${CMLIB_MAIN_DIR} - ${CMLIB_EXT_PROJ_DEFAULT_ARGS} - BUILD_COMMAND true) + SOURCE_DIR ${CMAKE_SOURCE_DIR}/thirdparty/myxlib + INSTALL_DIR ${CMAKE_BINARY_DIR} + DOWNLOAD_COMMAND "" + CONFIGURE_COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" + -DCMLIB_MAIN_DIR=${CMLIB_MAIN_DIR} + ${CMLIB_EXT_PROJ_DEFAULT_ARGS} + ) + +if(MyxlibThirdparty_FIND_COMPONENTS STREQUAL "headers") + list(APPEND _ext_project_args + BUILD_COMMAND true + INSTALL_COMMAND ${CMAKE_MAKE_PROGRAM} myxlib-install-headers) +endif() +ExternalProject_Add(${_ext_project_args}) +unset(_ext_project_args) + +set(MYXLIB_IS_EXTERNAL_PROJECT ON CACHE BOOL "" FORCE) +# cmake-format: on set(MYXLIB_PREFIX ${CMAKE_BINARY_DIR} diff --git a/FindPreprocThirdparty.cmake b/FindPreprocThirdparty.cmake index f8e3640..85217ff 100644 --- a/FindPreprocThirdparty.cmake +++ b/FindPreprocThirdparty.cmake @@ -1,35 +1,27 @@ # Подключение внешних проектов include(ExternalProject) +# cmake-format: off +list(APPEND _ext_project_args + libpreproc + DEPENDS libpreprocmath + SOURCE_DIR ${CMAKE_SOURCE_DIR}/thirdparty/libpreproc + INSTALL_DIR ${CMAKE_BINARY_DIR} + DOWNLOAD_COMMAND "" + CONFIGURE_COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" + -DLIBPREPROCMATH_PREFIX=${CMAKE_BINARY_DIR} + -DCMLIB_MAIN_DIR=${CMLIB_MAIN_DIR} + ${CMLIB_EXT_PROJ_DEFAULT_ARGS} ) if(PreprocThirdparty_FIND_COMPONENTS STREQUAL "headers") - ExternalProject_Add( - libpreproc - DEPENDS libpreprocmath - SOURCE_DIR ${CMAKE_SOURCE_DIR}/thirdparty/libpreproc - INSTALL_DIR ${CMAKE_BINARY_DIR} - DOWNLOAD_COMMAND "" - CONFIGURE_COMMAND - ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" - -DLIBPREPROCMATH_PREFIX=${CMAKE_BINARY_DIR} - -DCMLIB_MAIN_DIR=${CMLIB_MAIN_DIR} ${CMLIB_EXT_PROJ_DEFAULT_ARGS} - - BUILD_COMMAND true - INSTALL_COMMAND make preproc-install-headers) -else() - ExternalProject_Add( - libpreproc - DEPENDS libpreprocmath - SOURCE_DIR ${CMAKE_SOURCE_DIR}/thirdparty/libpreproc - INSTALL_DIR ${CMAKE_BINARY_DIR} - DOWNLOAD_COMMAND "" - CONFIGURE_COMMAND - ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" - -DLIBPREPROCMATH_PREFIX=${CMAKE_BINARY_DIR} - -DCMLIB_MAIN_DIR=${CMLIB_MAIN_DIR} ${CMLIB_EXT_PROJ_DEFAULT_ARGS} - ) + list(APPEND _ext_project_args + BUILD_COMMAND true + INSTALL_COMMAND ${CMAKE_MAKE_PROGRAM} preproc-install-headers) endif() +ExternalProject_Add(${_ext_project_args}) +unset(_ext_project_args) set(LIBPREPROC_IS_EXTERNAL_PROJECT ON CACHE BOOL "" FORCE) +# cmake-format: on set(LIBPREPROC_PREFIX ${CMAKE_BINARY_DIR} diff --git a/FindPreprocmathThirdparty.cmake b/FindPreprocmathThirdparty.cmake index 67c67ce..3e52f93 100644 --- a/FindPreprocmathThirdparty.cmake +++ b/FindPreprocmathThirdparty.cmake @@ -1,31 +1,25 @@ # Подключение внешних проектов include(ExternalProject) +# cmake-format: off +list(APPEND _ext_project_args + libpreprocmath + SOURCE_DIR ${CMAKE_SOURCE_DIR}/thirdparty/libpreprocmath + INSTALL_DIR ${CMAKE_BINARY_DIR} + DOWNLOAD_COMMAND "" + CONFIGURE_COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" + -DCMLIB_MAIN_DIR=${CMLIB_MAIN_DIR} + ${CMLIB_EXT_PROJ_DEFAULT_ARGS} ) if(PreprocmathThirdparty_FIND_COMPONENTS STREQUAL "headers") - ExternalProject_Add( - libpreprocmath - SOURCE_DIR ${CMAKE_SOURCE_DIR}/thirdparty/libpreprocmath - INSTALL_DIR ${CMAKE_BINARY_DIR} - DOWNLOAD_COMMAND "" - CONFIGURE_COMMAND - ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" - -DCMLIB_MAIN_DIR=${CMLIB_MAIN_DIR} ${CMLIB_EXT_PROJ_DEFAULT_ARGS} - - BUILD_COMMAND true - INSTALL_COMMAND make preprocmath-install-headers) -else() - ExternalProject_Add( - libpreprocmath - SOURCE_DIR ${CMAKE_SOURCE_DIR}/thirdparty/libpreprocmath - INSTALL_DIR ${CMAKE_BINARY_DIR} - DOWNLOAD_COMMAND "" - CONFIGURE_COMMAND - ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" - -DCMLIB_MAIN_DIR=${CMLIB_MAIN_DIR} ${CMLIB_EXT_PROJ_DEFAULT_ARGS} - ) + list(APPEND _ext_project_args + BUILD_COMMAND true + INSTALL_COMMAND ${CMAKE_MAKE_PROGRAM} preprocmath-install-headers) endif() +ExternalProject_Add(${_ext_project_args}) +unset(_ext_project_args) set(LIBPREPROCMATH_IS_EXTERNAL_PROJECT ON CACHE BOOL "" FORCE) +# cmake-format: on set(LIBPREPROCMATH_PREFIX ${CMAKE_BINARY_DIR}