diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,6 +11,7 @@ find_package(ECM 5.14.0 REQUIRED NO_MODULE) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH}) +set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake/) include(KDECompilerSettings NO_POLICY_SCOPE) include(GenerateExportHeader) @@ -28,6 +29,9 @@ find_package(KF5 REQUIRED COMPONENTS ItemModels ThreadWeaver TextEditor I18n) find_package(KDevPlatform ${KDEVPLATFORM_VERSION} REQUIRED) +find_package(ASTRedux MODULE) +set_package_properties(ASTRedux PROPERTIES TYPE REQUIRED) + if (CMAKE_CXX_COMPILER_ID MATCHES "Clang") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wdocumentation") endif() @@ -48,8 +52,6 @@ # ${CMAKE_CURRENT_BINARY_DIR}/parser ) -link_directories(${AST_REDUX_LIBDIR}) - set(kdevrustlanguagesupport_PART_SRCS rustlanguagesupport.cpp rustparsejob.cpp @@ -83,7 +85,7 @@ # kdevrustparser # kdevrustduchain # kdevrustcompletion - ast_redux + ${ASTRedux_LIBRARY} ) install(FILES kdevrustsupport.categories DESTINATION ${KDE_INSTALL_CONFDIR}) diff --git a/README.md b/README.md --- a/README.md +++ b/README.md @@ -1,4 +1,23 @@ -Rust Language Support plugin -============================ +# Rust Language Support plugin This package is a WIP to provide language support for Rust. + +## Compiling + +### Get the ast-redux Rust library + +``` +git clone ssh://git@git.kde.org/scratch/egospodinova/ast-redux +cargo build +``` + +This should create a folder called *target/debug*. + +### Build kdev-rust + +``` +export CMAKE_PREFIX_PATH=/path/to/ast-redux/target/debug:$CMAKE_PREFIX_PATH +mkdir build +cmake .. +make +``` diff --git a/cmake/FindASTRedux.cmake b/cmake/FindASTRedux.cmake new file mode 100644 --- /dev/null +++ b/cmake/FindASTRedux.cmake @@ -0,0 +1,10 @@ +include(FindPackageHandleStandardArgs) + +find_library(ASTRedux_LIBRARY NAMES ast-redux) + +find_package_handle_standard_args(ASTRedux DEFAULT_MSG ASTRedux_LIBRARY) + +# Set package properties if FeatureSummary was included +if (COMMAND set_package_properties) + set_package_properties(ASTRedux PROPERTIES DESCRIPTION "ast-redux - a Rust library") +endif()