2017-01-12 11:44:48 +00:00
|
|
|
cmake_minimum_required(VERSION 2.8)
|
|
|
|
|
2018-06-10 09:31:12 +00:00
|
|
|
project(odyssey C)
|
2017-01-12 11:44:48 +00:00
|
|
|
|
|
|
|
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH}
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/cmake)
|
|
|
|
|
2018-07-11 13:50:05 +00:00
|
|
|
execute_process(COMMAND git describe --always
|
|
|
|
OUTPUT_VARIABLE OD_VERSION_GIT
|
|
|
|
RESULT_VARIABLE OD_VERSION_GIT_RESULT
|
|
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
|
|
|
ERROR_QUIET)
|
|
|
|
|
|
|
|
if(NOT "${OD_VERSION_GIT_RESULT}" STREQUAL "0")
|
|
|
|
set(OD_VERSION_GIT "unknown")
|
|
|
|
endif()
|
2017-01-13 13:00:47 +00:00
|
|
|
|
2017-01-27 12:55:32 +00:00
|
|
|
if ("${CMAKE_BUILD_TYPE}" STREQUAL "")
|
|
|
|
set(CMAKE_BUILD_TYPE "Debug")
|
|
|
|
endif()
|
2017-01-12 11:44:48 +00:00
|
|
|
if ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
2017-08-17 14:13:31 +00:00
|
|
|
set(CMAKE_C_FLAGS "-std=gnu99 -pedantic -Wall -Wextra -Wstrict-aliasing -g -O2")
|
2017-01-12 11:44:48 +00:00
|
|
|
elseif("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
|
2017-08-17 14:13:31 +00:00
|
|
|
set(CMAKE_C_FLAGS "-std=gnu99 -pedantic -Wall -Wextra -Wstrict-aliasing -g -O0")
|
2017-01-12 11:44:48 +00:00
|
|
|
endif()
|
|
|
|
|
2017-01-27 12:55:32 +00:00
|
|
|
string(TOLOWER ${CMAKE_BUILD_TYPE} OD_VERSION_BUILD)
|
|
|
|
|
2017-01-18 12:00:33 +00:00
|
|
|
set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
|
|
|
|
find_package(Threads REQUIRED)
|
|
|
|
|
2017-01-12 11:44:48 +00:00
|
|
|
add_custom_target(build_libs)
|
2017-02-06 13:53:17 +00:00
|
|
|
set(od_libraries "rt")
|
2017-01-12 11:44:48 +00:00
|
|
|
|
2018-06-06 15:11:56 +00:00
|
|
|
# debian build
|
|
|
|
option(BUILD_DEBIAN "Enable Debian Build" OFF)
|
|
|
|
if (BUILD_DEBIAN)
|
|
|
|
include(BuildDebian)
|
|
|
|
endif()
|
2017-01-12 11:44:48 +00:00
|
|
|
|
2017-03-31 14:17:17 +00:00
|
|
|
# openssl
|
2018-06-06 15:11:56 +00:00
|
|
|
find_package(OpenSSL REQUIRED)
|
2017-03-31 14:17:17 +00:00
|
|
|
if (NOT OPENSSL_FOUND)
|
|
|
|
endif()
|
2018-06-06 15:11:56 +00:00
|
|
|
include_directories(${OPENSSL_INCLUDE_DIR})
|
|
|
|
|
|
|
|
# machinarium
|
|
|
|
include(BuildMachinarium)
|
|
|
|
build_machinarium()
|
|
|
|
set(od_libraries ${od_libraries} ${MACHINARIUM_LIBRARIES} ${OPENSSL_LIBRARIES} "dl")
|
|
|
|
include_directories(${MACHINARIUM_INCLUDE_DIRS})
|
2017-03-31 14:17:17 +00:00
|
|
|
|
2018-08-23 13:24:07 +00:00
|
|
|
# kiwi
|
|
|
|
include(BuildKiwi)
|
|
|
|
build_kiwi()
|
|
|
|
set(od_libraries ${od_libraries} ${KIWI_LIBRARIES})
|
|
|
|
include_directories(${KIWI_INCLUDE_DIRS})
|
2017-01-12 11:44:48 +00:00
|
|
|
|
|
|
|
message (STATUS "")
|
2018-03-12 14:03:15 +00:00
|
|
|
message (STATUS "Odyssey (version: ${OD_VERSION_GIT} ${OD_VERSION_BUILD})")
|
2017-01-12 11:44:48 +00:00
|
|
|
message (STATUS "")
|
2018-06-06 15:11:56 +00:00
|
|
|
message (STATUS "BUILD_DEBIAN: ${BUILD_DEBIAN}")
|
|
|
|
message (STATUS "CMAKE_BUILD_TYPE: ${CMAKE_BUILD_TYPE}")
|
2018-06-07 11:43:06 +00:00
|
|
|
message (STATUS "OPENSSL_VERSION: ${OPENSSL_VERSION}")
|
2018-06-06 15:11:56 +00:00
|
|
|
message (STATUS "OPENSSL_ROOT_DIR: ${OPENSSL_ROOT_DIR}")
|
|
|
|
message (STATUS "OPENSSL_INCLUDE_DIR: ${OPENSSL_INCLUDE_DIR}")
|
2017-08-21 14:32:08 +00:00
|
|
|
message (STATUS "")
|
2017-08-21 14:50:22 +00:00
|
|
|
|
2018-08-23 13:24:07 +00:00
|
|
|
#add_subdirectory(sources)
|
|
|
|
#add_subdirectory(stress)
|
2018-04-04 13:36:11 +00:00
|
|
|
add_subdirectory(test)
|