mirror of
https://github.com/triqs/dft_tools
synced 2024-12-22 12:23:41 +01:00
Merge remote-tracking branch 'app4triqs-remote/unstable' into unstable
This commit is contained in:
commit
6dccb363de
1
.github/workflows/build.yml
vendored
1
.github/workflows/build.yml
vendored
@ -26,6 +26,7 @@ jobs:
|
|||||||
- name: Install ubuntu dependencies
|
- name: Install ubuntu dependencies
|
||||||
if: matrix.os == 'ubuntu-20.04'
|
if: matrix.os == 'ubuntu-20.04'
|
||||||
run: >
|
run: >
|
||||||
|
sudo apt-get update &&
|
||||||
sudo apt-get install
|
sudo apt-get install
|
||||||
clang-10
|
clang-10
|
||||||
g++-10
|
g++-10
|
||||||
|
@ -19,8 +19,8 @@
|
|||||||
#
|
#
|
||||||
# ##############################################################################
|
# ##############################################################################
|
||||||
|
|
||||||
cmake_minimum_required(VERSION 3.3.2 FATAL_ERROR)
|
cmake_minimum_required(VERSION 3.9.6 FATAL_ERROR)
|
||||||
cmake_policy(VERSION 3.3.2)
|
cmake_policy(VERSION 3.9.6)
|
||||||
if(POLICY CMP0074)
|
if(POLICY CMP0074)
|
||||||
cmake_policy(SET CMP0074 NEW)
|
cmake_policy(SET CMP0074 NEW)
|
||||||
endif()
|
endif()
|
||||||
@ -58,13 +58,12 @@ if(NOT IS_SUBPROJECT)
|
|||||||
endif()
|
endif()
|
||||||
set(${PROJECT_NAME}_BINARY_DIR ${PROJECT_BINARY_DIR} CACHE STRING "Binary directory of the ${PROJECT_NAME} Project")
|
set(${PROJECT_NAME}_BINARY_DIR ${PROJECT_BINARY_DIR} CACHE STRING "Binary directory of the ${PROJECT_NAME} Project")
|
||||||
|
|
||||||
|
|
||||||
# ############
|
|
||||||
# Options
|
|
||||||
|
|
||||||
# Make additional Find Modules available
|
# Make additional Find Modules available
|
||||||
list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/share/cmake/Modules)
|
list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/share/cmake/Modules)
|
||||||
|
|
||||||
|
# ############
|
||||||
|
# CMake Options
|
||||||
|
|
||||||
# Default to Release build type
|
# Default to Release build type
|
||||||
if(NOT CMAKE_BUILD_TYPE)
|
if(NOT CMAKE_BUILD_TYPE)
|
||||||
set(CMAKE_BUILD_TYPE Release CACHE STRING "Type of build" FORCE)
|
set(CMAKE_BUILD_TYPE Release CACHE STRING "Type of build" FORCE)
|
||||||
@ -88,13 +87,32 @@ if(Build_Tests)
|
|||||||
enable_testing()
|
enable_testing()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# Build static libraries by default
|
||||||
|
option(BUILD_SHARED_LIBS "Enable compilation of shared libraries" OFF)
|
||||||
|
|
||||||
|
# ############
|
||||||
|
# Global Compilation Settings
|
||||||
|
|
||||||
# Export the list of compile-commands into compile_commands.json
|
# Export the list of compile-commands into compile_commands.json
|
||||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||||
|
|
||||||
# Global compiler options
|
# Disable compiler extensions
|
||||||
option(BUILD_SHARED_LIBS "Enable compilation of shared libraries" OFF)
|
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||||
|
|
||||||
|
# Provide additional debugging information for Debug builds
|
||||||
add_compile_options($<$<CONFIG:Debug>:-ggdb3>)
|
add_compile_options($<$<CONFIG:Debug>:-ggdb3>)
|
||||||
|
|
||||||
|
# Enable Linktime optimizations when available
|
||||||
|
cmake_policy(SET CMP0069 NEW)
|
||||||
|
include(CheckIPOSupported)
|
||||||
|
check_ipo_supported(RESULT ipo_supported)
|
||||||
|
if(NOT ipo_supported)
|
||||||
|
message(STATUS "Linktime optimizations could not be enabled!")
|
||||||
|
else()
|
||||||
|
message(STATUS "Linktime optimizations enabled!")
|
||||||
|
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE)
|
||||||
|
endif()
|
||||||
|
|
||||||
# Create an Interface target for compiler warnings
|
# Create an Interface target for compiler warnings
|
||||||
add_library(${PROJECT_NAME}_warnings INTERFACE)
|
add_library(${PROJECT_NAME}_warnings INTERFACE)
|
||||||
target_compile_options(${PROJECT_NAME}_warnings
|
target_compile_options(${PROJECT_NAME}_warnings
|
||||||
@ -110,10 +128,12 @@ target_compile_options(${PROJECT_NAME}_warnings
|
|||||||
$<$<CXX_COMPILER_ID:Clang>:-Wno-unknown-warning-option>
|
$<$<CXX_COMPILER_ID:Clang>:-Wno-unknown-warning-option>
|
||||||
$<$<CXX_COMPILER_ID:Clang>:-Wshadow>
|
$<$<CXX_COMPILER_ID:Clang>:-Wshadow>
|
||||||
$<$<CXX_COMPILER_ID:Clang>:-Wno-gcc-compat>
|
$<$<CXX_COMPILER_ID:Clang>:-Wno-gcc-compat>
|
||||||
|
$<$<CXX_COMPILER_ID:Clang>:-Wno-c++20-extensions>
|
||||||
$<$<CXX_COMPILER_ID:AppleClang>:-Wno-deprecated-comma-subscript>
|
$<$<CXX_COMPILER_ID:AppleClang>:-Wno-deprecated-comma-subscript>
|
||||||
$<$<CXX_COMPILER_ID:AppleClang>:-Wno-unknown-warning-option>
|
$<$<CXX_COMPILER_ID:AppleClang>:-Wno-unknown-warning-option>
|
||||||
$<$<CXX_COMPILER_ID:AppleClang>:-Wshadow>
|
$<$<CXX_COMPILER_ID:AppleClang>:-Wshadow>
|
||||||
$<$<CXX_COMPILER_ID:AppleClang>:-Wno-gcc-compat>
|
$<$<CXX_COMPILER_ID:AppleClang>:-Wno-gcc-compat>
|
||||||
|
$<$<CXX_COMPILER_ID:AppleClang>:-Wno-c++20-extensions>
|
||||||
)
|
)
|
||||||
|
|
||||||
# #############
|
# #############
|
||||||
|
2
deps/CMakeLists.txt
vendored
2
deps/CMakeLists.txt
vendored
@ -61,7 +61,7 @@ endif()
|
|||||||
# -- GTest --
|
# -- GTest --
|
||||||
external_dependency(GTest
|
external_dependency(GTest
|
||||||
GIT_REPO https://github.com/google/googletest
|
GIT_REPO https://github.com/google/googletest
|
||||||
GIT_TAG release-1.10.0
|
GIT_TAG master
|
||||||
BUILD_ALWAYS
|
BUILD_ALWAYS
|
||||||
EXCLUDE_FROM_ALL
|
EXCLUDE_FROM_ALL
|
||||||
)
|
)
|
||||||
|
@ -20,6 +20,7 @@ foreach(gen ${wrap_generators})
|
|||||||
get_filename_component(module_name ${gen} NAME_WE)
|
get_filename_component(module_name ${gen} NAME_WE)
|
||||||
get_filename_component(module_dir ${gen} DIRECTORY)
|
get_filename_component(module_dir ${gen} DIRECTORY)
|
||||||
add_cpp2py_module(NAME ${module_name} DIRECTORY ${module_dir})
|
add_cpp2py_module(NAME ${module_name} DIRECTORY ${module_dir})
|
||||||
|
add_library(${PROJECT_NAME}::${module_name} ALIAS ${module_name})
|
||||||
target_link_libraries(${module_name} ${PROJECT_NAME}_c triqs_py)
|
target_link_libraries(${module_name} ${PROJECT_NAME}_c triqs_py)
|
||||||
install(TARGETS ${module_name} DESTINATION ${PYTHON_LIB_DEST}/${module_dir})
|
install(TARGETS ${module_name} DESTINATION ${PYTHON_LIB_DEST}/${module_dir})
|
||||||
endforeach()
|
endforeach()
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
#
|
#
|
||||||
# You may obtain a copy of the License at
|
# You may obtain a copy of the License at
|
||||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||||
|
# Author: Nils Wentzell
|
||||||
|
|
||||||
# Recursively fetch all targets that the interface of a target depends upon
|
# Recursively fetch all targets that the interface of a target depends upon
|
||||||
macro(get_all_interface_targets name target)
|
macro(get_all_interface_targets name target)
|
||||||
@ -59,6 +59,13 @@ macro(extract_flags)
|
|||||||
set(${target}_CXXFLAGS "${${target}_CXXFLAGS} ${opt}")
|
set(${target}_CXXFLAGS "${${target}_CXXFLAGS} ${opt}")
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
|
get_property_recursive(cxx_features TARGET ${target} PROPERTY INTERFACE_COMPILE_FEATURES)
|
||||||
|
if(cxx_std_20 IN_LIST cxx_features)
|
||||||
|
set(${target}_CXXFLAGS "${${target}_CXXFLAGS} -std=c++20")
|
||||||
|
elseif(cxx_std_17 IN_LIST cxx_features)
|
||||||
|
set(${target}_CXXFLAGS "${${target}_CXXFLAGS} -std=c++17")
|
||||||
|
endif()
|
||||||
|
|
||||||
get_property_recursive(defs TARGET ${target} PROPERTY INTERFACE_COMPILE_DEFINITIONS)
|
get_property_recursive(defs TARGET ${target} PROPERTY INTERFACE_COMPILE_DEFINITIONS)
|
||||||
foreach(def ${defs})
|
foreach(def ${defs})
|
||||||
set(${target}_CXXFLAGS "${${target}_CXXFLAGS} -D${def}")
|
set(${target}_CXXFLAGS "${${target}_CXXFLAGS} -D${def}")
|
||||||
|
Loading…
Reference in New Issue
Block a user