cmake_minimum_required(VERSION 3.0.2-1)

project(simple-netaid)

message("CMAKE_SYSTEM_NAME: ${CMAKE_SYSTEM_NAME}")

set(CMAKE_C_COMPILER_INIT gcc)
set_source_files_properties(backend_src/*.c PROPERTIES LANGUAGE C )

set(CMAKE_CXX_COMPILER_INIT g++)
set_source_files_properties(gtk/*.cpp PROPERTIES LANGUAGE CXX_STANDARD11 )

set(CMAKE_INSTALL_PREFIX /usr)

set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/ModulesCMake")

set(CMAKE_INSTALL_PREFIX /usr)

include(GNUInstallDirs)
# set arch-specific include dir
set(CMAKE_INSTALL_INCLUDEDIR "include/${CMAKE_LIBRARY_ARCHITECTURE}")
set(CMAKE_INSTALL_LIBDIR "usr/lib/${DEB_HOST_MULTIARCH}")

# The -pthread flag is more portable than -lpthread 
set(CMAKE_C_FLAGS       "-Wall -g -o -lm -liw -pthread -I/backend_src" )
set(CMAKE_C_FLAGS_DEBUG "-Wall -g -o -lm -liw -pthread -I/backend_src" )

set(CMAKE_CXX_FLAGS       "-Wall -g -o -lm -liw  -Wc++0x-compat -std=gnu++11 -I/backend_src" )
set(CMAKE_CXX_FLAGS_DEBUG "-Wall -g -o -lm -liw  -Wc++0x-compat -std=gnu++11 -I/backend_src" )

find_package(PkgConfig REQUIRED)
pkg_check_modules(GLIBMM REQUIRED glibmm-2.4)
pkg_check_modules(GTKMM  REQUIRED gtkmm-2.4)

list(APPEND DIR_LIST backend_src include ${GTKMM_INCLUDE_DIRS})
list(APPEND LINK_LIST  ${GTKMM_LIBRARY_DIRS})
list(APPEND CFLAG_LIST ${GTKMM_CFLAGS_OTHER})

include_directories(${DIR_LIST})

add_subdirectory(backend_src)
add_subdirectory (gtk)

link_directories(${LINK_LIST})

# Add other flags to the compiler
add_definitions(${CFLAG_LIST})

set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/../)
set(CMAKE_BUILD_TYPE debug)

add_executable(${PROJECT_NAME} main.cpp)
target_link_libraries(${PROJECT_NAME} netaid netaid-gtk ${GLIBMM_LIBRARIES} ${GTKMM_LIBRARIES})
