2017-01-11 09:26:20 +00:00
|
|
|
cmake_minimum_required(VERSION 2.8)
|
|
|
|
|
|
|
|
project(machinarium)
|
|
|
|
|
2017-05-18 11:03:00 +00:00
|
|
|
find_package(Threads REQUIRED)
|
|
|
|
set(CMAKE_THREAD_PREFER_PTHREAD true)
|
|
|
|
|
2017-02-07 15:00:27 +00:00
|
|
|
if ("${CMAKE_BUILD_TYPE}" STREQUAL "")
|
|
|
|
set(CMAKE_BUILD_TYPE "Debug")
|
|
|
|
endif()
|
2017-01-11 09:26:20 +00:00
|
|
|
|
|
|
|
if ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
2017-05-18 11:03:00 +00:00
|
|
|
set(CMAKE_C_FLAGS "-std=gnu99 -fPIC -g -O2 -D_GNU_SOURCE -pthread")
|
2017-01-11 09:26:20 +00:00
|
|
|
elseif("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
|
2017-05-18 11:03:00 +00:00
|
|
|
set(CMAKE_C_FLAGS "-std=gnu99 -fPIC -g -O0 -D_GNU_SOURCE -pthread")
|
2017-01-11 09:26:20 +00:00
|
|
|
endif()
|
|
|
|
|
2017-06-27 12:06:54 +00:00
|
|
|
include_directories("${PROJECT_SOURCE_DIR}/sources")
|
|
|
|
include_directories("${PROJECT_BINARY_DIR}/sources")
|
2017-01-11 09:26:20 +00:00
|
|
|
|
2017-05-15 12:32:13 +00:00
|
|
|
option(BUILD_SHARED "Enable SHARED" OFF)
|
2017-05-16 14:31:01 +00:00
|
|
|
option(BUILD_VALGRIND "Enable VALGRIND" ON)
|
2017-03-01 13:21:08 +00:00
|
|
|
|
2017-01-11 09:26:20 +00:00
|
|
|
set(mm_libraries "")
|
|
|
|
|
2017-05-16 14:31:01 +00:00
|
|
|
# valgrind
|
|
|
|
if (BUILD_VALGRIND)
|
|
|
|
find_path(VALGRIND_INCLUDE_PATH "valgrind/valgrind.h"
|
|
|
|
"/usr/include"
|
|
|
|
"/usr/local/include")
|
|
|
|
if (${VALGRIND_INCLUDE_PATH} STREQUAL "VALGRIND_INCLUDE_PATH-NOTFOUND")
|
|
|
|
else()
|
|
|
|
set(HAVE_VALGRIND 1)
|
|
|
|
endif()
|
|
|
|
endif()
|
|
|
|
|
2017-03-24 13:50:23 +00:00
|
|
|
# openssl
|
|
|
|
find_package(OpenSSL)
|
|
|
|
if (NOT OPENSSL_FOUND)
|
|
|
|
endif()
|
|
|
|
set(mm_libraries "${mm_libraries} ${OPENSSL_LIBRARIES}")
|
|
|
|
include_directories("${OPENSSL_INCLUDE_DIR}")
|
|
|
|
|
2017-06-27 12:06:54 +00:00
|
|
|
add_subdirectory(sources)
|
2017-01-11 09:26:20 +00:00
|
|
|
|
|
|
|
message (STATUS "")
|
2017-06-07 11:55:54 +00:00
|
|
|
message (STATUS "MACHINARIUM: Cooperative multitasking framework.")
|
2017-01-11 09:26:20 +00:00
|
|
|
message (STATUS "")
|
2017-05-15 12:32:13 +00:00
|
|
|
message (STATUS "BUILD_SHARED: ${BUILD_SHARED}")
|
2017-05-16 14:31:01 +00:00
|
|
|
message (STATUS "BUILD_VALGRIND: ${BUILD_VALGRIND}")
|
2017-02-07 15:00:27 +00:00
|
|
|
message (STATUS "CMAKE_BUILD_TYPE: ${CMAKE_BUILD_TYPE}")
|
2017-01-13 09:14:12 +00:00
|
|
|
message (STATUS "")
|