Skip to content
Snippets Groups Projects
CMakeLists.txt 1.39 KiB
Newer Older
Valerio Pastore's avatar
Valerio Pastore committed
cmake_minimum_required(VERSION 3.9)
project(Astri_Packet)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
Valerio Pastore's avatar
Valerio Pastore committed
set(CMAKE_CXX_EXTENSIONS OFF)
Valerio Pastore's avatar
Valerio Pastore committed
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall ")
Valerio Pastore's avatar
Valerio Pastore committed
option(ASTRIPACKET_BUILD_SHARED "Build astripacket as a shared library." OFF)
Valerio Pastore's avatar
Valerio Pastore committed

set(SOURCES
astri's avatar
astri committed
	src/Packet_Structure_Json.cpp
	src/Astri_MA_Generic.cpp
	src/Astri_Horn_Generic.cpp
Valerio Pastore's avatar
Valerio Pastore committed
)

Valerio Pastore's avatar
Valerio Pastore committed
# Target
Valerio Pastore's avatar
Valerio Pastore committed
if(ASTRIPACKET_BUILD_SHARED)
    message(STATUS "Build will generate a shared library. "
            "Use ASTRIPACKET_BUILD_SHARED=0 to perform a static build")
    set(ASTRIPACKET_LIBRARY_TYPE SHARED)
else()
    message(STATUS "Build will generate a static library.")
    set(ASTRIPACKET_LIBRARY_TYPE STATIC)
endif()
Valerio Pastore's avatar
Valerio Pastore committed

add_library(AstriPacket ${ASTRIPACKET_LIBRARY_TYPE} ${SOURCES} )
Valerio Pastore's avatar
Valerio Pastore committed

# deps
Valerio Pastore's avatar
Valerio Pastore committed
if(NOT TARGET fifo_map)
    add_subdirectory(deps/fifo_map EXCLUDE_FROM_ALL)
endif()

Valerio Pastore's avatar
Valerio Pastore committed
# include files
set(INC_DIR
Valerio Pastore's avatar
Valerio Pastore committed
	"${CMAKE_CURRENT_SOURCE_DIR}/include"
	"${CMAKE_CURRENT_SOURCE_DIR}/deps/Base-DAQ/include"
	"${CMAKE_CURRENT_SOURCE_DIR}/deps/fifo_map/src"
Valerio Pastore's avatar
Valerio Pastore committed
)
target_include_directories (AstriPacket PUBLIC ${INC_DIR})

# make install
Valerio Pastore's avatar
.  
Valerio Pastore committed
set(ASTRI_PACKETS_PATH "${CMAKE_INSTALL_PREFIX}/config/AstriPackets/" CACHE PATH "Astri Packets Path")
Valerio Pastore's avatar
Valerio Pastore committed
set(CONFIG_DIR "config")
Valerio Pastore's avatar
Valerio Pastore committed
install(
Valerio Pastore's avatar
Valerio Pastore committed
    DIRECTORY ${CONFIG_DIR}/
Valerio Pastore's avatar
.  
Valerio Pastore committed
    DESTINATION ${ASTRI_PACKETS_PATH}
Valerio Pastore's avatar
Valerio Pastore committed
    FILES_MATCHING PATTERN "*"
astri's avatar
astri committed
)
Valerio Pastore's avatar
Valerio Pastore committed

install(TARGETS AstriPacket DESTINATION "${CMAKE_INSTALL_PREFIX}/lib")