Files
clang-p2996/openmp/runtime/cmake/Clang/CFlags.cmake
Jim Cownie 3b81ce6b15 After three iterations of community review, we believe that this new
CMAKE buld system should meet everyone's requirements.

Enhanced CMake Build System Commit 

* Supports Linux, Mac, Windows, and Intel® Xeon Phi builds
* Supports building with gcc, icc, clang, and Visual Studio compilers
* Supports bulding "fat" libraries on OS/X with clang
* Details and documentation on how to use build system 
  are in Build_With_CMake.txt
* To use the old CMake build system (corresponds to 
  CMakeLists.txt.old), just rename CMakeLists.txt to
  CMakeLists.txt.other and rename CMakeLists.txt.old to
  CMakeLists.txt

llvm-svn: 214850
2014-08-05 09:32:28 +00:00

39 lines
1.8 KiB
CMake

# This file holds Clang (clang/clang++) specific compiler dependent flags
# The flag types are:
# 1) C/C++ Compiler flags
# 2) Linker flags
#########################################################
# C/C++ Compiler flags
function(append_compiler_specific_c_and_cxx_flags input_c_flags input_cxx_flags)
set(local_c_flags)
set(local_cxx_flags)
append_c_and_cxx_flags("-std=c++0x") # Enables support for many C++11 (formerly known as C++0x) features. The following are the most recently added features:
append_c_and_cxx_flags("-fno-exceptions") # Exception handling table generation is disabled.
append_c_and_cxx_flags("-x c++") # Compile C files as C++ files
if(${IA32})
append_c_and_cxx_flags("-m32") # Generate 32 bit IA-32 architecture code
append_c_and_cxx_flags("-msse2") # Allow use of Streaming SIMD Instructions
elseif(${ARM})
append_c_and_cxx_flags("-marm") # Target the ARM architecture
endif()
append_c_and_cxx_flags("-Wno-unused-value") # Don't warn about unused values
append_c_and_cxx_flags("-Wno-switch") # Don't warn about switch statements that don't cover entire range of values
set(${input_c_flags} ${${input_c_flags}} "${local_c_flags}" PARENT_SCOPE)
set(${input_cxx_flags} ${${input_cxx_flags}} "${local_cxx_flags}" PARENT_SCOPE)
endfunction()
#########################################################
# Linker flags
function(append_compiler_specific_linker_flags input_ld_flags input_ld_flags_libs)
set(local_ld_flags)
set(local_ld_flags_libs)
if(${IA32})
append_linker_flags("-m32")
append_linker_flags("-msse2")
endif()
set(${input_ld_flags} ${${input_ld_flags}} "${local_ld_flags}" PARENT_SCOPE)
set(${input_ld_flags_libs} ${${input_ld_flags_libs}} "${local_ld_flags_libs}" PARENT_SCOPE)
endfunction()