0
私のプロジェクトでCMakeを使用してscala-library.jarの場所を探したいと思います。これは何らかの方法でexecute_process関数を使用してスカラーコードを実行し、位置を取得することができますか?CMakeを使用してscala-library.jarを見つける
私のプロジェクトでCMakeを使用してscala-library.jarの場所を探したいと思います。これは何らかの方法でexecute_process関数を使用してスカラーコードを実行し、位置を取得することができますか?CMakeを使用してscala-library.jarを見つける
はい、execute_process()
を使用してシェルに呼び出してscala-library.jar
を見つけることができます。また、CMakeのFindJava.cmake
モジュールとUseJava.cmake
モジュールを使用することもできます。
裸の骨CMakeLists.txt
のようなものになります、私のDebianシステム上(apt-get install default-jre scala
を行った後に)実際に
cmake_minimum_required(VERSION 3.0)
find_package(Java COMPONENTS Runtime)
if(JAVA_FOUND)
include(UseJava)
else()
message(WARNING "Couldn't find Java")
endif()
find_jar(SCALA_JAR "scala-library")
message("scala-library.jar is at ${SCALA_JAR}")
を私が取得:
$ cmake .
-- The C compiler identification is GNU 4.9.2
-- The CXX compiler identification is GNU 4.9.2
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Found Java: /usr/bin/java (found version "1.7.0.111")
scala-library.jar is at /usr/share/java/scala-library.jar
-- Configuring done
-- Generating done
-- Build files have been written to: /home/nega/foo
$
はどのように見てUseJava上のドキュメントを読んで具体的にはfind_jar()
で検索してください。
ありがとうございました。それは動作します –
また、私はexecute_process()を使ってこれを行う方法を教えてもらえますか? –
短い例は 'execute_process(COMMAND find/usr/share -name scala-library.jar OUTPUT_VARIABLE SCALA_JAR)'です。 [execute_process()のドキュメント](https://cmake.org/cmake/help/v3.7/command/execute_process.html)を参照してください。これはかなり完成しています。 – nega