cmake_minimum_required(VERSION 3.14) project(maraiah-tycho CXX) set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON) set(CMAKE_AUTOUIC ON) set(CMAKE_INCLUDE_CURRENT_DIR ON) set(THREADS_PREFER_PTHREAD_FLAG ON) set(RS_DIR "${CMAKE_BINARY_DIR}/rslib") set(RS_OUT "${CMAKE_BINARY_DIR}") set(RS_LIB "${RS_OUT}/libtycho.a") set(CMAKE_C_FLAGS_DEBUGOPT "-O2 -g") set(CMAKE_CXX_FLAGS_DEBUGOPT "-O2 -g") find_package(Threads REQUIRED) find_package(Qt5Widgets CONFIG REQUIRED) add_custom_target( maraiah-tycho-lib ALL BYPRODUCTS "${RS_LIB}" COMMAND cargo build -p maraiah-tycho -Z unstable-options --target-dir "${RS_DIR}" --out-dir "${RS_OUT}" WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}" COMMENT "Building Rust library" ) add_executable( maraiah-tycho WIN32 source/tycho-qt/headers/mapprops.h source/tycho-qt/headers/menu.h source/tycho-qt/headers/tycho.h source/tycho-qt/resources/resources.qrc source/tycho-qt/source/main.cc source/tycho-qt/source/mapprops.cc source/tycho-qt/source/menu.cc source/tycho-qt/ui/about.ui source/tycho-qt/ui/mapprops.ui source/tycho-qt/ui/mapview.ui source/tycho-qt/ui/menu.ui source/tycho-qt/ui/points.ui ) set_target_properties( maraiah-tycho PROPERTIES CXX_STANDARD 17 CXX_STANDARD_REQUIRED ON ) target_include_directories(maraiah-tycho PUBLIC source/tycho-qt/headers) target_link_libraries( maraiah-tycho "${RS_LIB}" Threads::Threads ${CMAKE_DL_LIBS} Qt5::Widgets ) ## EOF