Модули для поиска с помощью CMake
This commit is contained in:
parent
3d3690ca64
commit
7396f77054
@ -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_path(
|
||||||
find_library(MYXLIB_QT_LIBRARY NAMES myx-qt PATHS ${MYXLIB_PREFIX}/lib)
|
MYXLIB_INCLUDE_DIRS
|
||||||
find_library(MYXLIB_FILESYSTEM_LIBRARY NAMES myx-filesystem PATHS ${MYXLIB_PREFIX}/lib)
|
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)
|
if(MYXLIB_INCLUDE_DIRS
|
||||||
get_filename_component(MYXLIB_LIBRARY_DIR ${MYXLIB_QT_LIBRARY} DIRECTORY CACHE)
|
AND MYXLIB_QT_LIBRARY
|
||||||
|
AND MYXLIB_FILESYSTEM_LIBRARY)
|
||||||
|
get_filename_component(MYXLIB_LIBRARY_DIR ${MYXLIB_QT_LIBRARY} DIRECTORY
|
||||||
|
CACHE)
|
||||||
set(MYXLIB_FOUND TRUE)
|
set(MYXLIB_FOUND TRUE)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(MYXLIB_FOUND)
|
if(MYXLIB_FOUND)
|
||||||
if(NOT MYXLIB_FIND_QUIETLY)
|
if(NOT MYXLIB_FIND_QUIETLY)
|
||||||
MESSAGE(STATUS "Found myxlib")
|
message(STATUS "Found myxlib")
|
||||||
endif()
|
endif()
|
||||||
set(HAVE_MYXLIB 1)
|
set(HAVE_MYXLIB 1)
|
||||||
elseif(MYXLIB_FOUND)
|
elseif(MYXLIB_FOUND)
|
||||||
if(MYXLIB_FIND_REQUIRED)
|
if(MYXLIB_FIND_REQUIRED)
|
||||||
message(FATAL_ERROR "Could not find myxlib")
|
message(FATAL_ERROR "Could not find myxlib")
|
||||||
endif()
|
endif()
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
@ -1,14 +1,40 @@
|
|||||||
ExternalProject_Add(
|
# Подключение внешних проектов
|
||||||
|
include(ExternalProject)
|
||||||
|
|
||||||
|
# cmake-format: off
|
||||||
|
list(APPEND _ext_project_args
|
||||||
myxlib
|
myxlib
|
||||||
SOURCE_DIR ${CMAKE_SOURCE_DIR}/thirdparty/myxlib
|
SOURCE_DIR ${CMAKE_SOURCE_DIR}/thirdparty/myxlib
|
||||||
INSTALL_DIR ${CMAKE_BINARY_DIR}
|
INSTALL_DIR ${CMAKE_BINARY_DIR}
|
||||||
DOWNLOAD_COMMAND ""
|
DOWNLOAD_COMMAND ""
|
||||||
CONFIGURE_COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" -DCMLIB_MAIN_DIR=${CMLIB_MAIN_DIR} ${CMLIB_EXT_PROJ_DEFAULT_ARGS} <SOURCE_DIR>
|
CONFIGURE_COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}"
|
||||||
BUILD_COMMAND true
|
-DCMLIB_MAIN_DIR=${CMLIB_MAIN_DIR}
|
||||||
)
|
${CMLIB_EXT_PROJ_DEFAULT_ARGS}
|
||||||
|
<SOURCE_DIR>)
|
||||||
|
|
||||||
set(MYXLIB_PREFIX ${CMAKE_BINARY_DIR} CACHE FILEPATH "" FORCE)
|
if(MyxlibThirdparty_FIND_COMPONENTS STREQUAL "headers")
|
||||||
set(MYXLIB_INCLUDE_DIRS ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_INCLUDEDIR} CACHE PATH "" FORCE)
|
list(APPEND _ext_project_args
|
||||||
set(MYXLIB_LIBRARY_DIR ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR} CACHE PATH "" FORCE)
|
BUILD_COMMAND true
|
||||||
set(MYXLIB_QT_LIBRARY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}/libmyx-qt.a CACHE FILEPATH "" FORCE)
|
INSTALL_COMMAND ${CMAKE_MAKE_PROGRAM} myxlib-install-headers)
|
||||||
set(MYXLIB_FILESYSTEM_LIBRARY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}/libmyx-filesystem.a CACHE FILEPATH "" FORCE)
|
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}
|
||||||
|
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)
|
||||||
|
Loading…
Reference in New Issue
Block a user