project(R3)
cmake_minimum_required(VERSION 2.6)
set(R3_VENDOR_DIR ${R3_SOURCE_DIR}/vendor)
if(CMAKE_HOST_UNIX)
set(R3_REBOL_PLATFORM Linux-libc6-x86)
set(R3_PLATFORM_SOURCE_DIR posix)
set(R3_TO_TARGET LINUX)
elseif(CMAKE_HOST_WIN32)
set(R3_REBOL_PLATFORM Windows-win32-x86)
set(R3_PLATFORM_SOURCE_DIR win32)
set(R3_TO_TARGET WIN32)
endif()
configure_file(
${R3_SOURCE_DIR}/src/include/reb-to.h.in
${R3_BINARY_DIR}/src/include/reb-to.h)
set(R3_SOURCES
src/os/host-main.c
src/os/host-args.c
src/os/host-device.c
src/os/host-stdio.c
src/os/dev-dns.c
src/os/dev-net.c
src/os/${R3_PLATFORM_SOURCE_DIR}/host-init.c
src/os/${R3_PLATFORM_SOURCE_DIR}/host-lib.c
src/os/${R3_PLATFORM_SOURCE_DIR}/dev-file.c
src/os/${R3_PLATFORM_SOURCE_DIR}/dev-stdio.c)
if(CMAKE_HOST_UNIX)
set(R3_PLATFORM_SOURCES
src/os/${R3_PLATFORM_SOURCE_DIR}/host-readline.c)
elseif(CMAKE_HOST_WIN32)
set(R3_PLATFORM_SOURCES
src/os/${R3_PLATFORM_SOURCE_DIR}/dev-event.c
src/os/${R3_PLATFORM_SOURCE_DIR}/dev-clipboard.c)
endif()
include_directories(
${R3_SOURCE_DIR}/src/include
${R3_SOURCE_DIR}/src/include/${R3_PLATFORM_SOURCE_DIR}
${R3_BINARY_DIR}/src/include)
link_directories(
${R3_VENDOR_DIR}/r3-host-a96/lib/${R3_REBOL_PLATFORM})
add_executable(core
${R3_SOURCES}
${R3_PLATFORM_SOURCES})
if(CMAKE_HOST_UNIX)
target_link_libraries(core
r3)
set_target_properties(core PROPERTIES
COMPILE_FLAGS "-m32 -O1 -D_FILE_OFFSET_BITS=64"
LINK_FLAGS "-m32")
elseif(CMAKE_HOST_WIN32)
target_link_libraries(core
r3lib
wsock32)
set_target_properties(core PROPERTIES
COMPILE_FLAGS "/DUNICODE"
LINK_FLAGS "/SUBSYSTEM:WINDOWS")
endif()