summaryrefslogtreecommitdiff
path: root/tools/CMakeLists.txt
blob: 58a2cf58731018c412c19814a396ce0907ae57c4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
cmake_minimum_required(VERSION 2.8.3)

include(ExternalProject)

set(intergen_SOURCES "${CMAKE_CURRENT_LIST_DIR}/intergen")
set(intergen_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/intergen")
set(intergen_INSTALL_DIR "${CMAKE_CURRENT_BINARY_DIR}/intergen")
set(intergen_CMAKE_ARGS -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} -DCMAKE_INSTALL_PREFIX=${intergen_INSTALL_DIR} -DCMAKE_CXX_FLAGS="-std=gnu++0x")


ExternalProject_Add(intergen
                    SOURCE_DIR ${intergen_SOURCES}
                    PREFIX ${intergen_PREFIX}
                    INSTALL_DIR ${intergen_INSTALL_DIR}
                    CMAKE_ARGS ${intergen_CMAKE_ARGS})

# This will force intergen make call every time core is built
# When intergen source didn't change no files are updated
# It is required to automatically rebuild interfaces if intergen was changed
ExternalProject_Add_Step(intergen forcebuild
                         COMMAND ${CMAKE_COMMAND} -E echo "Force intergen build"
                         DEPENDEES update DEPENDERS build
                         ALWAYS 1)

if(BUILD_TESTS)
  add_subdirectory(intergen/test)
endif()  
add_subdirectory(policy_table_validator)