[flang] Add MinSizeRel to .gitignore.
[lldb.git] / flang / CMakeLists.txt
1 cmake_minimum_required(VERSION 3.9.0)
2
3 #
4 # Reminder: The normal way to set the compiler is via the CXX environment variable
5 #  
6 #   CXX=/opt/gcc-7.2.0/bin/g++ cmake .../f18  
7 #
8 # but for convenience we provide the following cmake variables to 
9 # use an existing gcc installation directory.
10 #
11
12 # Pass '-DPGI=1' to cmake to use the latest gcc installation at PGI 
13 if( PGI )  
14   set(GCC /home/sw/thirdparty/gcc/gcc-7.3.0/linux86-64/redhat)
15 endif()
16
17 # Pass -DGCC=... to cmake to use a specific gcc installation 
18 if( GCC ) 
19   set(CMAKE_CXX_COMPILER "${GCC}/bin/g++")
20   set(CMAKE_CC_COMPILER "${GCC}/bin/gcc")
21   set(CMAKE_INSTALL_RPATH "${GCC}/lib64")
22   set(CMAKE_BUILD_WITH_INSTALL_RPATH true)
23 endif()
24
25 # Reminder: Setting CMAKE_CXX_COMPILER must be done before calling project() 
26
27 project(f18 CXX)
28
29 if( NOT CMAKE_BUILD_TYPE )
30   set( CMAKE_BUILD_TYPE Debug )
31 endif()
32 message(STATUS "Build Type: ${CMAKE_BUILD_TYPE}")
33
34 if(CMAKE_COMPILER_IS_GNUCXX)
35    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
36    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -pedantic")
37    set(CMAKE_CXX_FLAGS_RELEASE    "-O2 -DDEBUG")
38    set(CMAKE_CXX_FLAGS_MINSIZEREL "-O2 '-DCHECK=(void)'")
39    set(CMAKE_CXX_FLAGS_DEBUG      "-g -DDEBUG")
40 endif()
41
42 set(FLANG_VERSION_MAJOR      "0")
43 set(FLANG_VERSION_MINOR      "1")
44 set(FLANG_VERSION_PATCHLEVEL "0")
45 set(FLANG_VERSION "${FLANG_VERSION_MAJOR}.${FLANG_VERSION_MINOR}.${FLANG_VERSION_PATCHLEVEL}")
46 message(STATUS "FLANG version: ${FLANG_VERSION}")
47
48 set(FLANG_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
49 set(FLANG_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR})
50
51 include_directories(BEFORE
52   ${FLANG_BINARY_DIR}/include
53   ${FLANG_SOURCE_DIR}/include
54   )
55
56 add_subdirectory(include/flang)
57 add_subdirectory(lib)
58 add_subdirectory(tools)
59
60 configure_file(
61   ${FLANG_SOURCE_DIR}/include/flang/Config/config.h.cmake
62   ${FLANG_BINARY_DIR}/include/flang/Config/config.h)