Maraiah/tycho/CMakeLists.txt

92 lines
1.6 KiB
CMake

cmake_minimum_required(VERSION 3.14)
cmake_policy(SET CMP0046 NEW)
cmake_policy(SET CMP0063 NEW)
cmake_policy(SET CMP0071 NEW)
project(maraiah-tycho-hermes CXX)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
if(NOT MSVC)
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Werror")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti")
endif()
find_package(
Qt5 5.6.0
CONFIG
REQUIRED
COMPONENTS Core Widgets
)
add_library(
maraiah-tycho-hermes
STATIC
$ENV{OUT_DIR}/bindings.cc
$ENV{OUT_DIR}/bindings.h
cc/interface.cc
cc/interface.h
cc/main.cc
cc/mapmodel.cc
cc/mapprops.cc
cc/mapview.cc
cc/menu.cc
cc/paint.cc
cc/project.cc
cc/tycho.h
cc/utility.cc
resources/icons.qrc
resources/images.qrc
ui/about.ui
ui/license.ui
ui/mapprops.ui
ui/menu.ui
ui/points.ui
ui/project.ui
)
set_target_properties(
maraiah-tycho-hermes
PROPERTIES
CXX_STANDARD 17
CXX_STANDARD_REQUIRED ON
)
target_include_directories(
maraiah-tycho-hermes
PUBLIC
$ENV{OUT_DIR}
cc
)
target_link_libraries(
maraiah-tycho-hermes
Qt5::Core
Qt5::Widgets
)
target_compile_definitions(
maraiah-tycho-hermes
PUBLIC
-DQT_DEPRECATED_WARNINGS
-DQT_STRICT_ITERATORS
-DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT
)
file(
GENERATE
OUTPUT link.txt
CONTENT
"$<TARGET_PROPERTY:Qt5::Core,IMPORTED_LOCATION_RELEASE>
$<TARGET_PROPERTY:Qt5::Widgets,IMPORTED_LOCATION_RELEASE>
$<TARGET_PROPERTY:Qt5::Gui,IMPORTED_LOCATION_RELEASE>"
)
install(TARGETS maraiah-tycho-hermes)
install(FILES ${CMAKE_BINARY_DIR}/link.txt TYPE SYSCONF)
## EOF