Add build instructions. Improve build.

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
This commit is contained in:
Leonardo de Moura 2013-07-16 22:11:48 -07:00
parent 139f4f2a7f
commit 501f63e27d
3 changed files with 49 additions and 5 deletions

12
README
View file

@ -9,6 +9,18 @@ Requirements:
- cmake
http://www.cmake.org
Instructions for DEBUG build
mkdir -p build/debug
cd build/debug
cmake -DCMAKE_BUILD_TYPE=DEBUG ../../src
make
Instructions for RELEASE build
mkdir -p build/release
cd build/release
cmake -DCMAKE_BUILD_TYPE=RELEASE ../../src
make
Instructions for installing gcc-4.8 (C++11 compatible) on Ubuntu
Execute:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y

View file

@ -2,11 +2,43 @@ cmake_minimum_required (VERSION 2.8.7)
project (LEAN CXX)
set (LEAN_VERSION_MAJOR 0)
set (LEAN_VERSION_MINOR 1)
set (CMAKE_CXX_COMPILER "g++-4.8")
set (CMAKE_CXX_FLAGS_DEBUG "-DLEAN_DEBUG -DLEAN_TRACE -g")
set (CMAKE_CXX_FLAGS_RELEASE "-O3")
set (CMAKE_COLOR_MAKEFILE ON)
add_definitions(-std=c++11 -Wall)
# Initialize CXXFLAGS.
set(CMAKE_CXX_FLAGS "-Wall -std=c++11")
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -DLEAN_DEBUG -DLEAN_TRACE")
set(CMAKE_CXX_FLAGS_MINSIZEREL "-Os -DNDEBUG")
set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG")
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g")
# Compiler-specific C++11 activation.
if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU")
execute_process(
COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION)
if (NOT (GCC_VERSION VERSION_GREATER 4.8 OR GCC_VERSION VERSION_EQUAL 4.8))
message(FATAL_ERROR "${PROJECT_NAME} requires g++ 4.8 or greater.")
endif ()
elseif ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++")
else ()
message(FATAL_ERROR "Your C++ compiler does not support C++11.")
endif ()
if (GMP_INCLUDE_DIR AND GMP_LIBRARIES)
# Already in cache, be silent
set(GMP_FIND_QUIETLY TRUE)
endif (GMP_INCLUDE_DIR AND GMP_LIBRARIES)
find_path(GMP_INCLUDE_DIR NAMES gmp.h )
find_library(GMP_LIBRARIES NAMES gmp libgmp )
MESSAGE(STATUS "GMP: " ${GMP_LIBRARIES})
include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(GMP DEFAULT_MSG GMP_INCLUDE_DIR GMP_LIBRARIES)
mark_as_advanced(GMP_INCLUDE_DIR GMP_LIBRARIES)
set (CMAKE_CXX_COMPILER "g++-4.8")
add_subdirectory(util)
add_subdirectory(shell)

View file

@ -6,7 +6,7 @@ configure_file (
include_directories("${LEAN_BINARY_DIR}")
include_directories (${LEAN_SOURCE_DIR}/util)
set (EXTRA_LIBS ${EXTRA_LIBS} util gmp)
set (EXTRA_LIBS ${EXTRA_LIBS} util ${GMP_LIBRARIES})
add_executable(lean lean.cpp)
target_link_libraries (lean ${EXTRA_LIBS})