Skip to content

Commit

Permalink
Add summary of compiler flags for foam-python
Browse files Browse the repository at this point in the history
use -march=native in Python code.
  • Loading branch information
zhujun98 committed Jun 16, 2020
1 parent 83d38a4 commit 47ab49f
Show file tree
Hide file tree
Showing 3 changed files with 56 additions and 4 deletions.
15 changes: 15 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@
cmake_minimum_required(VERSION 3.13)
project(extra-foam LANGUAGES CXX)

message(STATUS " C++ flags (Release): ${CMAKE_CXX_FLAGS} ")
message(STATUS " C++ flags (Release): ${CMAKE_CXX_FLAGS_DEBUG} ")
message(STATUS " C++ flags (Release): ${CMAKE_CXX_FLAGS_RELEASE}")

set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
Expand Down Expand Up @@ -146,6 +150,17 @@ if(BUILD_FOAM_TESTS)
add_subdirectory(test)
endif()

# ============
# Build flags
# ============

if(CMAKE_CXX_COMPILER_VERSION)
set(FOAM_COMPILER_STR "${CMAKE_CXX_COMPILER} ${CMAKE_CXX_COMPILER_ARG1} (version ${CMAKE_CXX_COMPILER_VERSION})")
else()
set(FOAM_COMPILER_STR "${CMAKE_CXX_COMPILER} ${CMAKE_CXX_COMPILER_ARG1}")
endif()
string(STRIP "${FOAM_COMPILER_STR}" FOAM_COMPILER_STR)

# ============
# Installation
# ============
Expand Down
27 changes: 27 additions & 0 deletions src/extra_foam/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,33 @@
# All rights reserved. #
###################################################################

# ============
# Build flags
# ============

if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID MATCHES "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Intel")
if(NOT CMAKE_CXX_FLAGS MATCHES "-march")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native")
endif()
endif()

message(STATUS "=========================== EXtra-foam Python ============================")
message(STATUS "")
message(STATUS " C++ Compiler: ${FOAM_COMPILER_STR}")
message(STATUS " C++ flags (Release): ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_RELEASE}")
message(STATUS " C++ flags (Debug): ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_DEBUG}")
message(STATUS " Linker flags (Release): ${CMAKE_SHARED_LINKER_FLAGS} ${CMAKE_SHARED_LINKER_FLAGS_RELEASE}")
message(STATUS " Linker flags (Debug): ${CMAKE_SHARED_LINKER_FLAGS} ${CMAKE_SHARED_LINKER_FLAGS_DEBUG}")
message(STATUS "")
message(STATUS " USE TBB in FOAM/XTENSOR: ${FOAM_USE_TBB}/${XTENSOR_USE_TBB}")
message(STATUS " USE XSIMD in FOAM/XTENSOR: ${FOAM_USE_XSIMD}/${XTENSOR_USE_XSIMD}")
message(STATUS "")
message(STATUS "==========================================================================")

# ===============
# Build libraries
# ===============

set(_FOAM_MODULE_FILES
f_canny.cpp
f_datamodel.cpp
Expand Down
18 changes: 14 additions & 4 deletions test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,6 @@
# All rights reserved. #
###################################################################

if(NOT CMAKE_CXX_FLAGS MATCHES "-march")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native")
endif()

# Download and unpack googletest at configure time
configure_file(downloadGTest.cmake.in googletest-download/CMakeLists.txt)

Expand Down Expand Up @@ -61,6 +57,20 @@ set(_FOAM_UNITTEST_TARGETS_NEED_BLAS

set(CMAKE_BUILD_RPATH "${CMAKE_PREFIX_PATH}/lib")

if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID MATCHES "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Intel")
if(NOT CMAKE_CXX_FLAGS MATCHES "-march")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native")
endif()
endif()

if (CMAKE_CXX_COMPILER_ID MATCHES "GNU")
if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER "7")
# solve the linker error with test_tbb.cpp:
# undefined reference to symbol 'clock_gettime@@GLIBC_2.2.5'
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -lrt")
endif()
endif()

foreach(pathname IN LISTS _FOAM_UNITTESTS)
get_filename_component(filename ${pathname} NAME)
string(REPLACE ".cpp" "" targetname ${filename})
Expand Down

0 comments on commit 47ab49f

Please sign in to comment.