2022-03-15 15:34:38 -04:00
|
|
|
project(Novus)
|
|
|
|
|
2022-03-16 00:31:24 -04:00
|
|
|
set(CMAKE_AUTOMOC ON)
|
|
|
|
|
|
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
|
|
|
|
|
|
find_package(Qt5 COMPONENTS Core Widgets CONFIG REQUIRED)
|
|
|
|
|
2022-03-15 15:34:38 -04:00
|
|
|
add_subdirectory(libxiv)
|
|
|
|
|
2022-03-27 21:49:54 -04:00
|
|
|
include(FetchContent)
|
|
|
|
|
|
|
|
find_package(fmt QUIET)
|
|
|
|
|
|
|
|
if(TARGET fmt::fmt)
|
|
|
|
message("Using system library for fmt")
|
|
|
|
|
|
|
|
set(LIBRARIES fmt::fmt ${LIBRARIES})
|
|
|
|
else()
|
|
|
|
message("Using built-in fmt")
|
|
|
|
|
|
|
|
FetchContent_Declare(
|
|
|
|
fmt
|
|
|
|
GIT_REPOSITORY https://github.com/fmtlib/fmt
|
|
|
|
GIT_TAG master
|
|
|
|
)
|
|
|
|
|
|
|
|
FetchContent_MakeAvailable(fmt)
|
|
|
|
|
|
|
|
set(LIBRARIES fmt::fmt ${LIBRARIES})
|
|
|
|
endif()
|
2022-03-15 15:34:38 -04:00
|
|
|
|
|
|
|
add_executable(novus
|
2022-03-16 00:31:24 -04:00
|
|
|
src/main.cpp
|
|
|
|
src/mainwindow.cpp)
|
2022-03-15 15:34:38 -04:00
|
|
|
target_include_directories(novus
|
|
|
|
PUBLIC
|
|
|
|
include)
|
2022-03-27 21:49:54 -04:00
|
|
|
target_link_libraries(novus PUBLIC libxiv ${LIBRARIES} Qt5::Core Qt5::Widgets)
|
|
|
|
|
|
|
|
install(TARGETS novus
|
|
|
|
DESTINATION "${INSTALL_BIN_PATH}")
|
|
|
|
|
|
|
|
if(WIN32)
|
|
|
|
get_target_property(QMAKE_EXE Qt5::qmake IMPORTED_LOCATION)
|
|
|
|
get_filename_component(QT_BIN_DIR "${QMAKE_EXE}" DIRECTORY)
|
|
|
|
|
|
|
|
find_program(WINDEPLOYQT_ENV_SETUP qtenv2.bat HINTS "${QT_BIN_DIR}")
|
|
|
|
find_program(WINDEPLOYQT_EXECUTABLE windeployqt HINTS "${QT_BIN_DIR}")
|
|
|
|
|
|
|
|
# Run windeployqt immediately after build
|
|
|
|
add_custom_command(TARGET novus
|
|
|
|
POST_BUILD
|
|
|
|
COMMAND "${WINDEPLOYQT_ENV_SETUP}" && "${WINDEPLOYQT_EXECUTABLE}" \"$<TARGET_FILE:novus>\"
|
|
|
|
)
|
|
|
|
endif()
|