90 lines
1.6 KiB
CMake
90 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.h
|
|
cc/main.cc
|
|
cc/mapmodel.cc
|
|
cc/mapprops.cc
|
|
cc/mapview.cc
|
|
cc/menu.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
|