+++ /dev/null
-cmake_minimum_required(VERSION 2.8.12)
-project(ntsimulator)
-set(PROJECT_DESC "Network Topology Simulator using sysrepo and netopeer2")
-include(GNUInstallDirs)
-
-# setup version
-set(NTSIMULATOR_MAJOR_VERSION 1)
-set(NTSIMULATOR_MINOR_VERSION 1)
-set(NTSIMULATOR_PATCH_VERSION 1)
-set(NTSIMULATOR_VERSION ${NTSIMULATOR_MAJOR_VERSION}.${NTSIMULATOR_MINOR_VERSION}.${NTSIMULATOR_PATCH_VERSION})
-set(NTSIMULATOR_SOVERSION ${NTSIMULATOR_MAJOR_VERSION}.${NTSIMULATOR_MINOR_VERSION})
-
-# osx specific
-set(CMAKE_MACOSX_RPATH TRUE)
-
-# set default build type if not specified by user
-if(NOT CMAKE_BUILD_TYPE)
- set(CMAKE_BUILD_TYPE debug)
-endif()
-string(TOLOWER "${CMAKE_BUILD_TYPE}" CMAKE_BUILD_TYPE_LOWER)
-
-set(CMAKE_EXPORT_COMPILE_COMMANDS 1)
-
-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wpedantic -std=gnu11 -Wno-language-extension-token")
-if(CMAKE_COMPILER_IS_GNUCC)
- # disable strict aliasing in GCC, since it produces false alarams in libev
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-strict-aliasing")
-endif()
-set(CMAKE_C_FLAGS_RELEASE "-DNDEBUG -O2")
-set(CMAKE_C_FLAGS_DEBUG "-g -O0")
-
-if(NOT UNIX)
- message(FATAL_ERROR "Only Unix-like systems are supported.")
-endif()
-
-if(NOT DEFINED IS_DEVELOPER_CONFIGURATION)
- if(CMAKE_BUILD_TYPE_LOWER MATCHES "debug" AND NOT CMAKE_BUILD_TYPE_LOWER MATCHES "^rel")
- set(IS_DEVELOPER_CONFIGURATION true)
- else()
- set(IS_DEVELOPER_CONFIGURATION false)
- endif()
-endif()
-
-# location of system repository
-if(${IS_DEVELOPER_CONFIGURATION})
- set(REPOSITORY_LOC "${CMAKE_BINARY_DIR}/repository" CACHE PATH "System repository location, contains configuration schema and data files.")
-else()
- set(REPOSITORY_LOC "/etc/sysrepo" CACHE PATH "System repository location, contains configuration schema and data files.")
-endif()
-
-# include custom Modules
-set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/CMakeModules/")
-include_directories(${CMAKE_CURRENT_BINARY_DIR})
-include_directories("${CMAKE_CURRENT_SOURCE_DIR}/inc")
-
-# find required libraries
-find_package(SYSREPO REQUIRED)
-include_directories(${SYSREPO_INCLUDE_DIR})
-
-# add subdirectories
-add_subdirectory(src)
-
-# find sysrepoctl
-if (NOT SYSREPOCTL_EXECUTABLE)
- find_program(SYSREPOCTL_EXECUTABLE sysrepoctl)
-endif()
-if (NOT SYSREPOCTL_EXECUTABLE)
- message(FATAL_ERROR "Unable to find sysrepoctl, set SYSREPOCTL_EXECUTABLE manually.")
-endif()
-
-# find sysrepocfg
-if (NOT SYSREPOCFG_EXECUTABLE)
- find_program(SYSREPOCFG_EXECUTABLE sysrepocfg)
-endif()
-if (NOT SYSREPOCFG_EXECUTABLE)
- message(FATAL_ERROR "Unable to find sysrepocfg, set SYSREPOCFG_EXECUTABLE manually.")
-endif()
-
-# Command line options to be passed to `sysrepoctl` when working with modules
-# which should only be accessible by an administrator
-if (NOT SYSREPOCTL_ROOT_PERMS)
- set(SYSREPOCTL_ROOT_PERMS "-o root:root -p 600")
-endif()
-
-install(CODE "
- set(ENV{SYSREPOCTL} ${SYSREPOCTL_EXECUTABLE})
- set(ENV{SYSREPOCFG} ${SYSREPOCFG_EXECUTABLE})
- set(ENV{SYSREPOCTL_ROOT_PERMS} SYSREPOCTL_ROOT_PERMS)
- execute_process(COMMAND ${PROJECT_BINARY_DIR}/model-install.sh)")
-
-
-