mirror of
https://github.com/carp-lang/Carp.git
synced 2024-10-05 17:47:30 +03:00
63 lines
1.4 KiB
CMake
63 lines
1.4 KiB
CMake
cmake_minimum_required(VERSION 2.8)
|
|
|
|
project(carp-repl)
|
|
|
|
set(VERSION_MAJOR "0")
|
|
set(VERSION_MINOR "0")
|
|
set(VERSION_PATCH "1")
|
|
set(VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}")
|
|
|
|
# use c99
|
|
set(CMAKE_C_FLAGS "--std=c99 ${CMAKE_C_FLAGS}")
|
|
|
|
if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
|
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_GNU_SOURCE")
|
|
|
|
# linux uses pkg config
|
|
Include(FindPkgConfig)
|
|
PKG_SEARCH_MODULE(LIBFFI REQUIRED libffi)
|
|
else()
|
|
# other systems use manually set paths
|
|
# set name must match the one set by pkg config
|
|
set(LIBFFI_INCLUDE_DIRS
|
|
"${PROJECT_SOURCE_DIR}/../libffi/x86_64-apple-darwin15.3.0/include"
|
|
CACHE
|
|
PATH
|
|
"libffi include directory")
|
|
|
|
# set name must match the one set by pkg config
|
|
set(LIBFFI_LIBRARIES
|
|
"${PROJECT_SOURCE_DIR}/../libffi/x86_64-apple-darwin15.3.0/.libs"
|
|
CACHE
|
|
PATH
|
|
"libffi library directory")
|
|
endif()
|
|
|
|
set(SOURCE_DIR src)
|
|
include(globfiles.cmake)
|
|
|
|
include_directories(
|
|
${LIBFFI_INCLUDE_DIRS})
|
|
|
|
link_directories(
|
|
${LIBFFI_LIBRARIES})
|
|
|
|
add_executable(${PROJECT_NAME} ${${PROJECT_NAME}_h} ${${PROJECT_NAME}_c})
|
|
|
|
target_link_libraries(${PROJECT_NAME}
|
|
ffi
|
|
m
|
|
c
|
|
pthread
|
|
dl)
|
|
|
|
set_target_properties(${PROJECT_NAME}
|
|
PROPERTIES
|
|
RUNTIME_OUTPUT_DIRECTORY "${PROJECT_SOURCE_DIR}/bin")
|
|
|
|
add_custom_target(
|
|
format
|
|
COMMAND find . -iname '*.[ch]' | xargs clang-format -style=file -i
|
|
)
|
|
|