add_subdirectory(QR-Code-generator) add_subdirectory(QR-Code-scanner) add_subdirectory(daemon) add_subdirectory(libwalletqt) add_subdirectory(model) add_subdirectory(zxcvbn-c) qt5_add_resources(QML_QRC ../qml.qrc) # Compile source files (.h/.cpp) file(GLOB SOURCE_FILES "*.h" "*.cpp" "main/*.h" "main/*.cpp" "libwalletqt/WalletManager.cpp" "libwalletqt/Wallet.cpp" "libwalletqt/PendingTransaction.cpp" "libwalletqt/TransactionHistory.cpp" "libwalletqt/TransactionInfo.cpp" "libwalletqt/QRCodeImageProvider.cpp" QR "QR-Code-generator/BitBuffer.cpp" "QR-Code-generator/QrCode.cpp" "QR-Code-generator/QrSegment.cpp" "libwalletqt/AddressBook.cpp" "libwalletqt/Subaddress.cpp" "libwalletqt/SubaddressAccount.cpp" "libwalletqt/UnsignedTransaction.cpp" "libwalletqt/WalletManager.h" "libwalletqt/Wallet.h" "libwalletqt/PendingTransaction.h" "libwalletqt/TransactionHistory.h" "libwalletqt/TransactionInfo.h" "libwalletqt/QRCodeImageProvider.h" "QR-Code-generator/BitBuffer.h" "QR-Code-generator/QrCode.h" "QR-Code-generator/QrSegment.h" "libwalletqt/Transfer.h" "libwalletqt/AddressBook.h" "libwalletqt/Subaddress.h" "libwalletqt/SubaddressAccount.h" "libwalletqt/UnsignedTransaction.h" "daemon/*.h" "daemon/*.cpp" "model/*.h" "model/*.cpp" "qt/*.h" "qt/*.cpp" ) if(WITH_SCANNER) file(GLOB QR_CODE_FILES "QR-Code-generator/*.h" "QR-Code-generator/*.cpp" "QR-Code-scanner/*.h" "QR-Code-scanner/*.cpp" ) endif() message(STATUS ${QML_QRC}) add_executable(monero-gui main/main.cpp ${SOURCE_FILES} ${QR_CODE_FILES} ${QML_QRC} ) # OpenGL target_include_directories(monero-gui PUBLIC ${OPENGL_INCLUDE_DIR}) message(STATUS "OpenGL: include dir at ${OPENGL_INCLUDE_DIR}") message(STATUS "OpenGL: libraries at ${OPENGL_LIBRARIES}") target_include_directories(monero-gui PUBLIC ${Qt5Gui_PRIVATE_INCLUDE_DIRS}) file(GLOB_RECURSE SRC_SOURCES *.cpp) file(GLOB_RECURSE SRC_HEADERS *.h) target_include_directories(monero-gui PUBLIC ${CMAKE_SOURCE_DIR}/monero/include ${CMAKE_SOURCE_DIR}/monero/src ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/daemon ${CMAKE_CURRENT_SOURCE_DIR}/libwalletqt ${CMAKE_CURRENT_SOURCE_DIR}/model ${CMAKE_CURRENT_SOURCE_DIR}/QR-Code-generator ${CMAKE_CURRENT_SOURCE_DIR}/QR-Code-scanner ${CMAKE_CURRENT_SOURCE_DIR}/daemon/zxcvbn-c ${LibUSB_INCLUDE_DIRS} ${HIDAPI_INCLUDE_DIRS} ${X11_INCLUDE_DIR} ${Boost_INCLUDE_DIRS} ${OPENSSL_INCLUDE_DIR} ${ZBAR_INCLUDE_DIR} ) target_compile_definitions(monero-gui PUBLIC ${Qt5Widgets_DEFINITIONS} ${Qt5Qml_DEFINITIONS} ) set(CMAKE_CXX_FLAGS "${Qt5Widgets_EXECUTABLE_COMPILE_FLAGS}") set(CMAKE_CXX_FLAGS "-std=c++0x") if(X11_FOUND) target_link_libraries(monero-gui ${X11_LIBRARIES} pthread dl Xt xcb X11) endif() if(DEVICE_TREZOR_READY) target_link_libraries(monero-gui ${TREZOR_DEP_LIBS}) endif() target_link_libraries(monero-gui ${ZXCVBN_LIBRARY} ${CMAKE_BINARY_DIR}/lib/libwallet_merged.a ${LMDB_LIBRARY} ${CMAKE_BINARY_DIR}/monero/contrib/epee/src/libepee.a ${CMAKE_BINARY_DIR}/monero/external/unbound/libunbound.a ${SODIUM_LIBRARY} ${CMAKE_BINARY_DIR}/monero/external/easylogging++/libeasylogging.a ${CMAKE_BINARY_DIR}/monero/src/blockchain_db/libblockchain_db.a ${CMAKE_BINARY_DIR}/monero/external/randomx/librandomx.a ${CMAKE_BINARY_DIR}/monero/src/hardforks/libhardforks.a ${Boost_LIBRARIES} ${OPENSSL_LIBRARIES} ${CMAKE_DL_LIBS} ${LibUSB_LIBRARIES} ${HIDAPI_LIBRARIES} Qt5::Core Qt5::Quick Qt5::Widgets Qt5::Gui Qt5::Network Qt5::Qml Qt5::Multimedia Qt5::Xml Qt5::XmlPatterns Qt5::Svg ) if(WITH_SCANNER) target_link_libraries(monero-gui ${ZBAR_LIBRARIES} jpeg v4l2 v4lconvert rt ) endif() install(TARGETS monero-gui DESTINATION ${CMAKE_INSTALL_PREFIX} )