From 253bcbedb2767e23023cfe365649947082cf2af2 Mon Sep 17 00:00:00 2001 From: Andrey Astafyev Date: Wed, 23 Jun 2021 01:30:10 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A4=D0=BE=D1=80=D0=BC=D0=B0=D1=82=D0=B8?= =?UTF-8?q?=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FindMyxlib.cmake | 48 +++++++++++++++++++++++++------------- FindMyxlibThirdparty.cmake | 35 +++++++++++++++++---------- 2 files changed, 55 insertions(+), 28 deletions(-) diff --git a/FindMyxlib.cmake b/FindMyxlib.cmake index 9827bc4..74058c2 100644 --- a/FindMyxlib.cmake +++ b/FindMyxlib.cmake @@ -1,21 +1,37 @@ -set(MYXLIB_PREFIX "" CACHE PATH "The path to the previx of an myxlib installation") +if(NOT MYXLIB_PREFIX STREQUAL CMAKE_BINARY_DIR) + set(MYXLIB_PREFIX + "" + CACHE PATH "The path to the previx of an myxlib installation") -find_path(MYXLIB_INCLUDE_DIRS NAMES myx/core/config.hpp PATHS ${MYXLIB_PREFIX}/include) -find_library(MYXLIB_QT_LIBRARY NAMES myx-qt PATHS ${MYXLIB_PREFIX}/lib) -find_library(MYXLIB_FILESYSTEM_LIBRARY NAMES myx-filesystem PATHS ${MYXLIB_PREFIX}/lib) + find_path( + MYXLIB_INCLUDE_DIRS + NAMES myx/core/config.hpp + PATHS ${MYXLIB_PREFIX}/include) + find_library( + MYXLIB_QT_LIBRARY + NAMES myx-qt + PATHS ${MYXLIB_PREFIX}/lib) + find_library( + MYXLIB_FILESYSTEM_LIBRARY + NAMES myx-filesystem + PATHS ${MYXLIB_PREFIX}/lib) -if(MYXLIB_INCLUDE_DIRS AND MYXLIB_QT_LIBRARY AND MYXLIB_FILESYSTEM_LIBRARY) - get_filename_component(MYXLIB_LIBRARY_DIR ${MYXLIB_QT_LIBRARY} DIRECTORY CACHE) - set(MYXLIB_FOUND TRUE) -endif() - -if(MYXLIB_FOUND) - if(NOT MYXLIB_FIND_QUIETLY) - MESSAGE(STATUS "Found myxlib") + if(MYXLIB_INCLUDE_DIRS + AND MYXLIB_QT_LIBRARY + AND MYXLIB_FILESYSTEM_LIBRARY) + get_filename_component(MYXLIB_LIBRARY_DIR ${MYXLIB_QT_LIBRARY} DIRECTORY + CACHE) + set(MYXLIB_FOUND TRUE) endif() - set(HAVE_MYXLIB 1) -elseif(MYXLIB_FOUND) - if(MYXLIB_FIND_REQUIRED) - message(FATAL_ERROR "Could not find myxlib") + + if(MYXLIB_FOUND) + if(NOT MYXLIB_FIND_QUIETLY) + message(STATUS "Found myxlib") + endif() + set(HAVE_MYXLIB 1) + elseif(MYXLIB_FOUND) + if(MYXLIB_FIND_REQUIRED) + message(FATAL_ERROR "Could not find myxlib") + endif() endif() endif() diff --git a/FindMyxlibThirdparty.cmake b/FindMyxlibThirdparty.cmake index b60d5b9..4d470a9 100644 --- a/FindMyxlibThirdparty.cmake +++ b/FindMyxlibThirdparty.cmake @@ -2,16 +2,27 @@ include(ExternalProject) ExternalProject_Add( - 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 - ) + 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) -set(MYXLIB_PREFIX ${CMAKE_BINARY_DIR} CACHE FILEPATH "" FORCE) -set(MYXLIB_INCLUDE_DIRS ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_INCLUDEDIR} CACHE PATH "" FORCE) -set(MYXLIB_LIBRARY_DIR ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR} CACHE PATH "" FORCE) -set(MYXLIB_QT_LIBRARY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}/libmyx-qt.a CACHE FILEPATH "" FORCE) -set(MYXLIB_FILESYSTEM_LIBRARY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}/libmyx-filesystem.a CACHE FILEPATH "" FORCE) +set(MYXLIB_PREFIX + ${CMAKE_BINARY_DIR} + CACHE FILEPATH "" FORCE) +set(MYXLIB_INCLUDE_DIRS + ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_INCLUDEDIR} + CACHE PATH "" FORCE) +set(MYXLIB_LIBRARY_DIR + ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR} + CACHE PATH "" FORCE) +set(MYXLIB_QT_LIBRARY + ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}/libmyx-qt.a + CACHE FILEPATH "" FORCE) +set(MYXLIB_FILESYSTEM_LIBRARY + ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}/libmyx-filesystem.a + CACHE FILEPATH "" FORCE)