51 lines
1.5 KiB
CMake
51 lines
1.5 KiB
CMake
cmake_minimum_required(VERSION 3.14)
|
|
|
|
project(eismuliplexer-qt)
|
|
|
|
set(CMAKE_PROJECT_VERSION_MAJOR 0)
|
|
set(CMAKE_PROJECT_VERSION_MINOR 9)
|
|
set(CMAKE_PROJECT_VERSION_PATCH 0)
|
|
|
|
add_compile_definitions(VERSION_MAJOR=${CMAKE_PROJECT_VERSION_MAJOR})
|
|
add_compile_definitions(VERSION_MINOR=${CMAKE_PROJECT_VERSION_MINOR})
|
|
add_compile_definitions(VERSION_PATCH=${CMAKE_PROJECT_VERSION_PATCH})
|
|
|
|
if(CMAKE_HOST_SYSTEM_NAME MATCHES "Windows")
|
|
message(FATAL_ERROR "Windows builds have to be cross compiled on UNIX")
|
|
endif()
|
|
|
|
message("Platform " ${CMAKE_SYSTEM_NAME})
|
|
if(WIN32)
|
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/scripts/release-win.sh ${CMAKE_CURRENT_BINARY_DIR}/release.sh @ONLY)
|
|
add_custom_target(package
|
|
COMMAND ${CMAKE_CURRENT_BINARY_DIR}/release.sh
|
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
|
COMMENT "Createing release archive"
|
|
VERBATIM)
|
|
endif(WIN32)
|
|
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
|
|
find_package(PkgConfig REQUIRED)
|
|
pkg_check_modules(EISMULIPLEXER REQUIRED eismuliplexer)
|
|
find_package(Qt6 REQUIRED COMPONENTS Widgets)
|
|
find_package(Qt6 REQUIRED COMPONENTS Core)
|
|
|
|
set(CMAKE_AUTOMOC ON)
|
|
set(CMAKE_AUTOUIC ON)
|
|
|
|
add_executable(${PROJECT_NAME}
|
|
main.cpp
|
|
channelwidget.cpp
|
|
channelwidget.h
|
|
mainwindow.h
|
|
mainwindow.cpp
|
|
mainwindow.ui
|
|
multiplexer.h
|
|
multiplexer.cpp
|
|
)
|
|
target_compile_options(${PROJECT_NAME} PUBLIC "-Wall")
|
|
target_link_libraries(${PROJECT_NAME} PRIVATE Qt6::Widgets Qt6::Core ${EISMULIPLEXER_LIBRARIES})
|
|
#target_include_directories(${PROJECT_NAME} PUBLIC ${EISMULIPLEXER_INCLUDE_DIRS})
|