[cmake] add cmake building

This commit is contained in:
Jan Grewe 2021-02-15 18:15:50 +01:00
parent f83fb911dd
commit 80b23bd9c9
2 changed files with 92 additions and 0 deletions

62
CMakeLists.txt Normal file
View File

@ -0,0 +1,62 @@
message ("-------------------------------------------")
message ("- setting up nixview build -")
message ("-------------------------------------------")
cmake_minimum_required ( VERSION 3.7 )
set ( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake" )
project( recorder VERSION 0.1.0 LANGUAGES CXX )
configure_file( recorder_config.h.in rutorial_config.h )
include_directories (${CMAKE_BINARY_DIR})
set( CMAKE_CXX_STANDARD 11 )
set( CMAKE_CXX_STANDARD_REQUIRED ON )
########################################
# Qt5
message ("=> finding qt modules ...")
find_package (Qt5 COMPONENTS Widgets Core Gui REQUIRED)
find_package (Qt5PrintSupport QUIET)
include_directories (BEFORE
${Qt5Core_INCLUDE_DIRS}
${Qt5Widgets_INCLUDE_DIRS}
${Qt5Gui_INCLUDE_DIRS}
${Qt5PrintSupport_INCLUDE_DIRS})
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)
set (CMAKE_INCLUDE_CURRENT_DIR ON)
add_definitions (${Qt5Core_DEFINITIONS})
file (GLOB RECORDER_RES *.qrc)
QT5_ADD_RESOURCES (RECORDER_RES_SOURCES ${RECORDER_RES})
########################################
# NIX
message ("=> finding nix ...")
find_package (NIX REQUIRED)
include_directories (AFTER ${NIX_INCLUDE_DIR})
#######################################
# Pylon
include_directories ( AFTER "/opt/pylon5/include" )
file (GLOB PYLON_LIBRARIES "/opt/pylon5/lib64/*.so")
file (GLOB RECORDER_SOURCES *.cpp)
file (GLOB RECORDER_INCLUDES *.hpp)
add_executable ( recorder ${RECORDER_SOURCES} ${RECORDER_INCLUDES} ${RECORDER_RES_SOURCES} )
target_include_directories ( recorder PUBLIC "${PROJECT_BINARY_DIR}" )
target_link_libraries ( recorder Qt5::PrintSupport Qt5::Core Qt5::Widgets Qt5::Gui ${NIX_LIBRARIES} ${PYLON_LIBRARIES})
# QT5_WRAP_UI (NIXVIEW_UI_HDRS ${NIXVIEW_UI})

30
cmake/FindNIX.cmake Normal file
View File

@ -0,0 +1,30 @@
# - Try to find NIX
# Once done this will define
# NIX_FOUND - System has Nix
# NIX_INCLUDE_DIRS - The Nix include directories
# NIX_LIBRARIES - The libraries needed to use Nix
find_path(NIX_INCLUDE_DIR nix.hpp
HINTS $ENV{NIX_ROOT}/include
/usr/local/include
/usr/include
PATH_SUFFIXES nix)
find_library(NIX_LIBRARY NAMES nix libnix
HINTS ${NIX_INCLUDE_DIR}/../lib
HINTS ${NIX_INCLUDE_DIR}/../build
/usr/local/lib
/usr/lib)
set(NIX_LIBRARIES ${NIX_LIBRARY})
set(NIX_INCLUDE_DIRS ${NIX_INCLUDE_DIR})
include(FindPackageHandleStandardArgs)
# handle the QUIETLY and REQUIRED arguments and set NIX_FOUND to TRUE
# if all listed variables are TRUE
find_package_handle_standard_args(Nix DEFAULT_MSG
NIX_LIBRARY NIX_INCLUDE_DIR)
mark_as_advanced(NIX_INCLUDE_DIR NIX_LIBRARY)