Maraiah/CMakeLists.txt

62 lines
1.5 KiB
CMake

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