2017-02-02 3 views

答えて

2

はい、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()で検索してください。

+0

ありがとうございました。それは動作します –

+0

また、私はexecute_process()を使ってこれを行う方法を教えてもらえますか? –

+0

短い例は '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

関連する問題