Compare commits
6 Commits
ee00e43d25
...
353d92da23
Author | SHA1 | Date | |
---|---|---|---|
353d92da23 | |||
733692f06b | |||
a152033184 | |||
05ef192ebd | |||
fa8fdfac66 | |||
eabd2c4b31 |
@ -1,5 +1,5 @@
|
|||||||
cmake_minimum_required(VERSION 3.0)
|
cmake_minimum_required(VERSION 3.0)
|
||||||
project(myx-cmake VERSION 0.3.4 LANGUAGES)
|
project(myx-cmake VERSION 0.3.6 LANGUAGES)
|
||||||
|
|
||||||
include(GNUInstallDirs)
|
include(GNUInstallDirs)
|
||||||
file(WRITE ${CMAKE_SOURCE_DIR}/MyxCMake/MyxCMakeConfigVersion.cmake
|
file(WRITE ${CMAKE_SOURCE_DIR}/MyxCMake/MyxCMakeConfigVersion.cmake
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# Подключение внешних проектов
|
# Подключение внешних проектов
|
||||||
include(ExternalProject)
|
include(ExternalProject)
|
||||||
|
|
||||||
if(MPFR_FOUND)
|
if(MPFR_FOUND AND IS_DIRECTORY ${CMAKE_SOURCE_DIR}/thirdparty/mpreal)
|
||||||
ExternalProject_Add(
|
ExternalProject_Add(
|
||||||
mpfrcpp
|
mpfrcpp
|
||||||
SOURCE_DIR ${CMAKE_SOURCE_DIR}/thirdparty/mpreal
|
SOURCE_DIR ${CMAKE_SOURCE_DIR}/thirdparty/mpreal
|
||||||
@ -9,7 +9,8 @@ if(MPFR_FOUND)
|
|||||||
CONFIGURE_COMMAND true
|
CONFIGURE_COMMAND true
|
||||||
BUILD_COMMAND true
|
BUILD_COMMAND true
|
||||||
INSTALL_COMMAND ${CMAKE_COMMAND} -E copy <SOURCE_DIR>/mpreal.h <INSTALL_DIR>)
|
INSTALL_COMMAND ${CMAKE_COMMAND} -E copy <SOURCE_DIR>/mpreal.h <INSTALL_DIR>)
|
||||||
|
|
||||||
|
set(MPFRCPP_PREFIX ${CMAKE_BINARY_DIR} CACHE FILEPATH "" FORCE)
|
||||||
|
set(MPFRCPP_INCLUDE_DIRS ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_INCLUDEDIR} CACHE PATH "" FORCE)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(MPFRCPP_PREFIX ${CMAKE_BINARY_DIR} CACHE FILEPATH "" FORCE)
|
|
||||||
set(MPFRCPP_INCLUDE_DIRS ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_INCLUDEDIR} CACHE PATH "" FORCE)
|
|
||||||
|
@ -1,11 +1,13 @@
|
|||||||
find_package(Quadmath)
|
function(myx_cmake_enable_high_precision_math)
|
||||||
if(QUADMATH_FOUND)
|
find_package(Quadmath)
|
||||||
add_definitions(-DHAVE_QUADMATH=1)
|
if(QUADMATH_FOUND)
|
||||||
else()
|
add_definitions(-DHAVE_QUADMATH=1)
|
||||||
find_package(MPFR)
|
|
||||||
if(MPFR_FOUND)
|
|
||||||
find_package(MPFRCppThirdparty)
|
|
||||||
else()
|
else()
|
||||||
message(FATAL_ERROR "Nor Quadmath, nor MPFR found.")
|
find_package(MPFR)
|
||||||
|
if(MPFR_FOUND)
|
||||||
|
find_package(MPFRCppThirdparty)
|
||||||
|
else()
|
||||||
|
message(FATAL_ERROR "Nor Quadmath, nor MPFR found.")
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endfunction()
|
||||||
|
@ -5,17 +5,18 @@ else()
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
function(myx_cmake_analyze_pvs_studio target)
|
function(myx_cmake_analyze_pvs_studio target)
|
||||||
set(options)
|
if(EXISTS PVS_STUDIO_BIN_PATH AND EXISTS PVS_STUDIO_CONVERTER_PATH)
|
||||||
set(oneValueArgs CHECKS)
|
set(options)
|
||||||
set(multiValueArgs)
|
set(oneValueArgs CHECKS)
|
||||||
if(NOT TARGET myx-cmake-analyze-pvs-studio)
|
set(multiValueArgs)
|
||||||
set(PVS_STUDIO_HEADER "${CMAKE_BINARY_DIR}/include/myx_cmake_pvs_studio_header.hpp")
|
if(NOT TARGET myx-cmake-analyze-pvs-studio)
|
||||||
file(WRITE ${PVS_STUDIO_HEADER}
|
set(PVS_STUDIO_HEADER "${CMAKE_BINARY_DIR}/include/myx_cmake_pvs_studio_header_p.hpp")
|
||||||
"#ifndef MYX_CMAKE_PVS_STUDIO_HEADER_HPP_\n"
|
file(WRITE ${PVS_STUDIO_HEADER}
|
||||||
"#define MYX_CMAKE_PVS_STUDIO_HEADER_HPP_\n"
|
"#ifndef MYX_CMAKE_PVS_STUDIO_HEADER_HPP_\n"
|
||||||
"#pragma once\n"
|
"#define MYX_CMAKE_PVS_STUDIO_HEADER_HPP_\n"
|
||||||
"//-V813_MINSIZE=33\n"
|
"#pragma once\n"
|
||||||
"#endif // MYX_CMAKE_PVS_STUDIO_HEADER_HPP_\n")
|
"//-V813_MINSIZE=33\n"
|
||||||
|
"#endif // MYX_CMAKE_PVS_STUDIO_HEADER_HPP_\n")
|
||||||
|
|
||||||
pvs_studio_add_target(TARGET myx-cmake-analyze-pvs-studio
|
pvs_studio_add_target(TARGET myx-cmake-analyze-pvs-studio
|
||||||
CONFIG ${PVS_STUDIO_CONFIG}
|
CONFIG ${PVS_STUDIO_CONFIG}
|
||||||
@ -26,22 +27,23 @@ function(myx_cmake_analyze_pvs_studio target)
|
|||||||
ARGS --exclude-path ${CMAKE_CURRENT_BINARY_DIR}/${target}_autogen
|
ARGS --exclude-path ${CMAKE_CURRENT_BINARY_DIR}/${target}_autogen
|
||||||
MODE GA:1,2,3;64:1;OP:1,2;CS:1,2)
|
MODE GA:1,2,3;64:1;OP:1,2;CS:1,2)
|
||||||
|
|
||||||
get_target_property(__target_type ${target} TYPE)
|
get_target_property(__target_type ${target} TYPE)
|
||||||
if(${__target_type} STREQUAL INTERFACE_LIBRARY)
|
if(${__target_type} STREQUAL INTERFACE_LIBRARY)
|
||||||
set(__target_type INTERFACE)
|
set(__target_type INTERFACE)
|
||||||
else()
|
else()
|
||||||
set(__target_type PRIVATE)
|
set(__target_type PRIVATE)
|
||||||
endif()
|
endif()
|
||||||
if(MSVC)
|
if(MSVC)
|
||||||
target_compile_options(${target} BEFORE ${__target_type} /FI ${PVS_STUDIO_HEADER})
|
target_compile_options(${target} BEFORE ${__target_type} /FI ${PVS_STUDIO_HEADER})
|
||||||
else() # GCC/Clang
|
else() # GCC/Clang
|
||||||
target_compile_options(${target} BEFORE ${__target_type} -include ${PVS_STUDIO_HEADER})
|
target_compile_options(${target} BEFORE ${__target_type} -include ${PVS_STUDIO_HEADER})
|
||||||
endif()
|
endif()
|
||||||
endif()
|
|
||||||
|
|
||||||
if(EXISTS PVS_STUDIO_BIN_PATH AND EXISTS PVS_STUDIO_CONVERTER_PATH AND TARGET myx-cmake-analyze-pvs-studio)
|
add_dependencies(myx-cmake-analyze-pvs-studio ${target})
|
||||||
add_dependencies(myx-cmake-analyze-pvs-studio ${target})
|
get_target_property(__target_source_dir "${target}" SOURCE_DIR)
|
||||||
get_target_property(__target_source_dir "${target}" SOURCE_DIR)
|
pvs_studio_analyze_target("${target}" "${__target_source_dir}")
|
||||||
pvs_studio_analyze_target("${target}" "${__target_source_dir}")
|
endif()
|
||||||
|
else()
|
||||||
|
message(STATUS "MyxCMake: pvs-studio-analyzer not found.")
|
||||||
endif()
|
endif()
|
||||||
endfunction()
|
endfunction()
|
||||||
|
@ -1,4 +1,8 @@
|
|||||||
function(myx_cmake_common_target_properties target)
|
function(myx_cmake_common_target_properties target)
|
||||||
|
if(NOT TARGET ${target})
|
||||||
|
message(FATAL_ERROR "MyxCMake: Target ${target} does not exists.")
|
||||||
|
return()
|
||||||
|
endif()
|
||||||
get_target_property(_target_type ${target} TYPE)
|
get_target_property(_target_type ${target} TYPE)
|
||||||
|
|
||||||
set(__visibility PUBLIC)
|
set(__visibility PUBLIC)
|
||||||
|
@ -12,7 +12,7 @@ popd
|
|||||||
cp -ap debian "$D/myx-cmake-$V"
|
cp -ap debian "$D/myx-cmake-$V"
|
||||||
pushd "$D/myx-cmake-$V"
|
pushd "$D/myx-cmake-$V"
|
||||||
dch -D unstable -v "${V}-1" -m "New version."
|
dch -D unstable -v "${V}-1" -m "New version."
|
||||||
debuild
|
debuild --no-sign
|
||||||
popd
|
popd
|
||||||
cp -f ${D}/myx*deb .
|
cp -f ${D}/myx*deb .
|
||||||
|
|
||||||
|
1
debian/compat
vendored
1
debian/compat
vendored
@ -1 +0,0 @@
|
|||||||
9
|
|
2
debian/control
vendored
2
debian/control
vendored
@ -2,7 +2,7 @@ Source: myx-cmake
|
|||||||
Section: utils
|
Section: utils
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Maintainer: Andrey Astafyev <dev@246060.ru>
|
Maintainer: Andrey Astafyev <dev@246060.ru>
|
||||||
Build-Depends: debhelper (>= 9), cmake
|
Build-Depends: debhelper (>= 9), debhelper-compat (= 9), cmake
|
||||||
Standards-Version: 4.2.0
|
Standards-Version: 4.2.0
|
||||||
|
|
||||||
Package: myx-cmake
|
Package: myx-cmake
|
||||||
|
5
debian/rules
vendored
5
debian/rules
vendored
@ -2,3 +2,8 @@
|
|||||||
|
|
||||||
%:
|
%:
|
||||||
dh $@ --buildsystem=cmake
|
dh $@ --buildsystem=cmake
|
||||||
|
|
||||||
|
override_dh_fixperms:
|
||||||
|
dh_fixperms
|
||||||
|
find debian -name asan-wrapper -print0 | xargs -0 chmod +x
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user