WebTop

WebTop builder CMakeLists.txt

1.6 KB 58 lines Raw ↗ GitHub ↗

cmake_minimum_required(VERSION 3.20)project(WebTopBuilder LANGUAGES CXX)set(CMAKE_CXX_STANDARD 17)set(CMAKE_CXX_STANDARD_REQUIRED ON)set(CMAKE_AUTOMOC ON)set(CMAKE_AUTORCC ON)set(QT_COMPONENTS Widgets Concurrent)find_package(Qt6 COMPONENTS ${QT_COMPONENTS} REQUIRED)set(CORE_DIR "${CMAKE_SOURCE_DIR}/../core")set(CORE_LIB "${CORE_DIR}/target/release/${CMAKE_STATIC_LIBRARY_PREFIX}webtop_core${CMAKE_STATIC_LIBRARY_SUFFIX}")add_custom_command(    OUTPUT "${CORE_LIB}"    COMMAND cargo build --release    WORKING_DIRECTORY "${CORE_DIR}"    COMMENT "Building Rust core (webtop_core)"    VERBATIM)add_custom_target(webtop_core_lib DEPENDS "${CORE_LIB}")add_executable(webtop_builder WIN32    src/main.cpp    src/main_window.cpp)target_include_directories(webtop_builder PRIVATE src)target_link_libraries(webtop_builder PRIVATE    Qt6::Widgets    Qt6::Concurrent    ws2_32    userenv    ntdll    bcrypt    "${CORE_LIB}")add_dependencies(webtop_builder webtop_core_lib)set_target_properties(webtop_builder PROPERTIES    OUTPUT_NAME "webtop_builder"    LINK_FLAGS "/SUBSYSTEM:WINDOWS")install(TARGETS webtop_builder DESTINATION bin)set(POST_BUILD_DIST "${CMAKE_SOURCE_DIR}/../dist" CACHE PATH "dist dir")add_custom_command(TARGET webtop_builder POST_BUILD    COMMAND ${CMAKE_COMMAND} -E copy_directory        "${POST_BUILD_DIST}" "$<TARGET_FILE_DIR:webtop_builder>/dist"    COMMAND ${CMAKE_COMMAND} -E copy        "$<TARGET_FILE_DIR:webtop_builder>/../core/target/release/webtop_cli.exe"        "$<TARGET_FILE_DIR:webtop_builder>/webtop_cli.exe"    COMMENT "Bundling dist + CLI next to builder")