Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions .conan/profiles/compiler/intel
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
[settings]
compiler=intel-cc
compiler.mode=icx

{% set os = detect_api.detect_os() %}
{% if os == "Linux" %}
[conf]
tools.intel:installation_path=/opt/intel/oneapi/
[buildenv]
CC=icx
CXX=icpx
{% endif %}
{% if os == "Windows" %}
[conf]
tools.intel:installation_path=C:\Program Files (x86)\Intel\oneAPI
[buildenv]
CC=icx
CXX=icx
{% endif %}
4 changes: 4 additions & 0 deletions .conan/profiles/intel/2023.2/compiler
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
include(../../compiler/intel)

[settings]
compiler.version=2023.2
7 changes: 7 additions & 0 deletions .conan/profiles/intel/2023.2/x64-libstdc++-debug
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
include(../../default)
include(../../arch/x64)
include(../../cpp/23)
include(../../config/debug)
include(../../os/current)
include(../../packages/settings)
include(compiler)
7 changes: 7 additions & 0 deletions .conan/profiles/intel/2023.2/x64-libstdc++-msr
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
include(../../default)
include(../../arch/x64)
include(../../cpp/23)
include(../../config/min-size-rel)
include(../../os/current)
include(../../packages/settings)
include(compiler)
7 changes: 7 additions & 0 deletions .conan/profiles/intel/2023.2/x64-libstdc++-release
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
include(../../default)
include(../../arch/x64)
include(../../cpp/23)
include(../../config/release)
include(../../os/current)
include(../../packages/settings)
include(compiler)
7 changes: 7 additions & 0 deletions .conan/profiles/intel/2023.2/x64-libstdc++-rwdi
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
include(../../default)
include(../../arch/x64)
include(../../cpp/23)
include(../../config/rel-with-deb-info)
include(../../os/current)
include(../../packages/settings)
include(compiler)
2 changes: 1 addition & 1 deletion .conan/profiles/packages/settings
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{% set os = detect_api.detect_os() %}
{% if os == "Linux" -%}
{% if os == "Linux" %}
[settings]
mold*:build_type=Release
onetbb*:build_type=Release
Expand Down
1 change: 1 addition & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ include(GNUInstallDirs)
include(CMakeDependentOption)
include(CMakePackageConfigHelpers)

option(MORPHEUS_BUILD_WITH_INTEL "Enable Intel oneAPI DPC++/C++ Compiler" ON)
option(MORPHEUS_LINK_WITH_MOLD "Enable the mold linker" ON)
cmake_dependent_option(MORPHEUS_CODE_COVERAGE "Enable code coverage" ON "\"${CMAKE_CXX_COMPILER_ID}\" STREQUAL \"Clang\" OR \"${CMAKE_CXX_COMPILER_ID}\" STREQUAL \"GNU\"" OFF)
cmake_dependent_option(MORPHEUS_INCLUDE_NATVIS "Enable inclusion of a natvis files for debugging" ON "\"${CMAKE_CXX_COMPILER_ID}\" STREQUAL \"MSVC\"" OFF)
Expand Down
8 changes: 8 additions & 0 deletions cmake/compiler.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -33,4 +33,12 @@ target_compile_options(MorpheusConfig
$<$<CXX_COMPILER_ID:MSVC>:${MSVC_WARNINGS}>
$<$<CXX_COMPILER_ID:GNU>:${GCC_WARNINGS}>
$<$<OR:$<CXX_COMPILER_ID:Clang>,$<CXX_COMPILER_ID:AppleClang>>:${CLANG_WARNINGS}>
<$<CXX_COMPILER_ID:IntelLLVM>:${CLANG_WARNINGS}>
)

if (${MORPHEUS_BUILD_WITH_INTEL})
find_package(IntelSYSCL REQUIRED)
message(STATUS "Morpheus: found Intel One API DPC++/C++ Compiler.")
set(CMAKE_C_COMPILER icx PARENT_SCOPE)
set(CMAKE_CXX_COMPILER icpx PARENT_SCOPE)
endif()
2 changes: 1 addition & 1 deletion cmake/linker.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR

include_guard(GLOBAL)

if (${MORPHEUS_LINK_WITH_MOLD})
if (${MORPHEUS_LINK_WITH_MOLD} AND NOT ${MORPHEUS_BUILD_WITH_INTEL})
find_program(MOLD_BIN mold REQUIRED)
if(MOLD_BIN)
message(STATUS "Morpheus: Mold linker found: ${MOLD_BIN}. Enabling mold as active linker.")
Expand Down
2 changes: 1 addition & 1 deletion conanfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ def _minimum_cpp_standard(self):
@property
def _minimum_compilers_version(self):
return {
# "intel-cc": "??"
"intel-cc": "2023.2",
"msvc": "16",
"gcc": "11",
"clang": "13",
Expand Down