49 lines
1.2 KiB
CMake
49 lines
1.2 KiB
CMake
cmake_minimum_required(VERSION 2.6)
|
|
cmake_policy(VERSION 2.6)
|
|
if(POLICY CMP0037)
|
|
cmake_policy(SET CMP0037 OLD)
|
|
endif()
|
|
|
|
PROJECT(picrin)
|
|
|
|
# load extra cmake modules
|
|
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/")
|
|
|
|
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY bin)
|
|
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY lib)
|
|
set(CMAKE_C_FLAGS "-O2 -Wall -Wextra")
|
|
set(CMAKE_C_FLAGS_DEBUG "-O0 -g -DDEBUG=1")
|
|
|
|
option(STRICT_C89_MODE "Strict c89 mode" OFF)
|
|
if(STRICT_C89_MODE)
|
|
add_definitions(-std=c89 -ansi -pedantic)
|
|
endif()
|
|
|
|
include_directories(extlib/benz/include)
|
|
|
|
# build picrin
|
|
include(piclib/CMakeLists.txt)
|
|
include(contrib/CMakeLists.txt)
|
|
include(src/CMakeLists.txt)
|
|
include(docs/CMakeLists.txt)
|
|
|
|
# ----
|
|
|
|
# $ make run
|
|
add_custom_target(run bin/picrin DEPENDS repl)
|
|
|
|
# $ make test
|
|
add_custom_target(test DEPENDS test-r7rs test-contribs)
|
|
|
|
# $ make test-r7rs
|
|
add_custom_target(test-r7rs bin/picrin ${PROJECT_SOURCE_DIR}/t/r7rs-tests.scm DEPENDS repl)
|
|
|
|
# $ make test-contribs
|
|
add_custom_target(test-contribs DEPENDS ${CONTRIB_TESTS})
|
|
|
|
# $ make tak
|
|
add_custom_target(tak bin/picrin ${PROJECT_SOURCE_DIR}/etc/tak.scm DEPENDS repl)
|
|
|
|
# $ make lines
|
|
add_custom_target(lines find . -name "*.[chyl]" | xargs wc -l WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})
|