59 lines
2.0 KiB
CMake
59 lines
2.0 KiB
CMake
# removing legacy flags like -m64
|
|
# flag -m64 may be needed for C code lg_util/opsys.h
|
|
|
|
# ======= C flags =========================================
|
|
if("${CMAKE_C_COMPILER_ID}" MATCHES "Clang")
|
|
MESSAGE(STATUS " C compiler: Clang")
|
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -w -m64")
|
|
|
|
execute_process(COMMAND clang --version OUTPUT_VARIABLE clang_version_output)
|
|
string(REGEX MATCH "[0-9]+" clang_version "${clang_version_output}")
|
|
|
|
if (clang_version AND clang_version GREATER_EQUAL 15)
|
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-error=implicit-int")
|
|
endif()
|
|
|
|
elseif ("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU")
|
|
MESSAGE(STATUS " C compiler: GNU GCC")
|
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -w -m64")
|
|
|
|
elseif ("${CMAKE_C_COMPILER_ID}" STREQUAL "Intel")
|
|
MESSAGE(STATUS " C compiler: Intel C")
|
|
|
|
elseif ("${CMAKE_C_COMPILER_ID}" STREQUAL "MSVC")
|
|
MESSAGE(STATUS " C compiler: Microsoft Visual C")
|
|
|
|
else()
|
|
message(STATUS " C compiler not recognized: ${CMAKE_C_COMPILER_ID}")
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -w -m64")
|
|
|
|
endif()
|
|
|
|
# ======= C++ flags =======================================
|
|
if("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
|
|
message(STATUS " C++ compiler: Clang")
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -w -stdlib=libc++ -std=c++0x")
|
|
|
|
execute_process(COMMAND clang --version OUTPUT_VARIABLE clang_version_output)
|
|
string(REGEX MATCH "[0-9]+" clang_version "${clang_version_output}")
|
|
|
|
if (clang_version AND clang_version GREATER_EQUAL 15)
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-error=implicit-int")
|
|
endif()
|
|
|
|
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
|
|
message(STATUS " C++ compiler: GNU G++")
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -w")
|
|
|
|
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel")
|
|
message(STATUS " C++ compiler: Intel C++")
|
|
|
|
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
|
|
message(STATUS " C++ compiler: Microsoft Visual C++")
|
|
|
|
else()
|
|
message(STATUS " C++ compiler not recognized: ${CMAKE_CXX_COMPILER_ID}")
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -w")
|
|
|
|
endif()
|